From: Razvan Becheriu Date: Wed, 22 May 2024 18:54:28 +0000 (+0300) Subject: [#2959] addressed comments X-Git-Tag: Kea-2.6.0~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6671e30bc6cab7c8acef0acbcc63e79e3585291b;p=thirdparty%2Fkea.git [#2959] addressed comments --- diff --git a/doc/examples/kea4/reservations.json b/doc/examples/kea4/reservations.json index 94d3541e2d..d54fd3ebad 100644 --- a/doc/examples/kea4/reservations.json +++ b/doc/examples/kea4/reservations.json @@ -48,10 +48,10 @@ // to the dynamic pool. Kea is able to handle this case, but it is not // recommended from a performance perspective, as Kea would not only need to // check if a given address is free, but also whether it is reserved. -// To avoid this check, one can set "reservations-out-of-pool", beside -// the "reservations-in-subnet". If a subnet does not have reservations at all, -// the reservation lookup can be skipped altogether by disabling -// "reservations-in-subnet". +// To avoid this check, one can set "reservations-out-of-pool" to true, beside +// the "reservations-in-subnet" which should be also set to true. If a subnet +// does not have reservations at all, the reservation lookup can be skipped +// altogether by setting "reservations-in-subnet" to false. // Note that the second reservation is for an address which is within the // range of the pool of the dynamically allocated address. The server will @@ -65,18 +65,20 @@ "interface": "eth0", // This directive tells Kea that reservations may be made both in-pool // and out-of-pool. For improved performance, you may move all reservations - // out of the dynamic pool and set "reservations-out-of-pool". + // out of the dynamic pool and set "reservations-out-of-pool" to true. // Kea will then be able to skip querying for host reservations when // assigning leases from dynamic pool. // Specify whether the server should look up global reservations. + // Defaults to false. "reservations-global": false, // Specify whether the server should look up in-subnet reservations. + // Defaults to true. "reservations-in-subnet": true, // Specify whether the server can assume that all reserved addresses - // are out-of-pool. + // are out-of-pool. Defaults to false. // Ignored when reservations-in-subnet is false. // If specified, it is inherited by "shared-networks" and // "subnet4" levels. diff --git a/doc/examples/kea6/reservations.json b/doc/examples/kea6/reservations.json index 4dd47908f1..b4cc36b048 100644 --- a/doc/examples/kea6/reservations.json +++ b/doc/examples/kea6/reservations.json @@ -47,18 +47,20 @@ // This directive tells Kea that reservations may be made both in-pool // and out-of-pool. For improved performance, you may move all reservations - // out of the dynamic pool and set "reservations-out-of-pool". + // out of the dynamic pool and set "reservations-out-of-pool" to true. // Kea will then be able to skip querying for host reservations when // assigning leases from dynamic pool. // Specify whether the server should look up global reservations. + // Defaults to false. "reservations-global": false, // Specify whether the server should look up in-subnet reservations. + // Defaults to true. "reservations-in-subnet": true, // Specify whether the server can assume that all reserved addresses - // are out-of-pool. + // are out-of-pool. Defaults to false. // Ignored when reservations-in-subnet is false. // If specified, it is inherited by "shared-networks" and // "subnet6" levels. diff --git a/doc/sphinx/arm/dhcp4-srv.rst b/doc/sphinx/arm/dhcp4-srv.rst index dcb083144d..209fb3dbe1 100644 --- a/doc/sphinx/arm/dhcp4-srv.rst +++ b/doc/sphinx/arm/dhcp4-srv.rst @@ -5324,19 +5324,19 @@ allocating or renewing a lease for the client. Configuration flags are: -- ``reservations-in-subnet`` - enables in-pool host reservation types. This - setting is the default value, and is the safest and most flexible. However, - as all checks are conducted, it is also the slowest. It does not check - against global reservations. - -- ``reservations-out-of-pool`` - allows only out-of-pool host reservations. - With this setting in place, the server assumes that all host reservations are - for addresses that do not belong to the dynamic pool. Therefore, it can skip - the reservation checks when dealing with in-pool addresses, thus improving - performance. Do not use this mode if any reservations use in-pool addresses. - Caution is advised when using this setting; Kea does not sanity-check the - reservations against ``reservations-out-of-pool`` and misconfiguration may - cause problems. +- ``reservations-in-subnet`` - when set to true, it enables in-pool host + reservation types. This setting is the default value, and is the safest and + most flexible. However, as all checks are conducted, it is also the slowest. + It does not check against global reservations. This flag defaults to true. + +- ``reservations-out-of-pool`` - when set to true, it allows only out-of-pool + host reservations. In this case the server assumes that all host reservations + are for addresses that do not belong to the dynamic pool. Therefore, it can + skip the reservation checks when dealing with in-pool addresses, thus + improving performance. Do not use this mode if any reservations use in-pool + addresses. Caution is advised when using this setting; Kea does not + sanity-check the reservations against ``reservations-out-of-pool`` and + misconfiguration may cause problems. This flag defaults to false. - ``reservations-global`` - allows global host reservations. With this setting in place, the server searches for reservations for a client among the defined @@ -5344,7 +5344,7 @@ Configuration flags are: reservation checks carried out in other modes, thus improving performance. Caution is advised when using this setting; Kea does not sanity-check the reservations when ``reservations-global`` is set, and misconfiguration may - cause problems. + cause problems. This flag defaults to false. Note: disabling all flags disables host reservation support. As there are no reservations, the server skips all checks. Any reservations defined are diff --git a/doc/sphinx/arm/dhcp6-srv.rst b/doc/sphinx/arm/dhcp6-srv.rst index 87e1becbf1..139d55a070 100644 --- a/doc/sphinx/arm/dhcp6-srv.rst +++ b/doc/sphinx/arm/dhcp6-srv.rst @@ -4622,19 +4622,19 @@ allocating or renewing a lease for the client. Configuration flags are: -- ``reservations-in-subnet`` - enables in-pool host reservation types. This - setting is the default value, and is the safest and most flexible. However, - as all checks are conducted, it is also the slowest. It does not check - against global reservations. - -- ``reservations-out-of-pool`` - allows only out-of-pool host reservations. - With this setting in place, the server assumes that all host reservations are - for addresses that do not belong to the dynamic pool. Therefore, it can skip - the reservation checks when dealing with in-pool addresses, thus improving - performance. Do not use this mode if any reservations use in-pool addresses. - Caution is advised when using this setting; Kea does not sanity-check the - reservations against ``reservations-out-of-pool`` and misconfiguration may - cause problems. +- ``reservations-in-subnet`` - when set to true, it enables in-pool host + reservation types. This setting is the default value, and is the safest and + most flexible. However, as all checks are conducted, it is also the slowest. + It does not check against global reservations. This flag defaults to true. + +- ``reservations-out-of-pool`` - when set to true, it allows only out-of-pool + host reservations. In this case the server assumes that all host reservations + are for addresses that do not belong to the dynamic pool. Therefore, it can + skip the reservation checks when dealing with in-pool addresses, thus + improving performance. Do not use this mode if any reservations use in-pool + addresses. Caution is advised when using this setting; Kea does not + sanity-check the reservations against ``reservations-out-of-pool`` and + misconfiguration may cause problems. This flag defaults to false. - ``reservations-global`` - allows global host reservations. With this setting in place, the server searches for reservations for a client among the defined @@ -4642,7 +4642,7 @@ Configuration flags are: reservation checks carried out in other modes, thus improving performance. Caution is advised when using this setting; Kea does not sanity-check the reservations when ``reservations-global`` is set, and misconfiguration may - cause problems. + cause problems. This flag defaults to false. Note: disabling all flags disables host reservation support. As there are no reservations, the server skips all checks. Any reservations defined are diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index 4befec409d..0b60e023ae 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 230 -#define YY_END_OF_BUFFER 231 +#define YY_NUM_RULES 224 +#define YY_END_OF_BUFFER 225 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,45 +700,45 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2291] = +static const flex_int16_t yy_accept[2259] = { 0, - 223, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 231, 229, 10, 11, 229, 1, 223, 220, 223, 223, - 229, 222, 221, 229, 229, 229, 229, 229, 216, 217, - 229, 229, 229, 218, 219, 5, 5, 5, 229, 229, - 229, 10, 11, 0, 0, 211, 0, 0, 0, 0, + 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 225, 223, 10, 11, 223, 1, 217, 214, 217, 217, + 223, 216, 215, 223, 223, 223, 223, 223, 210, 211, + 223, 223, 223, 212, 213, 5, 5, 5, 223, 223, + 223, 10, 11, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, - 223, 223, 0, 222, 223, 3, 2, 6, 0, 223, - 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 217, + 217, 0, 216, 217, 3, 2, 6, 0, 217, 0, + 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, + 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 0, + 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 207, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 213, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 226, 0, 225, 224, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 184, 0, 183, 0, 0, 108, 0, + 0, 0, 0, 0, 222, 220, 0, 219, 218, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, + 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -746,213 +746,210 @@ static const flex_int16_t yy_accept[2291] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 19, 0, 0, 0, 0, 0, 227, 224, 0, - 0, 0, 0, 0, 0, 0, 185, 0, 0, 187, + 0, 19, 0, 0, 0, 0, 0, 221, 218, 0, + 0, 0, 0, 0, 0, 0, 179, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 136, 0, + 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, + 0, 92, 0, 0, 0, 0, 0, 130, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, + 0, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 96, 0, 0, 42, 0, 0, + 0, 96, 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, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 35, 0, 0, 39, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, + 35, 0, 0, 39, 0, 0, 0, 0, 0, 0, + 0, 0, 12, 183, 182, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 12, 189, 188, 0, 0, - 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 37, 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, 141, 0, 0, 0, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 0, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 7, 0, 0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 107, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, + 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, + 0, 99, 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, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 152, 119, 0, 0, 0, 0, 0, 0, 125, + 0, 146, 113, 0, 0, 0, 0, 0, 0, 119, 36, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, - 43, 97, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 121, 43, + 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 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, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, + 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, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, - 0, 0, 0, 34, 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, 0, + 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, + 0, 0, 58, 0, 0, 0, 132, 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, 58, 0, 0, 0, 138, + 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 172, 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, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 170, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 176, 0, 0, 0, 174, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 194, 0, 0, 0, 0, 0, 0, 0, + 0, 133, 0, 0, 0, 0, 0, 0, 0, 137, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 117, - 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, - 0, 0, 0, 143, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 137, 0, 0, 23, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 180, 0, 94, 0, 0, 0, 0, - 89, 0, 0, 0, 0, 0, 151, 0, 38, 170, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, + 0, 0, 23, 0, 142, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, + 0, 94, 0, 0, 0, 0, 89, 0, 0, 0, + 0, 145, 0, 38, 164, 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, + 67, 0, 0, 0, 0, 0, 0, 0, 0, 109, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 93, 0, 0, 0, - 0, 0, 0, 0, 115, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 93, 0, 0, 0, 0, 0, 60, 0, 0, + 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 192, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 198, 0, 0, 90, 106, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, + 64, 0, 0, 0, 0, 0, 171, 0, 0, 169, + 0, 0, 161, 160, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 177, 0, 0, 175, 0, 0, 167, - 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 0, 0, 0, 0, 186, - 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, + 0, 0, 180, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 160, 0, 0, 0, 169, + 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, + 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 143, 0, 15, 0, + 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 173, 0, 0, 0, 0, 0, 0, 0, 46, + 65, 0, 0, 138, 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 149, 0, 15, 0, 0, 44, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 179, 0, - 0, 0, 0, 0, 0, 0, 46, 65, 0, 0, + 0, 0, 57, 0, 98, 0, 0, 186, 0, 0, - 144, 0, 0, 135, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 0, 112, 0, 0, 0, + 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 57, 0, 98, 0, 0, 192, 0, 0, 0, 0, - 0, 0, 197, 0, 118, 0, 0, 0, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 0, 0, 0, 47, 0, 0, + 0, 0, 0, 0, 194, 0, 0, 123, 31, 0, + + 0, 0, 159, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 189, 0, 167, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 28, 0, 0, 172, 0, + 0, 0, 56, 0, 0, 0, 203, 0, 0, 115, + 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, + 0, 111, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 133, 0, 0, 0, 47, 0, 0, 0, - 0, 0, 0, 200, 0, 0, 129, 31, 0, 0, - 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 195, 0, 173, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, - 0, 0, 0, 0, 28, 0, 0, 178, 0, 0, - 0, 56, 0, 0, 0, 209, 0, 0, 121, 120, + 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, + 30, 0, 0, 0, 0, 0, 190, 0, 0, 0, + 0, 0, 155, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 21, 0, 0, 193, 0, + 88, 0, 0, 51, 0, 0, 0, 0, 187, 0, + 81, 0, 0, 185, 0, 32, 0, 0, 0, 0, + 0, 0, 0, 0, 85, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 152, 0, 0, 0, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 54, 0, 52, 0, 0, 0, 0, 0, 48, + 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, + 13, 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, - 0, 117, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 150, 0, 0, 0, - 30, 0, 0, 0, 0, 0, 196, 0, 0, 0, - 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 21, 0, 0, 199, - 0, 88, 0, 0, 51, 0, 0, 0, 0, 193, - 0, 81, 0, 0, 191, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, - - 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 158, 0, 0, - 0, 134, 0, 0, 0, 0, 0, 0, 103, 0, - 0, 0, 0, 54, 0, 52, 0, 0, 0, 0, - 0, 48, 163, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 181, - 0, 0, 13, 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, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 151, 0, 63, 62, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 63, 62, 20, 0, + 0, 0, 0, 0, 82, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 82, 0, 114, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, + 55, 68, 0, 49, 0, 103, 0, 0, 0, 0, + 0, 0, 0, 204, 0, 87, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 78, 0, 0, 0, + 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 76, 0, 0, 0, + + 0, 0, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 55, 68, 0, 49, 0, 109, 0, 0, - 0, 0, 0, 0, 0, 210, 0, 87, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, - - 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 84, 33, 0, - 0, 0, 77, 0, 0, 0, 0, 162, 0, 0, - 0, 0, 0, 0, 202, 205, 0, 130, 110, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 73, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 154, 0, 0, 0, 0, 0, 0, 159, 0, 0, - 75, 0, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 153, 0, 0, 182, 0, 207, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 84, 33, 0, 0, 0, + 77, 0, 0, 0, 0, 156, 0, 0, 0, 0, + 0, 0, 196, 199, 0, 124, 104, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 0, 73, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, + 0, 0, 0, 0, 0, 153, 0, 0, 75, 0, + 66, 0, 0, 0, 0, 0, 0, 0, 0, 105, + 0, 0, 0, 0, 0, 0, 0, 0, 147, 0, + + 0, 176, 0, 201, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, - 0, 27, 25, 0, 0, 0, 0, 79, 0, 0, - 113, 0, 0, 71, 0, 80, 0, 0, 206, 0, - 0, 0, 0, 0, 70, 0, 155, 26, 201, 0 + 0, 0, 0, 74, 0, 0, 0, 0, 0, 27, + 25, 0, 0, 0, 0, 79, 0, 0, 107, 0, + 0, 71, 0, 80, 0, 0, 200, 0, 0, 0, + 0, 0, 70, 0, 149, 26, 195, 0 } ; static const YY_CHAR yy_ec[256] = @@ -999,302 +996,298 @@ static const YY_CHAR yy_meta[77] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[2299] = +static const flex_int16_t yy_base[2267] = { 0, 0, 75, 21, 28, 39, 47, 53, 61, 95, 103, - 2740, 2741, 31, 2736, 151, 0, 216, 2741, 223, 230, - 13, 237, 2741, 2716, 124, 17, 4, 34, 2741, 2741, - 23, 43, 64, 2741, 2741, 2741, 56, 2724, 2674, 0, - 2714, 106, 2731, 2, 274, 2741, 2670, 85, 90, 2676, - 98, 77, 231, 235, 97, 200, 304, 229, 2668, 318, - 218, 62, 219, 2670, 202, 257, 2676, 298, 307, 342, - 242, 229, 2659, 21, 333, 383, 342, 2678, 293, 0, - 397, 411, 426, 443, 451, 2741, 0, 2741, 457, 465, - 203, 228, 323, 247, 260, 347, 2741, 2675, 2719, 2741, - - 342, 2741, 439, 2706, 348, 232, 2672, 324, 17, 362, - 2711, 282, 377, 343, 250, 2715, 0, 503, 391, 2654, - 2651, 2655, 426, 2651, 428, 2659, 369, 2645, 2646, 2651, - 76, 2661, 2644, 2653, 2643, 2652, 446, 447, 63, 2644, - 424, 2695, 2699, 2642, 2635, 2691, 2628, 414, 2649, 2649, - 2643, 338, 2636, 2634, 2635, 2627, 2632, 2626, 462, 2637, - 442, 2622, 2621, 471, 2622, 447, 2634, 2615, 512, 386, - 474, 2636, 2633, 2634, 484, 2632, 2670, 2669, 452, 439, - 2613, 472, 2614, 506, 2606, 2623, 2615, 2617, 0, 497, - 491, 472, 508, 516, 516, 2613, 2741, 2661, 522, 533, - - 2607, 521, 516, 533, 540, 2664, 539, 2663, 533, 2662, - 2741, 2741, 582, 359, 545, 2618, 2610, 2597, 2608, 2612, - 2613, 2593, 2604, 2608, 2605, 2604, 521, 519, 2645, 2606, - 2587, 2584, 2592, 2587, 2601, 2597, 2588, 2584, 2596, 2596, - 2584, 2586, 2589, 2569, 2573, 2589, 2586, 2578, 2568, 2586, - 2741, 2571, 2580, 82, 2621, 2564, 2573, 2618, 2562, 2572, - 2575, 572, 2571, 2613, 2555, 2557, 2568, 2609, 562, 2551, - 16, 2564, 2544, 2559, 579, 2556, 544, 2547, 2545, 2545, - 2551, 2542, 2541, 2539, 2601, 2554, 2553, 2547, 541, 2554, - 2549, 2532, 2547, 2533, 2545, 2540, 2544, 2525, 2541, 2527, - - 2533, 2540, 544, 550, 2528, 2525, 2524, 607, 2523, 2518, - 2532, 592, 2531, 2577, 2533, 591, 2524, 2512, 593, 2741, - 2741, 594, 2741, 2741, 2510, 560, 578, 591, 2561, 599, - 2571, 587, 599, 2741, 2570, 2741, 2564, 646, 2741, 2523, - 581, 2500, 2509, 2560, 2517, 2500, 2517, 2556, 2513, 2496, - 2502, 2557, 2509, 2512, 2503, 2506, 2492, 2503, 2550, 2544, - 2499, 2496, 627, 2502, 2545, 2477, 2538, 2488, 2483, 2477, - 2479, 2482, 2532, 2486, 2492, 2529, 2472, 669, 2486, 2471, - 2470, 2483, 2481, 2479, 2479, 2478, 2473, 2480, 2475, 2471, - 611, 2469, 2472, 2467, 2453, 2465, 2461, 2514, 576, 600, - - 2508, 2741, 2452, 2468, 2505, 2452, 2451, 2450, 2443, 2458, - 2449, 2456, 2437, 2454, 2449, 672, 2499, 2449, 2450, 2741, - 2449, 630, 2439, 2451, 620, 2426, 2427, 2440, 2430, 2422, - 2483, 2425, 2439, 631, 2425, 2437, 2436, 2435, 2431, 2429, - 2474, 2431, 2430, 2429, 2428, 2411, 2419, 2472, 2428, 2408, - 2469, 2741, 2408, 2407, 679, 2420, 2418, 2741, 2741, 2418, - 2407, 2399, 620, 2456, 2460, 2459, 2741, 2458, 638, 2741, - 658, 726, 2414, 641, 2456, 2395, 2406, 2448, 2398, 2400, - 2402, 2389, 2397, 2385, 2741, 2390, 2383, 2395, 2398, 2385, - 2384, 2741, 650, 2386, 2383, 637, 2381, 2383, 2741, 2431, - - 2390, 2387, 2372, 2386, 2384, 2384, 2378, 700, 2374, 2367, - 2421, 2741, 2365, 2381, 2418, 2376, 2374, 2372, 2373, 2357, - 2366, 2411, 2359, 2358, 2353, 2352, 2406, 2347, 661, 2366, - 2340, 2347, 2352, 2362, 2399, 2403, 2741, 2345, 2341, 701, - 2339, 2394, 2347, 2346, 2340, 2347, 2331, 2331, 2330, 2344, - 2344, 2332, 2328, 2326, 2741, 2335, 2385, 2741, 2324, 2378, - 2320, 2319, 2324, 2333, 2327, 2321, 2330, 2375, 2369, 2313, - 2308, 2366, 2327, 2302, 2308, 637, 2322, 2315, 2319, 2302, - 2363, 2357, 2300, 2300, 2354, 2296, 2297, 2296, 2294, 2311, - 2741, 2307, 2347, 2741, 2295, 2293, 2741, 2304, 2343, 2342, - - 2299, 2283, 2300, 2343, 703, 2741, 2741, 2741, 684, 675, - 689, 2280, 717, 2741, 2290, 2289, 588, 2296, 2276, 2286, - 2331, 2273, 2329, 2271, 2281, 2326, 2268, 2275, 2268, 2270, - 2279, 2261, 2261, 2276, 2275, 2259, 665, 2273, 2272, 2272, - 2254, 2259, 2303, 2267, 2264, 2258, 2306, 2247, 2262, 2262, - 2260, 2260, 2741, 2245, 2304, 2256, 2248, 2254, 2245, 2253, - 2238, 2292, 2253, 2235, 2247, 2239, 616, 2230, 2229, 2223, - 2228, 2243, 2240, 2241, 2220, 2230, 2236, 2282, 2234, 2226, - 2217, 2741, 2218, 2220, 2215, 2228, 2220, 2219, 2224, 2266, - 2265, 2213, 751, 2263, 2205, 2261, 2205, 2208, 2201, 2216, - - 2741, 2214, 2198, 2212, 2207, 2203, 2251, 2200, 2207, 2248, - 2741, 2190, 2204, 2207, 2192, 2187, 2242, 2241, 2185, 2239, - 2196, 2180, 2236, 2235, 2741, 2196, 2176, 2190, 2185, 731, - 10, 85, 228, 247, 342, 313, 330, 331, 355, 394, - 480, 2741, 668, 663, 2741, 691, 703, 714, 719, 732, - 664, 680, 693, 704, 716, 710, 699, 695, 709, 710, - 760, 731, 766, 731, 732, 778, 779, 730, 730, 731, - 741, 746, 732, 735, 738, 748, 748, 732, 792, 742, - 752, 755, 796, 756, 749, 753, 750, 752, 802, 803, - 764, 811, 765, 2741, 769, 764, 755, 770, 775, 772, - - 774, 776, 775, 763, 777, 775, 783, 822, 781, 829, - 830, 777, 769, 779, 830, 786, 838, 2741, 839, 789, - 791, 787, 781, 797, 785, 795, 847, 843, 803, 792, - 805, 2741, 795, 796, 795, 808, 798, 811, 858, 859, - 860, 800, 795, 818, 809, 798, 804, 862, 823, 807, - 819, 866, 810, 817, 869, 830, 825, 830, 828, 875, - 814, 826, 829, 835, 836, 826, 823, 2741, 892, 846, - 847, 835, 849, 839, 842, 853, 838, 845, 851, 852, - 844, 858, 882, 874, 903, 904, 878, 851, 865, 870, - 867, 849, 856, 870, 918, 872, 869, 870, 868, 877, - - 2741, 873, 868, 883, 880, 866, 868, 887, 883, 885, - 874, 881, 883, 892, 935, 898, 937, 896, 886, 884, - 883, 894, 890, 949, 893, 904, 889, 890, 896, 912, - 908, 903, 953, 2741, 914, 906, 917, 915, 963, 902, - 904, 916, 924, 922, 909, 907, 972, 926, 912, 918, - 916, 2741, 2741, 926, 931, 936, 924, 934, 936, 2741, - 2741, 937, 924, 942, 929, 931, 924, 941, 2741, 930, - 948, 935, 988, 936, 938, 934, 938, 956, 1000, 2741, - 2741, 2741, 942, 944, 941, 957, 1005, 955, 945, 946, - 942, 955, 966, 961, 1008, 963, 965, 958, 960, 956, - - 962, 962, 964, 979, 962, 1024, 978, 983, 960, 981, - 984, 970, 969, 2741, 976, 977, 1029, 1030, 979, 992, - 1033, 988, 978, 993, 987, 995, 982, 1013, 1023, 1011, - 1019, 1031, 1048, 994, 989, 1048, 1049, 1008, 1051, 2741, - 1057, 997, 1013, 1017, 1061, 1008, 1007, 1002, 1003, 1015, - 1010, 1006, 1015, 1010, 1011, 1021, 1032, 1074, 1022, 1019, - 1037, 1029, 1024, 1085, 1039, 1040, 1031, 2741, 1045, 1034, - 1037, 1045, 1047, 1032, 1044, 1049, 1046, 1044, 1056, 1040, - 1041, 2741, 1057, 1060, 1043, 1060, 1055, 1107, 1047, 1066, - 2741, 1065, 1068, 1054, 1049, 1067, 1110, 1065, 1061, 1058, - - 1114, 1115, 1074, 1060, 1078, 1078, 1078, 1079, 1080, 1066, - 1081, 1073, 1080, 1070, 1071, 1087, 1074, 1091, 2741, 1083, - 1091, 1139, 1083, 2741, 1086, 1091, 1138, 1086, 1098, 1092, - 1090, 1087, 1093, 1103, 1151, 1092, 1093, 1093, 1155, 1096, - 1108, 1101, 2741, 1097, 1105, 1103, 1106, 1158, 1097, 1118, - 1104, 1105, 1107, 1108, 1114, 1122, 1113, 1118, 1128, 1129, - 1130, 1135, 1179, 1147, 1176, 1159, 1151, 1156, 2741, 1139, - 1135, 1131, 1145, 1128, 1128, 2741, 1129, 1192, 1132, 2741, - 1143, 1133, 1153, 1152, 1143, 1154, 1200, 1150, 1159, 1152, - 1156, 1160, 1143, 1160, 1161, 1156, 1214, 1158, 2741, 1211, - - 1155, 1158, 1176, 1158, 1159, 1159, 1180, 1177, 1165, 1183, - 1171, 1185, 1178, 1187, 1167, 1182, 1189, 1234, 1177, 1231, - 2741, 1237, 1238, 1177, 1187, 1197, 1181, 1201, 1189, 1185, - 1192, 1201, 1189, 1196, 1197, 1209, 1253, 1197, 1255, 1196, - 1195, 1199, 1216, 1260, 1207, 1206, 1212, 1213, 1202, 1266, - 1214, 1268, 1269, 2741, 1207, 1224, 1217, 1208, 1227, 1215, - 1225, 1221, 1216, 1235, 1235, 2741, 1219, 1215, 1221, 2741, - 1222, 1286, 1242, 1223, 1242, 1243, 1229, 1246, 1288, 1238, - 1295, 1296, 1246, 1251, 1245, 1243, 1254, 1253, 1237, 1242, - 1248, 1261, 2741, 1275, 1288, 1276, 1290, 1277, 1312, 1249, - - 1271, 1266, 1266, 1270, 1318, 2741, 1258, 1258, 1261, 1278, - 1273, 1277, 1272, 2741, 1281, 1265, 1282, 1262, 1283, 1273, - 1272, 1328, 1279, 2741, 1296, 1296, 1337, 1281, 1290, 1340, - 1295, 1300, 1286, 1349, 1289, 1290, 1304, 1302, 1299, 1295, - 1313, 1314, 1315, 2741, 1354, 1306, 2741, 1316, 2741, 1301, - 1312, 1303, 1322, 1315, 1313, 1306, 1318, 1365, 1326, 1315, - 1322, 1323, 1329, 2741, 1322, 2741, 1377, 1327, 1316, 1380, - 2741, 1381, 1320, 1326, 1327, 1338, 2741, 1339, 2741, 2741, - 1325, 1328, 1342, 1347, 1330, 1392, 1346, 1389, 1352, 1339, - 1344, 1398, 1394, 1344, 1401, 2741, 1349, 1346, 1404, 1405, - - 1401, 1360, 1361, 1363, 2741, 2741, 1355, 1350, 1407, 1353, - 1369, 1415, 1354, 1366, 1355, 1372, 1415, 1398, 1399, 1391, - 1424, 2741, 1378, 1371, 1380, 1371, 1382, 2741, 1430, 1364, - 1375, 1390, 1429, 1378, 1389, 1375, 1391, 1392, 1389, 1436, - 1396, 1398, 1387, 1397, 1403, 1390, 1389, 1453, 1449, 1404, - 1451, 1457, 1411, 2741, 1397, 1413, 1404, 1407, 1416, 1413, - 1403, 1406, 1406, 1407, 1418, 1413, 1471, 1415, 1473, 1413, - 1418, 1476, 1473, 1411, 1426, 1419, 1422, 1435, 1436, 1434, - 1486, 2741, 1432, 1438, 2741, 2741, 1443, 1435, 1436, 1488, - 1432, 1495, 1496, 1437, 1447, 1499, 2741, 1444, 1446, 1502, - - 1443, 1441, 1444, 2741, 1461, 1466, 2741, 1463, 1451, 2741, - 2741, 1455, 1465, 1448, 1468, 1469, 1455, 1457, 1519, 1466, - 2741, 1521, 1467, 1461, 1524, 1489, 1507, 1522, 1509, 2741, - 1528, 1484, 1532, 1479, 1529, 2741, 1474, 1536, 1483, 1477, - 1474, 1477, 1479, 1537, 1497, 1539, 1489, 1501, 1504, 1501, - 1493, 1496, 1491, 1499, 1490, 2741, 1498, 1513, 1498, 2741, - 1500, 1557, 1502, 1559, 1518, 1520, 1520, 1517, 1564, 1523, - 1524, 1516, 1517, 2741, 1518, 2741, 1528, 1520, 2741, 1526, - 1531, 1533, 1530, 1577, 1522, 1537, 1538, 1530, 2741, 1540, - 1528, 1529, 1529, 1530, 1531, 1588, 2741, 2741, 1589, 1533, - - 2741, 1534, 1540, 2741, 1549, 1537, 1545, 1602, 1547, 1539, - 1552, 1546, 1556, 1552, 1568, 1561, 1567, 1557, 1615, 1565, - 2741, 1574, 2741, 1571, 1619, 2741, 1569, 1597, 1598, 1604, - 1589, 1597, 2741, 1626, 2741, 1581, 1566, 1629, 2741, 1630, - 1584, 1589, 1571, 1634, 1575, 1631, 1595, 1588, 1584, 1577, - 1585, 1637, 1592, 1593, 1583, 1588, 1600, 1654, 1605, 1656, - 1603, 1653, 1614, 1614, 1656, 1601, 1606, 1604, 1666, 1607, - 1615, 1621, 1609, 1671, 1667, 1627, 1674, 1632, 1621, 1615, - 1678, 1617, 1618, 1632, 1682, 1636, 1636, 1685, 1686, 1636, - 1634, 1624, 1685, 1686, 1646, 1639, 1638, 1638, 1633, 1634, - - 1652, 2741, 1643, 1649, 1654, 1641, 1642, 1642, 1642, 1644, - 1702, 1645, 2741, 1641, 1659, 1711, 2741, 1666, 1680, 1694, - 1693, 1682, 1684, 2741, 1718, 1668, 2741, 2741, 1659, 1670, - 1722, 2741, 1676, 1666, 1671, 1669, 1723, 1678, 1683, 1669, - 1672, 1688, 1677, 1675, 1689, 1676, 2741, 1678, 2741, 1696, - 1683, 1695, 1742, 1686, 1749, 1694, 1704, 1705, 2741, 1753, - 1690, 1750, 1705, 1752, 2741, 1700, 1759, 2741, 1699, 1714, - 1702, 2741, 1712, 1713, 1765, 2741, 1720, 1724, 2741, 2741, - 1700, 1718, 1727, 1709, 1727, 1726, 1717, 1770, 1719, 1715, - 1720, 1779, 1718, 1719, 1782, 1778, 1784, 1734, 1732, 1787, - - 1737, 1727, 1743, 1736, 2741, 1792, 1770, 1794, 1776, 1791, - 1797, 2741, 1743, 1799, 1738, 2741, 1740, 1742, 1752, 1799, - 1744, 1759, 1746, 1808, 1762, 1748, 1755, 1755, 1813, 1767, - 1768, 1755, 1757, 1771, 1757, 1771, 2741, 1818, 1766, 1763, - 2741, 1779, 1766, 1779, 1766, 1787, 2741, 1784, 1832, 1782, - 1779, 1780, 2741, 1836, 1792, 1791, 1784, 1789, 1790, 1788, - 1843, 1800, 1784, 1793, 1842, 1848, 2741, 1798, 1850, 2741, - 1796, 2741, 1795, 1791, 2741, 1798, 1855, 1857, 1853, 2741, - 1854, 2741, 1836, 1842, 2741, 1814, 2741, 1858, 1807, 1818, - 1819, 1804, 1805, 1813, 1870, 2741, 1815, 1867, 1868, 1820, - - 2741, 1815, 1833, 1815, 1821, 1834, 1829, 1826, 1831, 1829, - 1884, 1825, 1839, 1889, 1834, 1831, 1831, 2741, 1846, 1847, - 1848, 2741, 1849, 1897, 1847, 1837, 1845, 1858, 2741, 1859, - 1840, 1841, 1848, 2741, 1850, 2741, 1864, 1861, 1853, 1905, - 1863, 2741, 2741, 1867, 1893, 1894, 1892, 1855, 1855, 1864, - 1871, 1864, 1863, 1874, 1861, 2741, 1877, 1865, 1868, 1927, - 1864, 1883, 1925, 1886, 1879, 1878, 1887, 1889, 1893, 2741, - 1932, 1884, 2741, 1890, 1882, 1944, 1884, 1946, 1947, 1948, - 2741, 1887, 1945, 1904, 1891, 1899, 1910, 1897, 1908, 1894, - 1892, 1900, 1899, 1900, 1906, 1897, 1942, 1966, 1948, 1968, - - 1918, 1907, 1920, 1910, 1927, 1926, 1970, 1911, 1930, 1931, - 2741, 1936, 1929, 1971, 1935, 1922, 1937, 1985, 1939, 1942, - 1937, 1942, 1931, 1940, 2741, 1994, 2741, 2741, 2741, 1995, - 1934, 1997, 1937, 1999, 1944, 1996, 1997, 1956, 1999, 1942, - 1946, 2007, 1965, 2009, 1965, 1992, 2741, 1988, 2741, 1958, - 1952, 1949, 2011, 1974, 1967, 1963, 2020, 1960, 1962, 1961, - 1968, 2014, 1965, 2027, 1968, 2741, 1973, 1983, 1985, 1987, - 1970, 1978, 2741, 2741, 1984, 2741, 1989, 2741, 1991, 1992, - 1983, 2042, 1983, 1993, 1978, 2741, 1991, 2741, 1993, 2024, - 2030, 2002, 2000, 2052, 1990, 1992, 1989, 2013, 2741, 2000, - - 2007, 2008, 2011, 2061, 2001, 2741, 2058, 2002, 2010, 2019, - 2005, 2021, 2020, 2015, 2010, 2010, 2022, 2017, 2741, 2030, - 2018, 2074, 2022, 2034, 2062, 2083, 2084, 2028, 2741, 2028, - 2040, 2088, 2034, 2036, 2034, 2035, 2093, 2741, 2043, 2030, - 2045, 2050, 2042, 2048, 2100, 2101, 2055, 2103, 2104, 2045, - 2049, 2045, 2062, 2045, 2057, 2051, 2113, 2741, 2741, 2058, - 2069, 2116, 2741, 2070, 2055, 2073, 2064, 2741, 2065, 2079, - 2075, 2068, 2063, 2069, 2741, 2741, 2127, 2741, 2741, 2067, - 2075, 2070, 2126, 2089, 2086, 2134, 2741, 2130, 2093, 2741, - 2137, 2076, 2139, 2079, 2092, 2091, 2092, 2082, 2094, 2090, - - 2741, 2085, 2148, 2098, 2107, 2100, 2147, 2741, 2098, 2092, - 2741, 2104, 2741, 2151, 2157, 2096, 2112, 2160, 2113, 2162, - 2163, 2741, 2117, 2111, 2104, 2124, 2111, 2123, 2114, 2118, - 2741, 2168, 2114, 2741, 2124, 2741, 2741, 2115, 2123, 2173, - 2130, 2123, 2135, 2182, 2127, 2127, 2123, 2125, 2140, 2188, - 2189, 2128, 2144, 2129, 2146, 2741, 2194, 2138, 2145, 2197, - 2138, 2741, 2741, 2148, 2200, 2145, 2202, 2741, 2150, 2149, - 2741, 2205, 2151, 2741, 2145, 2741, 2145, 2162, 2741, 2163, - 2211, 2154, 2213, 2214, 2741, 2215, 2741, 2741, 2741, 2741, - 2221, 2224, 2227, 2228, 2230, 2233, 2236, 2239 - + 2710, 2711, 31, 2706, 151, 0, 216, 2711, 223, 230, + 13, 237, 2711, 2686, 124, 17, 4, 34, 2711, 2711, + 23, 43, 64, 2711, 2711, 2711, 56, 2694, 2644, 0, + 2684, 106, 2701, 2, 274, 2711, 2640, 85, 90, 2646, + 98, 77, 231, 235, 97, 200, 304, 229, 2638, 300, + 218, 62, 219, 202, 257, 2647, 298, 322, 341, 242, + 229, 2630, 21, 333, 362, 336, 2649, 318, 0, 392, + 409, 423, 432, 437, 2711, 0, 2711, 451, 456, 203, + 228, 253, 247, 352, 324, 2711, 2646, 2690, 2711, 269, + + 2711, 450, 2677, 358, 232, 2643, 383, 17, 390, 2682, + 282, 417, 284, 250, 2686, 0, 514, 416, 2625, 2622, + 2626, 424, 2622, 317, 2630, 430, 2616, 2617, 2622, 76, + 2632, 2625, 2615, 2624, 371, 429, 63, 435, 2668, 2672, + 2615, 2608, 2664, 2601, 368, 2622, 2622, 2616, 297, 2609, + 2607, 2608, 2600, 2605, 2599, 436, 2610, 450, 2595, 2594, + 456, 2595, 448, 2607, 2588, 494, 417, 447, 2609, 2606, + 2607, 440, 2605, 2643, 2642, 369, 460, 2586, 486, 2587, + 378, 2579, 2596, 2588, 2590, 0, 508, 492, 507, 509, + 517, 521, 2586, 2711, 2634, 530, 532, 2580, 511, 524, + + 542, 545, 2637, 544, 2636, 538, 2635, 2711, 2711, 587, + 2577, 550, 2590, 2582, 2569, 2580, 2584, 2585, 2565, 2576, + 2580, 2577, 2576, 472, 526, 2617, 2578, 2559, 2556, 2564, + 2559, 2570, 2561, 2557, 2569, 2569, 2557, 2559, 2562, 2542, + 2546, 2560, 2552, 2542, 2560, 2711, 2545, 2554, 82, 2595, + 2538, 2547, 2592, 2536, 2546, 2549, 576, 2545, 2587, 2529, + 2531, 2542, 2583, 554, 2525, 2539, 2537, 2517, 2532, 534, + 2529, 533, 2520, 2518, 2518, 2524, 2515, 2514, 2512, 2574, + 2527, 2526, 2520, 530, 2527, 2522, 2505, 2520, 2506, 2518, + 2513, 2517, 2498, 2514, 2500, 2506, 2513, 541, 417, 2501, + + 2498, 2497, 488, 2496, 2491, 2505, 564, 2504, 2550, 2506, + 540, 2497, 2485, 589, 2711, 2711, 591, 2711, 2711, 2483, + 562, 576, 589, 2534, 597, 2544, 585, 596, 2711, 2543, + 2711, 2537, 639, 2496, 586, 2473, 2482, 2533, 2490, 2473, + 2490, 2529, 2486, 2469, 2475, 2530, 2482, 2485, 2476, 2479, + 2465, 2476, 2523, 2517, 2472, 2469, 615, 2519, 2451, 2512, + 2462, 2457, 2451, 2453, 2456, 2506, 2460, 2504, 2447, 617, + 2461, 2446, 2445, 2458, 2456, 2454, 2454, 2453, 2448, 2455, + 2450, 2446, 603, 2444, 2447, 2442, 2428, 2440, 2436, 2489, + 581, 610, 2483, 2427, 2443, 2480, 2427, 2426, 2419, 2434, + + 2425, 2432, 2413, 2430, 2425, 664, 2475, 2425, 2426, 2711, + 2425, 348, 2415, 2427, 523, 2402, 2403, 2416, 2406, 2398, + 2459, 2401, 2415, 621, 2401, 2413, 2412, 2411, 2407, 2405, + 2450, 2407, 2406, 2405, 2404, 2387, 2395, 2448, 2404, 2384, + 2445, 2711, 2384, 2383, 666, 2396, 2394, 2711, 2711, 2394, + 2383, 2375, 620, 2432, 2436, 2435, 2711, 2434, 607, 2711, + 646, 718, 2390, 633, 2432, 2371, 2382, 2424, 2374, 2376, + 2378, 2365, 2373, 2361, 2711, 2366, 2359, 2371, 2374, 2361, + 2360, 2711, 646, 2362, 2359, 629, 2357, 2711, 2408, 2367, + 2364, 2349, 2363, 2361, 2361, 2355, 692, 2345, 2399, 2711, + + 2343, 2359, 2396, 2354, 2352, 2350, 2351, 2335, 2344, 2389, + 2337, 2336, 2331, 2330, 2384, 2325, 632, 2344, 2318, 2325, + 2330, 2340, 2377, 2381, 2711, 2323, 2319, 693, 2317, 2372, + 2325, 2324, 2318, 2310, 2310, 2309, 2323, 2323, 2311, 2307, + 2305, 2711, 2314, 2364, 2711, 2303, 2357, 2299, 2298, 2303, + 2312, 2306, 2300, 2309, 2354, 2348, 2292, 2287, 2345, 2306, + 2281, 2287, 650, 2301, 2294, 2298, 2281, 2342, 2336, 2279, + 2279, 2333, 2275, 2276, 2275, 2273, 2290, 2711, 2286, 2326, + 2711, 2274, 2272, 2711, 2283, 2322, 2321, 2278, 2262, 2279, + 2322, 695, 2711, 2711, 2711, 677, 684, 683, 2259, 712, + + 2711, 2269, 2268, 656, 2275, 2255, 2265, 2310, 2252, 2308, + 2250, 2260, 2305, 2247, 2254, 2247, 2249, 2258, 2240, 2240, + 2255, 2254, 2238, 619, 2252, 2251, 2251, 2233, 2238, 2282, + 2244, 2238, 2286, 2227, 2242, 2242, 2240, 2240, 2711, 2225, + 2237, 2229, 2235, 2226, 2234, 2219, 2273, 2234, 2216, 2228, + 2220, 654, 2211, 2210, 2204, 2209, 2224, 2221, 2222, 2201, + 2211, 2217, 2263, 2215, 2207, 2198, 2711, 2199, 2201, 2196, + 2209, 2201, 2200, 2205, 2247, 2195, 715, 2245, 2187, 2243, + 2187, 2190, 2183, 2198, 2711, 2196, 2180, 2194, 2189, 2185, + 2233, 2182, 2189, 2230, 2711, 2172, 2186, 2189, 2174, 2169, + + 2224, 2223, 2167, 2221, 2178, 2162, 2218, 2217, 2711, 2178, + 2158, 2172, 2171, 721, 2172, 2171, 2168, 2152, 2208, 2169, + 2164, 2147, 2152, 2154, 2145, 2711, 2155, 7, 2711, 682, + 699, 698, 711, 712, 73, 214, 312, 441, 486, 571, + 565, 634, 680, 691, 741, 702, 749, 708, 710, 749, + 762, 713, 713, 714, 724, 729, 716, 719, 722, 731, + 731, 715, 775, 725, 735, 738, 779, 731, 735, 732, + 734, 784, 785, 746, 793, 747, 751, 746, 737, 752, + 757, 754, 756, 758, 757, 745, 759, 757, 765, 804, + 763, 811, 812, 759, 751, 761, 812, 768, 820, 2711, + + 821, 771, 773, 769, 763, 779, 767, 777, 829, 825, + 785, 786, 2711, 776, 777, 776, 789, 779, 792, 839, + 840, 841, 781, 776, 799, 790, 779, 785, 843, 804, + 788, 800, 847, 791, 798, 850, 811, 806, 811, 809, + 856, 795, 807, 810, 816, 817, 807, 804, 2711, 873, + 827, 828, 816, 830, 820, 823, 834, 819, 826, 832, + 833, 825, 839, 863, 855, 884, 885, 859, 832, 846, + 851, 848, 830, 837, 851, 899, 853, 850, 851, 849, + 858, 2711, 854, 849, 864, 861, 847, 849, 868, 864, + 866, 855, 862, 864, 873, 916, 879, 918, 877, 867, + + 865, 864, 875, 871, 873, 884, 869, 870, 876, 892, + 888, 883, 933, 2711, 894, 886, 897, 895, 943, 882, + 884, 896, 904, 902, 889, 887, 952, 906, 892, 898, + 896, 2711, 2711, 906, 911, 916, 904, 914, 916, 2711, + 2711, 917, 904, 922, 909, 911, 904, 921, 2711, 910, + 928, 967, 915, 916, 913, 917, 935, 979, 2711, 2711, + 2711, 921, 923, 920, 936, 984, 934, 924, 925, 921, + 934, 945, 940, 987, 942, 944, 937, 939, 935, 941, + 941, 943, 958, 941, 1003, 957, 962, 939, 960, 963, + 949, 948, 2711, 955, 956, 1008, 1009, 958, 971, 1012, + + 967, 957, 972, 966, 974, 961, 992, 1002, 990, 998, + 1010, 1027, 973, 968, 1027, 1028, 987, 1030, 2711, 1036, + 976, 992, 996, 1040, 987, 986, 981, 982, 994, 989, + 985, 994, 989, 990, 1000, 1011, 1053, 1001, 998, 1016, + 1008, 1003, 1064, 1018, 1019, 1010, 1024, 1013, 1016, 1024, + 1026, 1011, 1023, 1028, 1025, 1023, 1035, 1019, 1020, 2711, + 1036, 1039, 1022, 1039, 1034, 1086, 1026, 1045, 2711, 1044, + 1047, 1033, 1028, 1046, 1089, 1044, 1040, 1037, 1093, 1094, + 1053, 1039, 1057, 1057, 1057, 1058, 1059, 1045, 1060, 1058, + 1048, 1049, 1065, 1052, 1069, 2711, 1061, 1069, 1117, 1061, + + 2711, 1064, 1069, 1116, 1064, 1076, 1070, 1068, 1065, 1071, + 1081, 1129, 1070, 1071, 1071, 1133, 1074, 1086, 1079, 2711, + 1075, 1083, 1081, 1084, 1136, 1075, 1096, 1082, 1083, 1084, + 1086, 1092, 1100, 1091, 1096, 1106, 1107, 1108, 1113, 1157, + 1125, 1154, 1137, 1129, 1134, 2711, 1117, 1113, 1109, 1123, + 1106, 1106, 2711, 1107, 1170, 1110, 2711, 1121, 1111, 1131, + 1130, 1121, 1132, 1178, 1128, 1137, 1130, 1134, 1138, 1121, + 1138, 1139, 1134, 1192, 1136, 2711, 1189, 1133, 1136, 1154, + 1136, 1137, 1137, 1158, 1155, 1143, 1161, 1149, 1163, 1156, + 1165, 1145, 1160, 1167, 1212, 1155, 1209, 2711, 1215, 1216, + + 1155, 1165, 1175, 1159, 1179, 1167, 1163, 1170, 1179, 1167, + 1174, 1175, 1187, 1231, 1175, 1233, 1174, 1173, 1177, 1194, + 1238, 1183, 1189, 1190, 1179, 1243, 1191, 1245, 1246, 2711, + 1184, 1201, 1194, 1185, 1204, 1192, 1202, 1198, 1193, 1212, + 1212, 2711, 1196, 1192, 1198, 2711, 1199, 1262, 1219, 1200, + 1219, 1220, 1206, 1223, 1265, 1215, 1272, 1273, 1223, 1228, + 1222, 1220, 1231, 1230, 1214, 1219, 1225, 1238, 2711, 1252, + 1265, 1253, 1267, 1254, 1289, 1226, 1248, 1243, 1243, 1247, + 1295, 2711, 1235, 1235, 1238, 1255, 1250, 1254, 1249, 2711, + 1258, 1242, 1259, 1239, 1260, 1250, 1249, 1305, 1256, 2711, + + 1273, 1273, 1314, 1258, 1267, 1317, 1272, 1277, 1263, 1326, + 1266, 1267, 1281, 1279, 1276, 1272, 1290, 1291, 1292, 2711, + 1331, 1283, 2711, 1293, 2711, 1278, 1289, 1280, 1299, 1292, + 1290, 1283, 1295, 1342, 1303, 1292, 1299, 1300, 1306, 2711, + 1299, 2711, 1354, 1304, 1293, 1357, 2711, 1296, 1302, 1303, + 1314, 2711, 1315, 2711, 2711, 1301, 1304, 1318, 1323, 1306, + 1368, 1322, 1309, 1328, 1315, 1320, 1374, 1370, 1320, 1377, + 2711, 1325, 1322, 1380, 1381, 1377, 1336, 1337, 1339, 2711, + 2711, 1331, 1326, 1383, 1329, 1345, 1391, 1330, 1342, 1331, + 1348, 1391, 1374, 1375, 1367, 1400, 2711, 1354, 1347, 1356, + + 1347, 1358, 2711, 1406, 1340, 1351, 1366, 1405, 1354, 1365, + 1351, 1367, 1368, 1365, 1412, 1372, 1374, 1363, 1373, 1379, + 1366, 1364, 1427, 1424, 1379, 1426, 1432, 1386, 2711, 1372, + 1388, 1379, 1382, 1391, 1388, 1378, 1381, 1381, 1382, 1393, + 1388, 1446, 1390, 1448, 1388, 1393, 1451, 1447, 1386, 1401, + 1394, 1397, 1410, 1411, 1409, 1461, 2711, 1407, 1413, 2711, + 1418, 1410, 1411, 1463, 1407, 1470, 1471, 1412, 1422, 1474, + 2711, 1419, 1476, 1417, 1415, 1418, 2711, 1435, 1440, 2711, + 1437, 1425, 2711, 2711, 1429, 1439, 1422, 1442, 1443, 1429, + 1431, 1493, 1440, 2711, 1495, 1441, 1435, 1498, 1463, 1481, + + 1496, 1483, 2711, 1502, 1458, 1506, 1453, 1503, 2711, 1448, + 1510, 1457, 1451, 1448, 1451, 1453, 1511, 1471, 1513, 1463, + 1475, 1478, 1475, 1467, 1470, 1465, 1473, 1464, 2711, 1472, + 1487, 1472, 2711, 1474, 1531, 1476, 1533, 1492, 1494, 1494, + 1491, 1538, 1497, 1498, 1490, 1491, 2711, 1492, 2711, 1502, + 1494, 2711, 1500, 1505, 1507, 1504, 1551, 1496, 1511, 1512, + 1504, 2711, 1514, 1502, 1503, 1503, 1504, 1505, 1562, 2711, + 2711, 1563, 1507, 2711, 1508, 2711, 1522, 1510, 1518, 1575, + 1520, 1512, 1525, 1519, 1529, 1525, 1541, 1534, 1540, 1530, + 1588, 1538, 2711, 1547, 2711, 1544, 1592, 2711, 1542, 1570, + + 1571, 1577, 1562, 1570, 2711, 1599, 2711, 1554, 1539, 1602, + 2711, 1603, 1557, 1562, 1544, 1607, 1548, 1604, 1568, 1561, + 1557, 1550, 1558, 1610, 1565, 1566, 1556, 1561, 1573, 1627, + 1578, 1629, 1576, 1626, 1587, 1587, 1629, 1574, 1579, 1577, + 1639, 1580, 1588, 1594, 1582, 1644, 1640, 1600, 1647, 1605, + 1594, 1588, 1651, 1590, 1591, 1605, 1655, 1609, 1609, 1658, + 1659, 1609, 1607, 1597, 1658, 1659, 1611, 1610, 1610, 1605, + 1606, 1624, 2711, 1615, 1621, 1626, 1613, 1614, 1614, 1614, + 1616, 1674, 1617, 2711, 1613, 1631, 1683, 2711, 1638, 1652, + 1666, 1665, 1654, 1656, 2711, 1690, 1640, 2711, 2711, 1631, + + 1642, 1694, 2711, 1648, 1638, 1643, 1641, 1694, 1650, 1655, + 1641, 1644, 1660, 1649, 1647, 1661, 1648, 2711, 1650, 2711, + 1668, 1655, 1667, 1714, 1658, 1721, 1666, 1676, 1677, 2711, + 1725, 1662, 1722, 1677, 1724, 2711, 1672, 1731, 2711, 1671, + 1686, 1674, 2711, 1684, 1685, 1737, 2711, 1692, 1696, 2711, + 2711, 1672, 1690, 1699, 1681, 1699, 1688, 1741, 1690, 1686, + 1691, 1750, 1689, 1690, 1753, 1749, 1755, 1705, 1703, 1758, + 1708, 1698, 1714, 1707, 2711, 1763, 1741, 1765, 1747, 1762, + 1768, 2711, 1714, 1770, 1709, 2711, 1711, 1713, 1723, 1770, + 1715, 1730, 1717, 1779, 1733, 1719, 1726, 1726, 1784, 1738, + + 1739, 1726, 1728, 1742, 1728, 1742, 2711, 1789, 1737, 1734, + 2711, 1750, 1737, 1750, 1737, 1758, 2711, 1755, 1803, 1753, + 1750, 1751, 2711, 1807, 1763, 1762, 1755, 1760, 1761, 1759, + 1770, 1754, 1763, 1812, 1818, 2711, 1768, 1820, 2711, 1766, + 2711, 1765, 1761, 2711, 1768, 1825, 1827, 1823, 2711, 1824, + 2711, 1806, 1812, 2711, 1784, 2711, 1828, 1777, 1788, 1789, + 1774, 1775, 1783, 1840, 2711, 1785, 1837, 1838, 1790, 2711, + 1785, 1803, 1785, 1791, 1804, 1799, 1796, 1801, 1799, 1854, + 1795, 1809, 1859, 1804, 1801, 1801, 2711, 1816, 1817, 1818, + 2711, 1819, 1867, 1817, 1807, 1815, 1828, 1829, 1810, 1811, + + 1818, 2711, 1820, 2711, 1834, 1831, 1823, 1875, 1833, 2711, + 2711, 1837, 1863, 1864, 1862, 1825, 1825, 1834, 1841, 1834, + 1833, 1844, 1831, 2711, 1847, 1835, 1838, 1897, 1834, 1853, + 1895, 1856, 1849, 1848, 1857, 1859, 1863, 2711, 1902, 1854, + 2711, 1860, 1852, 1914, 1854, 1916, 1917, 1918, 2711, 1857, + 1915, 1874, 1861, 1869, 1880, 1867, 1878, 1864, 1862, 1870, + 1869, 1870, 1876, 1867, 1912, 1936, 1918, 1938, 1888, 1877, + 1890, 1880, 1897, 1896, 1940, 1881, 1900, 1901, 2711, 1906, + 1899, 1941, 1905, 1892, 1907, 1955, 1909, 1912, 1907, 1912, + 1901, 1910, 2711, 1964, 2711, 2711, 2711, 1965, 1904, 1967, + + 1907, 1969, 1914, 1966, 1967, 1926, 1969, 1912, 1916, 1977, + 1935, 1979, 1935, 1962, 2711, 1958, 2711, 1928, 1922, 1919, + 1981, 1944, 1937, 1933, 1990, 1930, 1932, 1931, 1938, 1984, + 1935, 1997, 1938, 2711, 1943, 1953, 1955, 1957, 1940, 1948, + 2711, 2711, 1954, 2711, 1959, 2711, 1961, 1962, 1953, 2012, + 1953, 1963, 1948, 2711, 1961, 2711, 1963, 1994, 2000, 1972, + 1970, 2022, 1960, 1962, 1959, 1983, 2711, 1970, 1977, 1978, + 1981, 2031, 1971, 2711, 2028, 1972, 1980, 1989, 1975, 1991, + 1990, 1985, 1980, 1980, 1992, 1987, 2711, 2000, 1988, 2044, + 1992, 2004, 2032, 2053, 2054, 1998, 2711, 1998, 2010, 2058, + + 2004, 2006, 2004, 2005, 2063, 2711, 2013, 2000, 2015, 2020, + 2012, 2018, 2070, 2071, 2025, 2073, 2074, 2015, 2019, 2015, + 2032, 2015, 2027, 2021, 2083, 2711, 2711, 2028, 2039, 2086, + 2711, 2040, 2025, 2043, 2034, 2711, 2035, 2049, 2045, 2038, + 2033, 2039, 2711, 2711, 2097, 2711, 2711, 2037, 2045, 2040, + 2096, 2059, 2056, 2104, 2711, 2100, 2063, 2711, 2107, 2046, + 2109, 2049, 2062, 2061, 2062, 2052, 2064, 2060, 2711, 2055, + 2118, 2068, 2077, 2070, 2117, 2711, 2068, 2062, 2711, 2074, + 2711, 2121, 2127, 2066, 2082, 2130, 2083, 2132, 2133, 2711, + 2087, 2081, 2074, 2094, 2081, 2093, 2084, 2088, 2711, 2138, + + 2084, 2711, 2094, 2711, 2711, 2085, 2093, 2143, 2100, 2093, + 2105, 2152, 2097, 2097, 2093, 2095, 2110, 2158, 2159, 2098, + 2114, 2099, 2116, 2711, 2164, 2108, 2115, 2167, 2108, 2711, + 2711, 2118, 2170, 2115, 2172, 2711, 2120, 2119, 2711, 2175, + 2121, 2711, 2115, 2711, 2115, 2132, 2711, 2133, 2181, 2124, + 2183, 2184, 2711, 2185, 2711, 2711, 2711, 2711, 2191, 2194, + 2197, 2198, 2200, 2203, 2206, 2209 } ; -static const flex_int16_t yy_def[2299] = +static const flex_int16_t yy_def[2267] = { 0, - 2291, 2291, 2292, 2292, 2291, 2291, 2291, 2291, 2291, 2291, - 2290, 2290, 2290, 2290, 2290, 2293, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2294, - 2290, 2290, 2290, 2295, 15, 2290, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2296, 45, 45, 45, + 2259, 2259, 2260, 2260, 2259, 2259, 2259, 2259, 2259, 2259, + 2258, 2258, 2258, 2258, 2258, 2261, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2262, + 2258, 2258, 2258, 2263, 15, 2258, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2264, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2293, - 2290, 2290, 2290, 2290, 2290, 2290, 2297, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2294, 2290, + 45, 45, 45, 45, 45, 45, 45, 45, 2261, 2258, + 2258, 2258, 2258, 2258, 2258, 2265, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2262, 2258, 2263, - 2295, 2290, 2290, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2298, 45, 2296, 45, 45, + 2258, 2258, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2266, 45, 2264, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2297, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 45, 45, 45, + 45, 45, 45, 45, 45, 2265, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2298, - 2290, 2290, 118, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2266, 2258, 2258, 117, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 2290, 45, 118, 2290, 45, + 45, 45, 45, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 2258, 45, 117, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1302,549 +1295,541 @@ static const flex_int16_t yy_def[2299] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2290, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 2290, 2290, 2290, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 2290, - 45, 118, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 2290, 45, + 45, 2258, 45, 45, 45, 45, 45, 2258, 2258, 2258, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 2258, + 45, 117, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 45, 45, 45, 2258, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2290, 45, 45, 2290, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 2290, 45, 45, 2290, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, + 2258, 45, 45, 2258, 45, 45, 45, 2258, 45, 45, + 45, 45, 2258, 2258, 2258, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 2290, 2290, 2290, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, + 45, 2258, 2258, 45, 45, 45, 45, 45, 45, 2258, + 2258, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 2258, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 2290, 45, 45, 45, 45, 45, 45, 2290, - 2290, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2290, - 2290, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, + 45, 45, 2258, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 2290, + 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, + 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 2290, + 45, 2258, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 2290, 45, 2290, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 45, 2258, 45, 2258, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 2258, 45, 45, 45, 45, 2258, 45, 45, 45, + 45, 2258, 45, 2258, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 2290, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 2290, 45, 2290, 2290, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, - 45, 45, 45, 45, 2290, 2290, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 2290, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 2290, 2290, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 2258, 45, 45, 2258, + 45, 45, 2258, 2258, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 2290, 45, 45, 2290, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 2290, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 2290, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 2258, 45, + 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 45, 45, 45, 45, 45, 2258, + 2258, 45, 45, 2258, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2290, 45, 2290, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 2290, 2290, 45, 45, + 45, 45, 2258, 45, 2258, 45, 45, 2258, 45, 45, - 2290, 45, 45, 2290, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 2258, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 2290, 45, 45, 2290, 45, 45, 45, 45, - 45, 45, 2290, 45, 2290, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2258, 45, 45, 45, 2258, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 2258, 2258, 45, + + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2258, 45, 2258, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, + 45, 45, 2258, 45, 45, 45, 2258, 45, 45, 2258, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, + 45, 2258, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2290, 45, 45, 45, 2290, 45, 45, 45, - 45, 45, 45, 2290, 45, 45, 2290, 2290, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 2290, 45, 45, 2290, 45, 45, - 45, 2290, 45, 45, 45, 2290, 45, 45, 2290, 2290, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, + 2258, 45, 45, 2258, 45, 45, 45, 45, 2258, 45, + 2258, 45, 45, 2258, 45, 2258, 45, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 2258, 45, 2258, 45, 45, 45, 45, 45, 2258, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 2290, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 2290, 45, 45, 45, - 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 2290, - 45, 2290, 45, 45, 2290, 45, 45, 45, 45, 2290, - 45, 2290, 45, 45, 2290, 45, 2290, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 2290, 45, 2290, 45, 45, 45, 45, - 45, 2290, 2290, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2290, - 45, 45, 2290, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2258, 45, 2258, 2258, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2290, 45, 2290, 2290, 2290, 45, + 45, 45, 45, 45, 2258, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 2290, 45, + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, + 2258, 2258, 45, 2258, 45, 2258, 45, 45, 45, 45, + 45, 45, 45, 2258, 45, 2258, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2258, 45, 45, 45, + + 45, 45, 45, 45, 45, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - 45, 45, 2290, 2290, 45, 2290, 45, 2290, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 2290, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2290, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 45, 45, + 45, 45, 45, 45, 45, 2258, 2258, 45, 45, 45, + 2258, 45, 45, 45, 45, 2258, 45, 45, 45, 45, + 45, 45, 2258, 2258, 45, 2258, 2258, 45, 45, 45, + 45, 45, 45, 45, 2258, 45, 45, 2258, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + 45, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, + 2258, 45, 45, 45, 45, 45, 45, 45, 45, 2258, + 45, 45, 45, 45, 45, 45, 45, 45, 2258, 45, + + 45, 2258, 45, 2258, 2258, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2290, 2290, 45, - 45, 45, 2290, 45, 45, 45, 45, 2290, 45, 45, - 45, 45, 45, 45, 2290, 2290, 45, 2290, 2290, 45, - 45, 45, 45, 45, 45, 45, 2290, 45, 45, 2290, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 2290, 45, 45, 45, 45, 45, 45, 2290, 45, 45, - 2290, 45, 2290, 45, 45, 45, 45, 45, 45, 45, - 45, 2290, 45, 45, 45, 45, 45, 45, 45, 45, - 2290, 45, 45, 2290, 45, 2290, 2290, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2290, 45, 45, 45, 45, - 45, 2290, 2290, 45, 45, 45, 45, 2290, 45, 45, - 2290, 45, 45, 2290, 45, 2290, 45, 45, 2290, 45, - 45, 45, 45, 45, 2290, 45, 2290, 2290, 2290, 0, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290 - + 45, 45, 45, 2258, 45, 45, 45, 45, 45, 2258, + 2258, 45, 45, 45, 45, 2258, 45, 45, 2258, 45, + 45, 2258, 45, 2258, 45, 45, 2258, 45, 45, 45, + 45, 45, 2258, 45, 2258, 2258, 2258, 0, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258 } ; -static const flex_int16_t yy_nxt[2818] = +static const flex_int16_t yy_nxt[2788] = { 0, - 2290, 13, 14, 13, 2290, 15, 16, 102, 17, 18, + 2258, 13, 14, 13, 2258, 15, 16, 101, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 86, 402, 37, 14, 37, 87, 25, 26, 38, 37, - 14, 37, 42, 27, 42, 38, 2290, 2290, 28, 91, - 13, 14, 13, 92, 29, 91, 30, 103, 13, 14, - 13, 203, 25, 31, 13, 14, 13, 42, 40, 42, - 870, 32, 13, 14, 13, 91, 40, 33, 403, 168, - 93, 94, 92, 169, 34, 35, 13, 14, 13, 203, - 15, 16, 92, 17, 18, 19, 20, 21, 22, 22, - 22, 22, 22, 23, 24, 39, 13, 14, 13, 93, - - 93, 25, 26, 39, 13, 14, 13, 42, 27, 42, - 135, 95, 136, 28, 109, 244, 41, 105, 106, 29, - 108, 30, 114, 137, 41, 232, 233, 25, 31, 96, - 382, 245, 89, 138, 89, 871, 32, 90, 90, 90, - 90, 90, 33, 109, 105, 106, 108, 383, 114, 34, + 85, 2258, 37, 14, 37, 86, 25, 26, 38, 37, + 14, 37, 42, 27, 42, 38, 2258, 2258, 28, 90, + 13, 14, 13, 91, 29, 90, 30, 102, 13, 14, + 13, 200, 25, 31, 13, 14, 13, 42, 40, 42, + 2258, 32, 13, 14, 13, 90, 40, 33, 863, 165, + 92, 93, 91, 166, 34, 35, 13, 14, 13, 200, + 15, 16, 91, 17, 18, 19, 20, 21, 22, 22, + 22, 22, 22, 23, 24, 39, 13, 14, 13, 92, + + 92, 25, 26, 39, 13, 14, 13, 42, 27, 42, + 133, 94, 134, 28, 108, 240, 41, 104, 105, 29, + 107, 30, 113, 135, 41, 229, 230, 25, 31, 95, + 374, 241, 88, 136, 88, 869, 32, 89, 89, 89, + 89, 89, 33, 108, 104, 105, 107, 375, 113, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 45, 45, 45, 48, 45, 49, 50, 45, 51, 45, 45, 52, 45, 45, 53, 45, 45, 45, 45, 54, 55, 45, 56, 45, 45, 45, 57, 45, 45, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 52, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 45, 45, 45, 45, 45, 81, 115, 82, - 82, 82, 82, 82, 81, 190, 84, 84, 84, 84, - 84, 108, 83, 85, 85, 85, 85, 85, 81, 83, - 84, 84, 84, 84, 84, 115, 83, 110, 200, 112, - 191, 105, 190, 83, 141, 111, 129, 108, 83, 130, - 131, 113, 142, 132, 133, 83, 209, 164, 139, 190, - 872, 165, 83, 110, 200, 112, 134, 191, 119, 83, - 45, 166, 191, 111, 120, 160, 45, 121, 45, 45, - - 113, 45, 209, 161, 45, 162, 193, 45, 143, 117, - 163, 144, 45, 45, 873, 45, 45, 206, 145, 194, - 146, 115, 45, 45, 45, 45, 45, 45, 45, 45, + 59, 60, 61, 62, 63, 45, 64, 65, 52, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 45, 45, 45, 45, 45, 80, 114, 81, + 81, 81, 81, 81, 80, 187, 83, 83, 83, 83, + 83, 107, 82, 84, 84, 84, 84, 84, 80, 82, + 83, 83, 83, 83, 83, 114, 82, 109, 197, 111, + 188, 104, 187, 82, 138, 110, 128, 107, 82, 129, + 130, 112, 139, 131, 101, 82, 206, 161, 137, 187, + 870, 162, 82, 109, 197, 111, 132, 188, 118, 82, + 45, 163, 189, 110, 119, 157, 45, 120, 45, 45, + + 112, 45, 206, 158, 45, 159, 190, 45, 140, 116, + 160, 141, 45, 45, 102, 45, 45, 203, 142, 205, + 143, 189, 45, 45, 45, 45, 45, 45, 105, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 206, 106, 102, 115, 45, - 148, 149, 874, 45, 150, 152, 202, 45, 188, 153, - 151, 875, 192, 154, 339, 45, 123, 114, 110, 45, - 124, 45, 118, 106, 125, 155, 111, 126, 208, 156, - 127, 170, 876, 202, 128, 171, 192, 103, 172, 199, - 157, 192, 158, 184, 159, 173, 174, 177, 178, 877, - - 175, 176, 204, 185, 111, 261, 208, 112, 186, 262, - 85, 85, 85, 85, 85, 195, 207, 878, 199, 113, - 226, 340, 81, 83, 82, 82, 82, 82, 82, 227, - 228, 204, 199, 179, 89, 180, 89, 83, 181, 90, - 90, 90, 90, 90, 101, 207, 295, 296, 182, 83, - 214, 101, 272, 879, 81, 183, 84, 84, 84, 84, - 84, 215, 256, 83, 85, 85, 85, 85, 85, 83, - 90, 90, 90, 90, 90, 257, 219, 83, 90, 90, - 90, 90, 90, 247, 101, 220, 248, 206, 101, 221, - 249, 223, 101, 224, 239, 83, 240, 241, 321, 309, - - 101, 273, 204, 83, 101, 310, 101, 101, 212, 281, - 242, 207, 282, 283, 243, 308, 213, 213, 213, 213, - 213, 276, 286, 320, 321, 213, 213, 213, 213, 213, - 213, 269, 303, 270, 319, 297, 277, 278, 279, 298, - 312, 208, 321, 299, 327, 319, 304, 880, 320, 331, - 320, 213, 213, 213, 213, 213, 213, 328, 330, 332, - 287, 288, 289, 319, 333, 335, 337, 327, 324, 314, - 327, 290, 355, 291, 322, 323, 292, 331, 293, 294, - 356, 353, 391, 328, 354, 332, 357, 330, 332, 407, - 333, 335, 411, 341, 337, 338, 338, 338, 338, 338, - - 424, 454, 412, 425, 338, 338, 338, 338, 338, 338, - 439, 440, 334, 441, 400, 442, 461, 446, 335, 458, - 458, 463, 464, 468, 463, 466, 462, 469, 408, 538, - 338, 338, 338, 338, 338, 338, 468, 496, 392, 539, - 562, 393, 409, 497, 335, 458, 459, 719, 755, 464, - 463, 466, 468, 474, 469, 756, 455, 604, 450, 472, - 472, 472, 472, 472, 609, 540, 806, 807, 472, 472, - 472, 472, 472, 472, 512, 528, 529, 555, 604, 513, - 530, 566, 556, 576, 597, 567, 604, 577, 640, 598, - 609, 610, 563, 611, 472, 472, 472, 472, 472, 472, - - 630, 641, 720, 642, 631, 653, 608, 613, 748, 749, - 654, 685, 632, 674, 633, 634, 635, 636, 637, 610, - 881, 611, 745, 675, 882, 750, 888, 752, 776, 746, - 514, 777, 884, 883, 748, 515, 868, 749, 557, 45, - 45, 45, 45, 45, 747, 885, 889, 869, 45, 45, - 45, 45, 45, 45, 750, 746, 832, 886, 887, 884, - 890, 833, 883, 891, 892, 893, 894, 895, 896, 897, - 898, 901, 885, 747, 45, 45, 45, 45, 45, 45, - 902, 899, 903, 904, 887, 905, 886, 900, 906, 907, - 908, 909, 910, 911, 912, 913, 914, 915, 834, 916, - - 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, - 927, 930, 931, 932, 928, 933, 934, 935, 929, 936, - 937, 938, 939, 940, 941, 942, 944, 945, 946, 947, - 948, 949, 950, 951, 952, 953, 954, 955, 956, 943, - 958, 957, 959, 960, 961, 962, 963, 964, 965, 966, - 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, - 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 1000, 1001, 1002, 1005, 1006, 1007, 999, 1010, - 1008, 1003, 1011, 1012, 1013, 1004, 1009, 1014, 1015, 1016, - - 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, - 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1028, 1055, - 1056, 1029, 1057, 1058, 1032, 1059, 1060, 1061, 1062, 1063, - 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, - 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1084, - 1085, 1086, 1087, 1083, 1088, 1089, 1090, 1091, 1092, 1093, - 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, - 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1112, 1113, 1114, - - 1111, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, - 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, - 1164, 1165, 1166, 1169, 1167, 1170, 1171, 1168, 1172, 1173, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, - 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1165, 1164, - 1192, 1166, 1167, 1168, 1193, 1194, 1195, 1196, 1197, 1198, - 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, - - 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 1221, 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, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1222, 1283, 1284, 1285, 1286, 1287, 1288, - 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1297, 1296, 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, 1294, 1296, 1297, 1298, 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, 1349, 1351, 1352, 1353, 1348, 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, - 1350, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, - - 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, 1416, 1417, 1418, 1419, 1421, 1420, 1422, 1423, 1424, - 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, - 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1418, - 1444, 1417, 1420, 1419, 1421, 1445, 1446, 1447, 1448, 1449, - 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, - 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, - 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, - 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, - - 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, - 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, - 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, - 1531, 1532, 1533, 1534, 1535, 1536, 1538, 1539, 1540, 1541, - 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, - 1552, 1553, 1554, 1527, 1528, 1500, 1555, 1529, 1556, 1557, - 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, - 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, - 1578, 1579, 1537, 1580, 1581, 1582, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1583, 1591, 1592, 1593, 1594, 1595, 1596, - - 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1606, 1607, - 1608, 1609, 1605, 1610, 1611, 1612, 1613, 1614, 1615, 1616, - 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, - 1628, 1629, 1630, 1633, 1627, 1632, 1634, 1635, 1636, 1637, - 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, - 1648, 1649, 1650, 1651, 1652, 1653, 1631, 1629, 1654, 1628, - 1655, 1632, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, - 1674, 1675, 1676, 1677, 1631, 1678, 1679, 1680, 1681, 1682, - 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, - - 1693, 1694, 1695, 1696, 1700, 1697, 1701, 1702, 1698, 1703, - 1704, 1699, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, - 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1722, 1721, - 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, - 1733, 1734, 1737, 1738, 1739, 1735, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1719, 1720, 1721, 1736, 1722, 1723, 1747, - 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, - 1758, 1759, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, - 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, - 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, - - 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, - 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, - 1810, 1809, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, - 1819, 1820, 1760, 1821, 1822, 1823, 1824, 1825, 1826, 1827, - 1828, 1829, 1830, 1831, 1832, 1808, 1833, 1807, 1809, 1810, - 1834, 1811, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, - 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, - 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, - 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, - 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, - - 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, - 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, - 1903, 1904, 1905, 1906, 1907, 1881, 1883, 1908, 1909, 1910, - 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, - 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, - 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1939, 1940, 1941, - 1942, 1938, 1943, 1944, 1945, 1946, 1948, 1947, 1949, 1950, - 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, - 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, - 1971, 1972, 1946, 1947, 1973, 1974, 1975, 1976, 1977, 1978, - - 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, - 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, - 2019, 2020, 2021, 2022, 1997, 1998, 2023, 1999, 2024, 2025, - 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, - 2036, 2037, 2038, 2039, 2040, 2042, 2043, 2041, 2044, 2045, - 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, - 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, - 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2046, 2048, 2073, - - 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, - 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, - 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103, - 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, - 2114, 2115, 2090, 2116, 2091, 2117, 2118, 2119, 2120, 2121, - 2122, 2123, 2124, 2125, 2127, 2126, 2128, 2129, 2130, 2131, - 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, - 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, - 2125, 2126, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, - 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, - - 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, - 2180, 2181, 2182, 2157, 2183, 2184, 2185, 2186, 2187, 2188, - 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, - 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, - 2209, 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, - 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, - 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, - 2239, 2240, 2241, 2243, 2242, 2244, 2245, 2246, 2247, 2248, - 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, - 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2266, 2267, 2268, - - 2269, 2270, 2271, 2272, 2273, 2274, 2275, 2276, 2277, 2278, - 2279, 2280, 2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, - 2289, 12, 12, 12, 36, 36, 36, 80, 99, 80, - 101, 101, 101, 116, 116, 116, 189, 867, 189, 210, - 210, 210, 866, 865, 864, 863, 862, 861, 860, 859, - 858, 857, 856, 855, 854, 853, 852, 851, 850, 849, - 848, 847, 846, 845, 844, 843, 842, 841, 840, 839, - 838, 837, 836, 835, 831, 830, 829, 828, 827, 826, - 825, 824, 823, 822, 821, 820, 819, 818, 817, 816, - 815, 814, 813, 812, 811, 810, 809, 808, 805, 804, - - 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, - 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, - 783, 782, 781, 780, 779, 778, 775, 774, 773, 772, - 771, 770, 769, 768, 767, 766, 765, 764, 763, 762, - 761, 760, 759, 758, 757, 754, 753, 751, 745, 744, - 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, - 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, - 723, 722, 721, 718, 717, 716, 715, 714, 713, 712, - 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, - 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, - - 691, 690, 689, 688, 687, 686, 684, 683, 682, 681, - 680, 679, 678, 677, 676, 673, 672, 671, 670, 669, - 668, 667, 666, 665, 664, 663, 662, 661, 660, 659, - 658, 657, 656, 655, 652, 651, 650, 649, 648, 647, - 646, 645, 644, 643, 639, 638, 629, 628, 627, 626, - 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, - 615, 614, 612, 608, 607, 606, 605, 603, 602, 601, - 600, 599, 596, 595, 594, 593, 592, 591, 590, 589, - 588, 587, 586, 585, 584, 583, 582, 581, 580, 579, - 578, 575, 574, 573, 572, 571, 570, 569, 568, 565, - - 564, 561, 560, 559, 558, 554, 553, 552, 551, 550, - 549, 548, 547, 546, 545, 544, 543, 542, 541, 537, - 536, 535, 534, 533, 532, 531, 527, 526, 525, 524, - 523, 522, 521, 520, 519, 518, 517, 516, 511, 510, - 509, 508, 507, 506, 505, 504, 503, 502, 501, 500, - 499, 498, 495, 494, 493, 492, 491, 490, 489, 488, - 487, 486, 485, 484, 483, 482, 481, 480, 479, 478, - 477, 476, 475, 473, 471, 470, 467, 465, 460, 457, - 456, 453, 452, 451, 449, 448, 447, 445, 444, 443, - 438, 437, 436, 435, 434, 433, 432, 431, 430, 429, - - 428, 427, 426, 423, 422, 421, 420, 419, 418, 417, - 416, 415, 414, 413, 410, 406, 405, 404, 401, 399, - 398, 397, 396, 395, 394, 390, 389, 388, 387, 386, - 385, 384, 381, 380, 379, 378, 377, 376, 375, 374, - 373, 372, 371, 370, 369, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 358, 352, 351, 350, 349, - 348, 347, 346, 345, 344, 343, 342, 211, 336, 334, - 329, 326, 325, 318, 317, 316, 315, 313, 311, 307, - 306, 305, 302, 301, 300, 285, 284, 280, 275, 274, - 271, 268, 267, 266, 265, 264, 263, 260, 259, 258, - - 255, 254, 253, 252, 251, 250, 246, 238, 237, 236, - 235, 234, 231, 230, 229, 225, 222, 218, 217, 216, - 211, 205, 201, 198, 197, 196, 187, 167, 147, 140, - 122, 107, 104, 43, 100, 98, 97, 88, 43, 2290, - 11, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290 + 45, 45, 45, 45, 45, 203, 114, 205, 122, 45, + 145, 146, 123, 45, 147, 105, 124, 45, 549, 125, + 148, 113, 126, 189, 256, 45, 127, 109, 257, 45, + 149, 45, 117, 114, 150, 110, 174, 175, 151, 871, + 220, 167, 221, 185, 188, 168, 111, 181, 169, 154, + 152, 155, 192, 156, 153, 170, 171, 182, 112, 196, + + 172, 173, 183, 110, 203, 84, 84, 84, 84, 84, + 550, 191, 176, 205, 177, 199, 251, 178, 82, 235, + 80, 236, 81, 81, 81, 81, 81, 179, 196, 252, + 201, 88, 303, 88, 180, 82, 89, 89, 89, 89, + 89, 309, 199, 80, 82, 83, 83, 83, 83, 83, + 84, 84, 84, 84, 84, 100, 204, 196, 82, 201, + 267, 82, 100, 82, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 89, 216, 211, 201, 290, 291, 237, + 431, 223, 432, 217, 82, 204, 212, 218, 298, 82, + 224, 225, 238, 329, 242, 100, 239, 243, 436, 100, + + 872, 244, 299, 100, 281, 264, 271, 265, 292, 268, + 276, 100, 293, 277, 278, 100, 294, 100, 100, 209, + 304, 272, 273, 274, 315, 204, 305, 210, 210, 210, + 210, 210, 347, 316, 873, 348, 210, 210, 210, 210, + 210, 210, 282, 283, 284, 314, 314, 316, 325, 315, + 444, 315, 322, 285, 307, 286, 323, 326, 287, 316, + 288, 289, 210, 210, 210, 210, 210, 210, 327, 328, + 330, 332, 322, 319, 314, 317, 318, 325, 322, 349, + 327, 401, 323, 398, 553, 326, 383, 350, 554, 414, + 330, 402, 415, 351, 327, 328, 330, 399, 335, 332, + + 333, 333, 333, 333, 333, 445, 392, 429, 430, 333, + 333, 333, 333, 333, 333, 448, 330, 448, 451, 453, + 454, 458, 500, 456, 459, 486, 874, 501, 452, 453, + 440, 487, 875, 596, 526, 333, 333, 333, 333, 333, + 333, 448, 384, 449, 527, 385, 458, 454, 453, 456, + 458, 459, 462, 462, 462, 462, 462, 591, 464, 596, + 703, 462, 462, 462, 462, 462, 462, 516, 517, 542, + 591, 584, 518, 563, 543, 528, 585, 564, 502, 597, + 627, 598, 760, 503, 659, 761, 591, 462, 462, 462, + 462, 462, 462, 628, 660, 629, 617, 639, 595, 600, + + 618, 732, 640, 670, 788, 789, 876, 597, 619, 598, + 620, 621, 622, 623, 624, 704, 739, 729, 733, 734, + 813, 730, 736, 740, 864, 814, 849, 732, 865, 866, + 544, 45, 45, 45, 45, 45, 731, 850, 868, 877, + 45, 45, 45, 45, 45, 45, 733, 730, 734, 867, + 878, 879, 880, 864, 882, 865, 866, 883, 881, 887, + 884, 885, 815, 886, 868, 731, 45, 45, 45, 45, + 45, 45, 888, 889, 890, 891, 892, 893, 867, 894, + 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, + 905, 906, 907, 910, 911, 912, 908, 913, 914, 915, + + 909, 916, 917, 918, 919, 920, 921, 922, 924, 925, + 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, + 936, 923, 938, 937, 939, 940, 941, 942, 943, 944, + 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, + 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, + 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, + 975, 976, 977, 979, 980, 981, 984, 985, 986, 978, + 989, 987, 982, 990, 991, 992, 983, 988, 993, 994, + 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, + 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + + 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, + 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1007, + 1034, 1035, 1008, 1036, 1037, 1011, 1038, 1039, 1040, 1041, + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, + 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1062, + 1063, 1064, 1065, 1061, 1066, 1067, 1068, 1069, 1070, 1071, + 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, + 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1090, 1091, 1092, + 1089, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, + 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, + + 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, + 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, + 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1146, 1144, 1147, 1148, 1145, 1149, 1150, 1151, + 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1142, 1141, 1169, + 1143, 1144, 1145, 1170, 1171, 1172, 1173, 1174, 1175, 1176, + 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, + 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, + 1197, 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, + + 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, + 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, + 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + 1258, 1259, 1199, 1260, 1261, 1262, 1263, 1264, 1265, 1266, + 1267, 1268, 1269, 1270, 1271, 1273, 1272, 1274, 1275, 1276, + 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, + 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1270, 1272, 1273, 1274, 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, 1325, 1327, 1328, 1329, 1324, 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, 1326, 1372, + 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, + 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, + 1393, 1394, 1396, 1395, 1397, 1398, 1399, 1400, 1401, 1402, + + 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1417, 1418, 1393, 1419, 1392, 1395, + 1394, 1396, 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, 1467, + 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, + 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, + 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, + + 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, + 1508, 1509, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, + 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1500, + 1501, 1528, 1529, 1502, 1530, 1531, 1532, 1533, 1534, 1535, + 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, + 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1510, 1554, + 1555, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1556, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, + 1575, 1576, 1578, 1579, 1580, 1581, 1577, 1582, 1583, 1584, + 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, + + 1595, 1596, 1597, 1598, 1600, 1601, 1602, 1605, 1599, 1604, + 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, + 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, + 1603, 1601, 1626, 1600, 1627, 1604, 1628, 1629, 1630, 1631, + 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, + 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1603, 1650, + 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, + 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1671, 1668, 1672, + 1673, 1669, 1674, 1675, 1670, 1676, 1677, 1678, 1679, 1680, + 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, + + 1691, 1693, 1692, 1694, 1695, 1696, 1697, 1698, 1699, 1700, + 1701, 1702, 1703, 1704, 1705, 1708, 1709, 1710, 1706, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1690, 1691, 1692, 1707, + 1693, 1694, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1732, 1733, 1734, 1735, 1736, + 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, + 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, + 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, + 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, + 1777, 1778, 1780, 1779, 1781, 1782, 1783, 1784, 1785, 1786, + + 1787, 1788, 1789, 1790, 1791, 1731, 1792, 1793, 1794, 1795, + 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1778, 1803, 1777, + 1779, 1780, 1804, 1781, 1805, 1806, 1807, 1808, 1809, 1810, + 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1818, 1819, 1820, + 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, + 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, + 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, + 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, + 1861, 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, + 1871, 1872, 1873, 1874, 1875, 1876, 1850, 1852, 1877, 1878, + + 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, + 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, + 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1907, 1908, 1909, + 1910, 1906, 1911, 1912, 1913, 1914, 1916, 1915, 1917, 1918, + 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, + 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, + 1939, 1940, 1914, 1915, 1941, 1942, 1943, 1944, 1945, 1946, + 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, + 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, + 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, + + 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, + 1987, 1988, 1989, 1990, 1965, 1966, 1991, 1967, 1992, 1993, + 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2009, 2012, 2013, + 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, + 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, + 2034, 2035, 2036, 2037, 2038, 2039, 2040, 2014, 2016, 2041, + 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, + 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, + 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, + + 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, + 2082, 2083, 2058, 2084, 2059, 2085, 2086, 2087, 2088, 2089, + 2090, 2091, 2092, 2093, 2095, 2094, 2096, 2097, 2098, 2099, + 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, + 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, + 2093, 2094, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, + 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, + 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, + 2148, 2149, 2150, 2125, 2151, 2152, 2153, 2154, 2155, 2156, + 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, + + 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, + 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, + 2187, 2188, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, + 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2204, 2205, 2206, + 2207, 2208, 2209, 2211, 2210, 2212, 2213, 2214, 2215, 2216, + 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2226, + 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, + 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, + 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, + 2257, 12, 12, 12, 36, 36, 36, 79, 98, 79, + + 100, 100, 100, 115, 115, 115, 186, 862, 186, 207, + 207, 207, 861, 860, 859, 858, 857, 856, 855, 854, + 853, 852, 851, 848, 847, 846, 845, 844, 843, 842, + 841, 840, 839, 838, 837, 836, 835, 834, 833, 832, + 831, 830, 829, 828, 827, 826, 825, 824, 823, 822, + 821, 820, 819, 818, 817, 816, 812, 811, 810, 809, + 808, 807, 806, 805, 804, 803, 802, 801, 800, 799, + 798, 797, 796, 795, 794, 793, 792, 791, 790, 787, + 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, + 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, + + 766, 765, 764, 763, 762, 759, 758, 757, 756, 755, + 754, 753, 752, 751, 750, 749, 748, 747, 746, 745, + 744, 743, 742, 741, 738, 737, 735, 729, 728, 727, + 726, 725, 724, 723, 722, 721, 720, 719, 718, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, + 706, 705, 702, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 689, 688, 687, 686, 685, + 684, 683, 682, 681, 680, 679, 678, 677, 676, 675, + 674, 673, 672, 671, 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, 638, 637, 636, 635, 634, 633, 632, 631, 630, + 626, 625, 616, 615, 614, 613, 612, 611, 610, 609, + 608, 607, 606, 605, 604, 603, 602, 601, 599, 595, + 594, 593, 592, 590, 589, 588, 587, 586, 583, 582, + 581, 580, 579, 578, 577, 576, 575, 574, 573, 572, + 571, 570, 569, 568, 567, 566, 565, 562, 561, 560, + 559, 558, 557, 556, 555, 552, 551, 548, 547, 546, + 545, 541, 540, 539, 538, 537, 536, 535, 534, 533, + 532, 531, 530, 529, 525, 524, 523, 522, 521, 520, + + 519, 515, 514, 513, 512, 511, 510, 509, 508, 507, + 506, 505, 504, 499, 498, 497, 496, 495, 494, 493, + 492, 491, 490, 489, 488, 485, 484, 483, 482, 481, + 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, + 470, 469, 468, 467, 466, 465, 463, 461, 460, 457, + 455, 450, 447, 446, 443, 442, 441, 439, 438, 437, + 435, 434, 433, 428, 427, 426, 425, 424, 423, 422, + 421, 420, 419, 418, 417, 416, 413, 412, 411, 410, + 409, 408, 407, 406, 405, 404, 403, 400, 397, 396, + 395, 394, 393, 391, 390, 389, 388, 387, 386, 382, + + 381, 380, 379, 378, 377, 376, 373, 372, 371, 370, + 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, + 359, 358, 357, 356, 355, 354, 353, 352, 346, 345, + 344, 343, 342, 341, 340, 339, 338, 337, 336, 334, + 208, 331, 329, 324, 321, 320, 313, 312, 311, 310, + 308, 306, 302, 301, 300, 297, 296, 295, 280, 279, + 275, 270, 269, 266, 263, 262, 261, 260, 259, 258, + 255, 254, 253, 250, 249, 248, 247, 246, 245, 234, + 233, 232, 231, 228, 227, 226, 222, 219, 215, 214, + 213, 208, 202, 198, 195, 194, 193, 184, 164, 144, + + 121, 106, 103, 43, 99, 97, 96, 87, 43, 2258, + 11, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258 } ; -static const flex_int16_t yy_chk[2818] = +static const flex_int16_t yy_chk[2788] = { 0, 0, 1, 1, 1, 0, 1, 1, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 271, 3, 3, 3, 21, 1, 1, 3, 4, + 21, 0, 3, 3, 3, 21, 1, 1, 3, 4, 4, 4, 13, 1, 13, 4, 0, 0, 1, 26, 5, 5, 5, 27, 1, 31, 1, 44, 6, 6, - 6, 109, 1, 1, 7, 7, 7, 37, 7, 37, - 731, 1, 8, 8, 8, 26, 8, 1, 271, 74, - 28, 31, 27, 74, 1, 1, 2, 2, 2, 109, + 6, 108, 1, 1, 7, 7, 7, 37, 7, 37, + 0, 1, 8, 8, 8, 26, 8, 1, 728, 73, + 28, 31, 27, 73, 1, 1, 2, 2, 2, 108, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 9, 9, 9, 28, 33, 2, 2, 6, 10, 10, 10, 42, 2, 42, - 62, 32, 62, 2, 52, 139, 9, 48, 49, 2, - 51, 2, 55, 62, 10, 131, 131, 2, 2, 33, - 254, 139, 25, 62, 25, 732, 2, 25, 25, 25, - 25, 25, 2, 52, 48, 49, 51, 254, 55, 2, + 62, 32, 62, 2, 52, 137, 9, 48, 49, 2, + 51, 2, 55, 62, 10, 130, 130, 2, 2, 33, + 249, 137, 25, 62, 25, 735, 2, 25, 25, 25, + 25, 25, 2, 52, 48, 49, 51, 249, 55, 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, @@ -1854,291 +1839,287 @@ static const flex_int16_t yy_chk[2818] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 56, 17, - 17, 17, 17, 17, 19, 91, 19, 19, 19, 19, + 17, 17, 17, 17, 19, 90, 19, 19, 19, 19, 19, 63, 17, 20, 20, 20, 20, 20, 22, 19, - 22, 22, 22, 22, 22, 56, 20, 53, 106, 54, - 92, 58, 91, 22, 65, 53, 61, 63, 17, 61, - 61, 54, 65, 61, 61, 19, 115, 72, 63, 94, - 733, 72, 20, 53, 106, 54, 61, 92, 58, 22, - 45, 72, 95, 53, 58, 71, 45, 58, 45, 45, - - 54, 45, 115, 71, 45, 71, 94, 45, 66, 57, - 71, 66, 45, 45, 734, 45, 57, 112, 66, 95, - 66, 79, 45, 45, 45, 45, 45, 45, 45, 45, + 22, 22, 22, 22, 22, 56, 20, 53, 105, 54, + 91, 58, 90, 22, 64, 53, 61, 63, 17, 61, + 61, 54, 64, 61, 100, 19, 114, 71, 63, 93, + 736, 71, 20, 53, 105, 54, 61, 91, 58, 22, + 45, 71, 92, 53, 58, 70, 45, 58, 45, 45, + + 54, 45, 114, 70, 45, 70, 93, 45, 65, 57, + 70, 65, 45, 45, 100, 45, 57, 111, 65, 113, + 65, 92, 45, 45, 45, 45, 45, 45, 60, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 112, 60, 101, 79, 57, - 68, 68, 735, 57, 68, 69, 108, 57, 79, 69, - 68, 736, 93, 69, 214, 57, 60, 77, 70, 57, - 60, 57, 57, 60, 60, 69, 70, 60, 114, 69, - 60, 75, 737, 108, 60, 75, 96, 101, 75, 105, - 70, 93, 70, 77, 70, 75, 75, 76, 76, 738, - - 75, 75, 110, 77, 70, 152, 114, 76, 77, 152, - 81, 81, 81, 81, 81, 96, 113, 739, 105, 76, - 127, 214, 82, 81, 82, 82, 82, 82, 82, 127, - 127, 110, 119, 76, 83, 76, 83, 82, 76, 83, - 83, 83, 83, 83, 103, 113, 170, 170, 76, 81, - 119, 103, 161, 740, 84, 76, 84, 84, 84, 84, - 84, 119, 148, 82, 85, 85, 85, 85, 85, 84, - 89, 89, 89, 89, 89, 148, 123, 85, 90, 90, - 90, 90, 90, 141, 103, 123, 141, 179, 103, 123, - 141, 125, 103, 125, 137, 84, 137, 138, 192, 180, - - 103, 161, 159, 85, 103, 180, 103, 103, 118, 166, - 138, 182, 166, 166, 138, 179, 118, 118, 118, 118, - 118, 164, 169, 191, 192, 118, 118, 118, 118, 118, - 118, 159, 175, 159, 190, 171, 164, 164, 164, 171, - 182, 184, 195, 171, 199, 193, 175, 741, 194, 203, - 191, 118, 118, 118, 118, 118, 118, 200, 202, 204, - 169, 169, 169, 190, 205, 207, 209, 215, 195, 184, - 199, 169, 228, 169, 193, 194, 169, 203, 169, 169, - 228, 227, 262, 200, 227, 204, 228, 202, 269, 275, - 205, 207, 277, 215, 209, 213, 213, 213, 213, 213, - - 289, 316, 277, 289, 213, 213, 213, 213, 213, 213, - 303, 303, 308, 304, 269, 304, 326, 308, 312, 319, - 322, 327, 328, 332, 341, 330, 326, 333, 275, 399, - 213, 213, 213, 213, 213, 213, 400, 363, 262, 399, - 422, 262, 275, 363, 312, 319, 322, 576, 617, 328, - 327, 330, 332, 341, 333, 617, 316, 463, 312, 338, - 338, 338, 338, 338, 469, 400, 667, 667, 338, 338, - 338, 338, 338, 338, 378, 391, 391, 416, 474, 378, - 391, 425, 416, 434, 455, 425, 463, 434, 496, 455, - 469, 471, 422, 471, 338, 338, 338, 338, 338, 338, - - 493, 496, 576, 496, 493, 508, 540, 474, 609, 610, - 508, 540, 493, 529, 493, 493, 493, 493, 493, 471, - 743, 471, 613, 529, 744, 611, 751, 613, 637, 605, - 378, 637, 747, 746, 609, 378, 730, 610, 416, 472, - 472, 472, 472, 472, 605, 748, 752, 730, 472, 472, - 472, 472, 472, 472, 611, 605, 693, 749, 750, 747, - 753, 693, 746, 754, 755, 756, 757, 758, 759, 760, - 761, 763, 748, 605, 472, 472, 472, 472, 472, 472, - 764, 762, 765, 765, 750, 765, 749, 762, 766, 767, - 768, 769, 770, 771, 772, 773, 774, 775, 693, 776, - - 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, - 787, 788, 789, 790, 787, 791, 792, 793, 787, 795, - 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, - 806, 807, 808, 809, 810, 811, 812, 813, 814, 801, - 815, 814, 816, 817, 819, 820, 821, 822, 823, 824, - 825, 826, 827, 828, 829, 830, 831, 833, 834, 835, - 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, - 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, - 856, 857, 858, 859, 859, 860, 861, 862, 857, 864, - 863, 859, 865, 866, 867, 859, 863, 869, 870, 871, + 45, 45, 45, 45, 45, 111, 78, 113, 60, 57, + 67, 67, 60, 57, 67, 60, 60, 57, 412, 60, + 67, 76, 60, 95, 149, 57, 60, 69, 149, 57, + 68, 57, 57, 78, 68, 69, 75, 75, 68, 737, + 124, 74, 124, 78, 94, 74, 75, 76, 74, 69, + 68, 69, 95, 69, 68, 74, 74, 76, 75, 104, + + 74, 74, 76, 69, 176, 80, 80, 80, 80, 80, + 412, 94, 75, 181, 75, 107, 145, 75, 80, 135, + 81, 135, 81, 81, 81, 81, 81, 75, 104, 145, + 109, 82, 176, 82, 75, 81, 82, 82, 82, 82, + 82, 181, 107, 83, 80, 83, 83, 83, 83, 83, + 84, 84, 84, 84, 84, 102, 112, 118, 83, 109, + 158, 81, 102, 84, 88, 88, 88, 88, 88, 89, + 89, 89, 89, 89, 122, 118, 156, 167, 167, 136, + 299, 126, 299, 122, 83, 112, 118, 122, 172, 84, + 126, 126, 136, 303, 138, 102, 136, 138, 303, 102, + + 738, 138, 172, 102, 166, 156, 161, 156, 168, 158, + 163, 102, 168, 163, 163, 102, 168, 102, 102, 117, + 177, 161, 161, 161, 188, 179, 177, 117, 117, 117, + 117, 117, 224, 189, 739, 224, 117, 117, 117, 117, + 117, 117, 166, 166, 166, 187, 190, 192, 199, 191, + 311, 188, 196, 166, 179, 166, 197, 200, 166, 189, + 166, 166, 117, 117, 117, 117, 117, 117, 201, 202, + 204, 206, 212, 192, 187, 190, 191, 199, 196, 225, + 264, 272, 197, 270, 415, 200, 257, 225, 415, 284, + 307, 272, 284, 225, 201, 202, 204, 270, 212, 206, + + 210, 210, 210, 210, 210, 311, 264, 298, 298, 210, + 210, 210, 210, 210, 210, 314, 307, 317, 321, 322, + 323, 327, 370, 325, 328, 357, 740, 370, 321, 335, + 307, 357, 741, 459, 391, 210, 210, 210, 210, 210, + 210, 314, 257, 317, 391, 257, 392, 323, 322, 325, + 327, 328, 333, 333, 333, 333, 333, 453, 335, 459, + 563, 333, 333, 333, 333, 333, 333, 383, 383, 406, + 464, 445, 383, 424, 406, 392, 445, 424, 370, 461, + 486, 461, 624, 370, 517, 624, 453, 333, 333, 333, + 333, 333, 333, 486, 517, 486, 483, 497, 528, 464, + + 483, 596, 497, 528, 652, 652, 742, 461, 483, 461, + 483, 483, 483, 483, 483, 563, 604, 600, 597, 598, + 677, 592, 600, 604, 730, 677, 714, 596, 731, 732, + 406, 462, 462, 462, 462, 462, 592, 714, 734, 743, + 462, 462, 462, 462, 462, 462, 597, 592, 598, 733, + 744, 745, 746, 730, 747, 731, 732, 748, 746, 750, + 749, 749, 677, 749, 734, 592, 462, 462, 462, 462, + 462, 462, 751, 752, 753, 754, 755, 756, 733, 757, + 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, + 768, 769, 770, 771, 772, 773, 770, 774, 775, 776, + + 770, 777, 778, 779, 780, 781, 782, 783, 784, 785, + 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, + 796, 783, 797, 796, 798, 799, 801, 802, 803, 804, + 805, 806, 807, 808, 809, 810, 811, 812, 814, 815, + 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, + 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, + 836, 837, 838, 839, 840, 840, 841, 842, 843, 838, + 845, 844, 840, 846, 847, 848, 840, 844, 850, 851, + 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, - 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, - 892, 893, 894, 895, 896, 897, 898, 899, 900, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 883, 911, - 912, 884, 913, 914, 887, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, - 930, 931, 932, 933, 935, 936, 937, 938, 939, 940, - 941, 942, 943, 939, 944, 945, 946, 947, 948, 949, - 950, 951, 954, 955, 956, 957, 958, 959, 962, 963, - 964, 965, 966, 967, 968, 970, 971, 972, 973, 974, - - 971, 975, 976, 977, 978, 979, 983, 984, 985, 986, - 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, - 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1015, 1016, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1033, 1031, 1034, 1035, 1032, 1036, 1037, - 1038, 1039, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1029, 1028, - 1057, 1030, 1031, 1032, 1058, 1059, 1060, 1061, 1062, 1063, - 1064, 1065, 1066, 1067, 1069, 1070, 1071, 1072, 1073, 1074, - - 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1092, 1093, 1094, 1095, 1096, - 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1120, 1121, 1122, 1123, 1125, 1126, 1127, 1128, - 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, - 1139, 1140, 1141, 1142, 1144, 1145, 1146, 1147, 1148, 1149, - 1150, 1151, 1152, 1088, 1153, 1154, 1155, 1156, 1157, 1158, - 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1167, 1166, 1168, - 1170, 1171, 1172, 1173, 1174, 1175, 1177, 1178, 1179, 1181, - - 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, - 1192, 1193, 1194, 1195, 1164, 1166, 1167, 1168, 1196, 1197, - 1198, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, - 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 1219, 1220, 1222, 1223, 1224, 1225, 1226, 1222, 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, 1262, 1263, 1264, 1265, 1267, 1268, 1269, 1271, - 1223, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, - - 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, - 1291, 1292, 1294, 1295, 1296, 1298, 1297, 1299, 1300, 1301, - 1302, 1303, 1304, 1305, 1307, 1308, 1309, 1310, 1311, 1312, - 1313, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1295, - 1323, 1294, 1297, 1296, 1298, 1325, 1326, 1327, 1328, 1329, - 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, - 1340, 1341, 1342, 1343, 1345, 1346, 1348, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, - 1363, 1365, 1367, 1368, 1369, 1370, 1372, 1373, 1374, 1375, - 1376, 1378, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, - - 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1397, 1398, 1399, - 1400, 1401, 1402, 1403, 1404, 1407, 1408, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, - 1423, 1424, 1425, 1426, 1427, 1429, 1430, 1431, 1432, 1433, - 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, - 1444, 1445, 1446, 1418, 1419, 1388, 1447, 1420, 1448, 1449, - 1450, 1451, 1452, 1453, 1455, 1456, 1457, 1458, 1459, 1460, + 883, 884, 885, 886, 887, 888, 889, 890, 891, 864, + 892, 893, 865, 894, 895, 868, 896, 897, 898, 899, + 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 915, 916, 917, 918, 919, 920, + 921, 922, 923, 919, 924, 925, 926, 927, 928, 929, + 930, 931, 934, 935, 936, 937, 938, 939, 942, 943, + 944, 945, 946, 947, 948, 950, 951, 952, 953, 954, + 951, 955, 956, 957, 958, 962, 963, 964, 965, 966, + 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, + + 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 994, 995, 996, 997, + 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, + 1008, 1009, 1012, 1010, 1013, 1014, 1011, 1015, 1016, 1017, + 1018, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1008, 1007, 1036, + 1009, 1010, 1011, 1037, 1038, 1039, 1040, 1041, 1042, 1043, + 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, + 1054, 1055, 1056, 1057, 1058, 1059, 1061, 1062, 1063, 1064, + 1065, 1066, 1067, 1068, 1070, 1071, 1072, 1073, 1074, 1075, + + 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, + 1097, 1098, 1099, 1100, 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, 1066, 1131, 1132, 1133, 1134, 1135, 1136, 1137, + 1138, 1139, 1140, 1141, 1142, 1144, 1143, 1145, 1147, 1148, + 1149, 1150, 1151, 1152, 1154, 1155, 1156, 1158, 1159, 1160, + 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, + 1171, 1172, 1141, 1143, 1144, 1145, 1173, 1174, 1175, 1177, + + 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, + 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, + 1199, 1200, 1201, 1202, 1203, 1199, 1204, 1205, 1206, 1207, + 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, + 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, + 1228, 1229, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1243, 1244, 1245, 1247, 1248, 1200, 1249, + 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, + 1271, 1272, 1274, 1273, 1275, 1276, 1277, 1278, 1279, 1280, + + 1281, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1291, 1292, + 1293, 1294, 1295, 1296, 1297, 1298, 1271, 1299, 1270, 1273, + 1272, 1274, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, + 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, + 1319, 1321, 1322, 1324, 1326, 1327, 1328, 1329, 1330, 1331, + 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1341, 1343, + 1344, 1345, 1346, 1348, 1349, 1350, 1351, 1353, 1356, 1357, + 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, + 1368, 1369, 1370, 1372, 1373, 1374, 1375, 1376, 1377, 1378, + 1379, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, + + 1391, 1392, 1393, 1394, 1395, 1396, 1398, 1399, 1400, 1401, + 1402, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, + 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1393, + 1394, 1422, 1423, 1395, 1424, 1425, 1426, 1427, 1428, 1430, + 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, + 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1404, 1449, + 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1458, 1450, 1459, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, - 1471, 1472, 1429, 1473, 1474, 1475, 1476, 1477, 1478, 1479, - 1480, 1481, 1483, 1475, 1484, 1487, 1488, 1489, 1490, 1491, - - 1492, 1493, 1494, 1495, 1496, 1498, 1499, 1500, 1501, 1502, - 1503, 1505, 1500, 1505, 1506, 1508, 1509, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 1519, 1520, 1522, 1523, 1524, 1525, - 1526, 1527, 1528, 1531, 1525, 1529, 1532, 1533, 1534, 1535, - 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, - 1547, 1548, 1549, 1550, 1551, 1552, 1528, 1527, 1553, 1526, - 1554, 1529, 1555, 1557, 1558, 1559, 1561, 1562, 1563, 1564, - 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1575, - 1577, 1578, 1580, 1581, 1528, 1582, 1583, 1584, 1585, 1586, - 1587, 1588, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1599, - - 1600, 1602, 1603, 1605, 1606, 1605, 1607, 1608, 1605, 1609, - 1610, 1605, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, - 1619, 1620, 1622, 1624, 1625, 1627, 1628, 1629, 1631, 1630, - 1632, 1634, 1636, 1637, 1638, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1648, 1649, 1650, 1647, 1651, 1652, 1653, 1654, - 1655, 1656, 1657, 1628, 1629, 1630, 1647, 1631, 1632, 1658, - 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, - 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, - 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, - 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, - - 1698, 1699, 1700, 1701, 1703, 1704, 1705, 1706, 1707, 1708, - 1709, 1710, 1711, 1712, 1714, 1715, 1716, 1718, 1719, 1720, - 1722, 1721, 1723, 1725, 1726, 1729, 1730, 1731, 1733, 1734, - 1735, 1736, 1669, 1737, 1738, 1739, 1740, 1741, 1742, 1743, - 1744, 1745, 1746, 1748, 1750, 1720, 1751, 1719, 1721, 1722, - 1752, 1723, 1753, 1754, 1755, 1756, 1757, 1758, 1760, 1761, - 1762, 1763, 1764, 1766, 1767, 1769, 1770, 1771, 1773, 1774, - 1775, 1777, 1778, 1781, 1782, 1783, 1784, 1785, 1786, 1787, - 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, - 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1806, 1807, 1808, - - 1809, 1810, 1811, 1813, 1814, 1815, 1817, 1818, 1819, 1820, - 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, - 1831, 1832, 1833, 1834, 1835, 1807, 1809, 1836, 1838, 1839, - 1840, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1851, - 1852, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, - 1863, 1864, 1865, 1866, 1868, 1869, 1871, 1873, 1874, 1876, - 1877, 1871, 1878, 1879, 1881, 1883, 1886, 1884, 1888, 1889, - 1890, 1891, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, - 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, - 1912, 1913, 1883, 1884, 1914, 1915, 1916, 1917, 1919, 1920, - - 1921, 1923, 1924, 1925, 1926, 1927, 1928, 1930, 1931, 1932, - 1933, 1935, 1937, 1938, 1939, 1940, 1941, 1944, 1945, 1946, - 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1957, - 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, - 1968, 1969, 1971, 1972, 1945, 1946, 1974, 1947, 1975, 1976, - 1977, 1978, 1979, 1980, 1982, 1983, 1984, 1985, 1986, 1987, - 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1992, 1995, 1996, - 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - 2007, 2008, 2009, 2010, 2012, 2013, 2014, 2015, 2016, 2017, - 2018, 2019, 2020, 2021, 2022, 2023, 2024, 1997, 1999, 2026, - - 2030, 2031, 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2039, - 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2048, 2050, 2051, - 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, - 2062, 2063, 2064, 2065, 2067, 2068, 2069, 2070, 2071, 2072, - 2075, 2077, 2046, 2079, 2048, 2080, 2081, 2082, 2083, 2084, - 2085, 2087, 2089, 2090, 2092, 2091, 2093, 2094, 2095, 2096, - 2097, 2098, 2100, 2101, 2102, 2103, 2104, 2105, 2107, 2108, - 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, - 2090, 2091, 2120, 2121, 2122, 2123, 2124, 2125, 2126, 2127, - 2128, 2130, 2131, 2132, 2133, 2134, 2135, 2136, 2137, 2139, - - 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, - 2150, 2151, 2152, 2125, 2153, 2154, 2155, 2156, 2157, 2160, - 2161, 2162, 2164, 2165, 2166, 2167, 2169, 2170, 2171, 2172, - 2173, 2174, 2177, 2180, 2181, 2182, 2183, 2184, 2185, 2186, - 2188, 2189, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, - 2199, 2200, 2202, 2203, 2204, 2205, 2206, 2207, 2209, 2210, - 2212, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2223, - 2224, 2225, 2226, 2227, 2226, 2228, 2229, 2230, 2232, 2233, - 2235, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, - 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2257, - - 2258, 2259, 2260, 2261, 2264, 2265, 2266, 2267, 2269, 2270, - 2272, 2273, 2275, 2277, 2278, 2280, 2281, 2282, 2283, 2284, - 2286, 2291, 2291, 2291, 2292, 2292, 2292, 2293, 2294, 2293, - 2295, 2295, 2295, 2296, 2296, 2296, 2297, 729, 2297, 2298, - 2298, 2298, 728, 727, 726, 724, 723, 722, 721, 720, - 719, 718, 717, 716, 715, 714, 713, 712, 710, 709, - 708, 707, 706, 705, 704, 703, 702, 700, 699, 698, - 697, 696, 695, 694, 692, 691, 690, 689, 688, 687, - 686, 685, 684, 683, 681, 680, 679, 678, 677, 676, - 675, 674, 673, 672, 671, 670, 669, 668, 666, 665, - - 664, 663, 662, 661, 660, 659, 658, 657, 656, 655, - 654, 652, 651, 650, 649, 648, 647, 646, 645, 644, - 643, 642, 641, 640, 639, 638, 636, 635, 634, 633, - 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, - 622, 621, 620, 619, 618, 616, 615, 612, 604, 603, - 602, 601, 600, 599, 598, 596, 595, 593, 592, 590, - 589, 588, 587, 586, 585, 584, 583, 582, 581, 580, - 579, 578, 577, 575, 574, 573, 572, 571, 570, 569, - 568, 567, 566, 565, 564, 563, 562, 561, 560, 559, - 557, 556, 554, 553, 552, 551, 550, 549, 548, 547, - - 546, 545, 544, 543, 542, 541, 539, 538, 536, 535, - 534, 533, 532, 531, 530, 528, 527, 526, 525, 524, - 523, 522, 521, 520, 519, 518, 517, 516, 515, 514, - 513, 511, 510, 509, 507, 506, 505, 504, 503, 502, - 501, 500, 498, 497, 495, 494, 491, 490, 489, 488, - 487, 486, 484, 483, 482, 481, 480, 479, 478, 477, - 476, 475, 473, 468, 466, 465, 464, 462, 461, 460, - 457, 456, 454, 453, 451, 450, 449, 448, 447, 446, - 445, 444, 443, 442, 441, 440, 439, 438, 437, 436, - 435, 433, 432, 431, 430, 429, 428, 427, 426, 424, - - 423, 421, 419, 418, 417, 415, 414, 413, 412, 411, - 410, 409, 408, 407, 406, 405, 404, 403, 401, 398, - 397, 396, 395, 394, 393, 392, 390, 389, 388, 387, - 386, 385, 384, 383, 382, 381, 380, 379, 377, 376, - 375, 374, 373, 372, 371, 370, 369, 368, 367, 366, - 365, 364, 362, 361, 360, 359, 358, 357, 356, 355, - 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, - 344, 343, 342, 340, 337, 335, 331, 329, 325, 318, - 317, 315, 314, 313, 311, 310, 309, 307, 306, 305, - 302, 301, 300, 299, 298, 297, 296, 295, 294, 293, - - 292, 291, 290, 288, 287, 286, 285, 284, 283, 282, - 281, 280, 279, 278, 276, 274, 273, 272, 270, 268, - 267, 266, 265, 264, 263, 261, 260, 259, 258, 257, - 256, 255, 253, 252, 250, 249, 248, 247, 246, 245, - 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, - 234, 233, 232, 231, 230, 229, 226, 225, 224, 223, - 222, 221, 220, 219, 218, 217, 216, 210, 208, 206, - 201, 198, 196, 188, 187, 186, 185, 183, 181, 178, - 177, 176, 174, 173, 172, 168, 167, 165, 163, 162, - 160, 158, 157, 156, 155, 154, 153, 151, 150, 149, - - 147, 146, 145, 144, 143, 142, 140, 136, 135, 134, - 133, 132, 130, 129, 128, 126, 124, 122, 121, 120, - 116, 111, 107, 104, 99, 98, 78, 73, 67, 64, + 1472, 1473, 1474, 1475, 1476, 1478, 1473, 1478, 1479, 1481, + 1482, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + + 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1504, 1498, 1502, + 1505, 1506, 1507, 1508, 1510, 1511, 1512, 1513, 1514, 1515, + 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, + 1501, 1500, 1526, 1499, 1527, 1502, 1528, 1530, 1531, 1532, + 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, + 1544, 1545, 1546, 1548, 1550, 1551, 1553, 1554, 1501, 1555, + 1556, 1557, 1558, 1559, 1560, 1561, 1563, 1564, 1565, 1566, + 1567, 1568, 1569, 1572, 1573, 1575, 1577, 1578, 1577, 1579, + 1580, 1577, 1581, 1582, 1577, 1583, 1584, 1585, 1586, 1587, + 1588, 1589, 1590, 1591, 1592, 1594, 1596, 1597, 1599, 1600, + + 1601, 1603, 1602, 1604, 1606, 1608, 1609, 1610, 1612, 1613, + 1614, 1615, 1616, 1617, 1618, 1620, 1621, 1622, 1619, 1623, + 1624, 1625, 1626, 1627, 1628, 1629, 1600, 1601, 1602, 1619, + 1603, 1604, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, + 1638, 1639, 1640, 1640, 1641, 1642, 1643, 1644, 1645, 1646, + 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, + 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, + 1667, 1668, 1669, 1670, 1671, 1672, 1674, 1675, 1676, 1677, + 1678, 1679, 1680, 1681, 1682, 1683, 1685, 1686, 1687, 1689, + 1690, 1691, 1693, 1692, 1694, 1696, 1697, 1700, 1701, 1702, + + 1704, 1705, 1706, 1707, 1708, 1641, 1709, 1710, 1711, 1712, + 1713, 1714, 1715, 1716, 1717, 1719, 1721, 1691, 1722, 1690, + 1692, 1693, 1723, 1694, 1724, 1725, 1726, 1727, 1728, 1729, + 1731, 1732, 1733, 1734, 1735, 1737, 1738, 1740, 1741, 1742, + 1744, 1745, 1746, 1748, 1749, 1752, 1753, 1754, 1755, 1756, + 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, + 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1776, 1777, + 1778, 1779, 1780, 1781, 1783, 1784, 1785, 1787, 1788, 1789, + 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, + 1800, 1801, 1802, 1803, 1804, 1805, 1777, 1779, 1806, 1808, + + 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1818, 1819, 1820, + 1821, 1822, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, + 1832, 1833, 1834, 1835, 1837, 1838, 1840, 1842, 1843, 1845, + 1846, 1840, 1847, 1848, 1850, 1852, 1855, 1853, 1857, 1858, + 1859, 1860, 1861, 1862, 1863, 1864, 1866, 1867, 1868, 1869, + 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, + 1881, 1882, 1852, 1853, 1883, 1884, 1885, 1886, 1888, 1889, + 1890, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, + 1901, 1903, 1905, 1906, 1907, 1908, 1909, 1912, 1913, 1914, + 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1925, + + 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, + 1936, 1937, 1939, 1940, 1913, 1914, 1942, 1915, 1943, 1944, + 1945, 1946, 1947, 1948, 1950, 1951, 1952, 1953, 1954, 1955, + 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1960, 1963, 1964, + 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, + 1975, 1976, 1977, 1978, 1980, 1981, 1982, 1983, 1984, 1985, + 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1965, 1967, 1994, + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2018, 2019, + 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, + + 2030, 2031, 2032, 2033, 2035, 2036, 2037, 2038, 2039, 2040, + 2043, 2045, 2014, 2047, 2016, 2048, 2049, 2050, 2051, 2052, + 2053, 2055, 2057, 2058, 2060, 2059, 2061, 2062, 2063, 2064, + 2065, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2075, 2076, + 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, + 2058, 2059, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, + 2096, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2107, + 2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, + 2118, 2119, 2120, 2093, 2121, 2122, 2123, 2124, 2125, 2128, + 2129, 2130, 2132, 2133, 2134, 2135, 2137, 2138, 2139, 2140, + + 2141, 2142, 2145, 2148, 2149, 2150, 2151, 2152, 2153, 2154, + 2156, 2157, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, + 2167, 2168, 2170, 2171, 2172, 2173, 2174, 2175, 2177, 2178, + 2180, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2191, + 2192, 2193, 2194, 2195, 2194, 2196, 2197, 2198, 2200, 2201, + 2203, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213, 2214, + 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2225, + 2226, 2227, 2228, 2229, 2232, 2233, 2234, 2235, 2237, 2238, + 2240, 2241, 2243, 2245, 2246, 2248, 2249, 2250, 2251, 2252, + 2254, 2259, 2259, 2259, 2260, 2260, 2260, 2261, 2262, 2261, + + 2263, 2263, 2263, 2264, 2264, 2264, 2265, 727, 2265, 2266, + 2266, 2266, 725, 724, 723, 722, 721, 720, 719, 718, + 717, 716, 715, 713, 712, 711, 710, 708, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 698, 697, 696, + 694, 693, 692, 691, 690, 689, 688, 687, 686, 684, + 683, 682, 681, 680, 679, 678, 676, 675, 674, 673, + 672, 671, 670, 669, 668, 666, 665, 664, 663, 662, + 661, 660, 659, 658, 657, 656, 655, 654, 653, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, + 640, 638, 637, 636, 635, 634, 633, 632, 631, 630, + + 629, 628, 627, 626, 625, 623, 622, 621, 620, 619, + 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, + 608, 607, 606, 605, 603, 602, 599, 591, 590, 589, + 588, 587, 586, 585, 583, 582, 580, 579, 577, 576, + 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, + 565, 564, 562, 561, 560, 559, 558, 557, 556, 555, + 554, 553, 552, 551, 550, 549, 548, 547, 546, 544, + 543, 541, 540, 539, 538, 537, 536, 535, 534, 533, + 532, 531, 530, 529, 527, 526, 524, 523, 522, 521, + 520, 519, 518, 516, 515, 514, 513, 512, 511, 510, + + 509, 508, 507, 506, 505, 504, 503, 502, 501, 499, + 498, 496, 495, 494, 493, 492, 491, 490, 489, 487, + 485, 484, 481, 480, 479, 478, 477, 476, 474, 473, + 472, 471, 470, 469, 468, 467, 466, 465, 463, 458, + 456, 455, 454, 452, 451, 450, 447, 446, 444, 443, + 441, 440, 439, 438, 437, 436, 435, 434, 433, 432, + 431, 430, 429, 428, 427, 426, 425, 423, 422, 421, + 420, 419, 418, 417, 416, 414, 413, 411, 409, 408, + 407, 405, 404, 403, 402, 401, 400, 399, 398, 397, + 396, 395, 394, 393, 390, 389, 388, 387, 386, 385, + + 384, 382, 381, 380, 379, 378, 377, 376, 375, 374, + 373, 372, 371, 369, 368, 367, 366, 365, 364, 363, + 362, 361, 360, 359, 358, 356, 355, 354, 353, 352, + 351, 350, 349, 348, 347, 346, 345, 344, 343, 342, + 341, 340, 339, 338, 337, 336, 334, 332, 330, 326, + 324, 320, 313, 312, 310, 309, 308, 306, 305, 304, + 302, 301, 300, 297, 296, 295, 294, 293, 292, 291, + 290, 289, 288, 287, 286, 285, 283, 282, 281, 280, + 279, 278, 277, 276, 275, 274, 273, 271, 269, 268, + 267, 266, 265, 263, 262, 261, 260, 259, 258, 256, + + 255, 254, 253, 252, 251, 250, 248, 247, 245, 244, + 243, 242, 241, 240, 239, 238, 237, 236, 235, 234, + 233, 232, 231, 230, 229, 228, 227, 226, 223, 222, + 221, 220, 219, 218, 217, 216, 215, 214, 213, 211, + 207, 205, 203, 198, 195, 193, 185, 184, 183, 182, + 180, 178, 175, 174, 173, 171, 170, 169, 165, 164, + 162, 160, 159, 157, 155, 154, 153, 152, 151, 150, + 148, 147, 146, 144, 143, 142, 141, 140, 139, 134, + 133, 132, 131, 129, 128, 127, 125, 123, 121, 120, + 119, 115, 110, 106, 103, 98, 97, 77, 72, 66, + 59, 50, 47, 43, 41, 39, 38, 24, 14, 11, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - - 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, 2290, - 2290, 2290, 2290, 2290, 2290, 2290, 2290 + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, 2258, + 2258, 2258, 2258, 2258, 2258, 2258, 2258 } ; static yy_state_type yy_last_accepting_state; @@ -2147,7 +2128,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[230] = +static const flex_int16_t yy_rule_linenum[224] = { 0, 147, 149, 151, 156, 157, 162, 163, 164, 176, 179, 184, 191, 200, 209, 218, 227, 236, 245, 254, 264, @@ -2160,20 +2141,20 @@ static const flex_int16_t yy_rule_linenum[230] = 885, 894, 903, 912, 922, 933, 943, 954, 963, 973, 987, 1003, 1012, 1021, 1030, 1039, 1048, 1057, 1079, 1101, - 1110, 1120, 1129, 1140, 1149, 1158, 1167, 1176, 1185, 1196, - 1207, 1218, 1228, 1237, 1248, 1259, 1270, 1281, 1293, 1302, - 1311, 1320, 1329, 1338, 1347, 1356, 1365, 1374, 1383, 1393, - 1404, 1416, 1425, 1434, 1443, 1453, 1463, 1473, 1483, 1493, - 1503, 1512, 1522, 1531, 1540, 1549, 1558, 1568, 1577, 1586, - 1596, 1605, 1614, 1623, 1632, 1641, 1650, 1659, 1668, 1677, - 1686, 1695, 1704, 1713, 1722, 1731, 1740, 1749, 1758, 1767, - 1776, 1785, 1794, 1803, 1812, 1821, 1830, 1839, 1848, 1857, - 1866, 1877, 1888, 1898, 1908, 1918, 1928, 1938, 1948, 1958, - 1968, 1978, 1987, 1996, 2005, 2014, 2025, 2036, 2049, 2062, - - 2075, 2084, 2093, 2102, 2111, 2120, 2129, 2138, 2147, 2159, - 2168, 2269, 2285, 2334, 2342, 2357, 2358, 2359, 2360, 2361, - 2362, 2364, 2382, 2395, 2400, 2404, 2406, 2408, 2410 + 1110, 1120, 1129, 1140, 1151, 1162, 1172, 1181, 1192, 1203, + 1214, 1225, 1237, 1246, 1255, 1264, 1273, 1282, 1291, 1300, + 1309, 1318, 1327, 1337, 1348, 1360, 1369, 1378, 1387, 1397, + 1407, 1417, 1427, 1437, 1447, 1456, 1466, 1475, 1484, 1493, + 1502, 1512, 1521, 1530, 1540, 1549, 1558, 1567, 1576, 1585, + 1594, 1603, 1612, 1621, 1630, 1639, 1648, 1657, 1666, 1675, + 1684, 1693, 1702, 1711, 1720, 1729, 1738, 1747, 1756, 1765, + 1774, 1783, 1792, 1801, 1810, 1821, 1832, 1842, 1852, 1862, + 1872, 1882, 1892, 1902, 1912, 1922, 1931, 1940, 1949, 1958, + 1969, 1980, 1993, 2006, 2019, 2028, 2037, 2046, 2055, 2064, + + 2073, 2082, 2091, 2103, 2112, 2213, 2229, 2278, 2286, 2301, + 2302, 2303, 2304, 2305, 2306, 2308, 2326, 2339, 2344, 2348, + 2350, 2352, 2354 } ; /* The intent behind this definition is that it'll catch @@ -2228,7 +2209,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 2232 "dhcp4_lexer.cc" +#line 2213 "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 @@ -2254,8 +2235,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2258 "dhcp4_lexer.cc" -#line 2259 "dhcp4_lexer.cc" +#line 2239 "dhcp4_lexer.cc" +#line 2240 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2583,7 +2564,7 @@ YY_DECL } -#line 2587 "dhcp4_lexer.cc" +#line 2568 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2612,13 +2593,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 >= 2291 ) + if ( yy_current_state >= 2259 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2290 ); + while ( yy_current_state != 2258 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2637,13 +2618,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 230 ) + else if ( yy_act < 224 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 230 ) + else if ( yy_act == 224 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 231 ) + else if ( yy_act == 225 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -3960,80 +3941,6 @@ YY_RULE_SETUP case 103: YY_RULE_SETUP #line 1129 "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_RESERVATION_MODE(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("reservation-mode", driver.loc_); - } -} - YY_BREAK -case 104: -YY_RULE_SETUP -#line 1140 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RESERVATION_MODE: - return isc::dhcp::Dhcp4Parser::make_DISABLED(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("disabled", driver.loc_); - } -} - YY_BREAK -case 105: -YY_RULE_SETUP -#line 1149 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RESERVATION_MODE: - return isc::dhcp::Dhcp4Parser::make_DISABLED(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("off", driver.loc_); - } -} - YY_BREAK -case 106: -YY_RULE_SETUP -#line 1158 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RESERVATION_MODE: - return isc::dhcp::Dhcp4Parser::make_OUT_OF_POOL(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("out-of-pool", driver.loc_); - } -} - YY_BREAK -case 107: -YY_RULE_SETUP -#line 1167 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RESERVATION_MODE: - return isc::dhcp::Dhcp4Parser::make_GLOBAL(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("global", driver.loc_); - } -} - YY_BREAK -case 108: -YY_RULE_SETUP -#line 1176 "dhcp4_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser4Context::RESERVATION_MODE: - return isc::dhcp::Dhcp4Parser::make_ALL(driver.loc_); - default: - return isc::dhcp::Dhcp4Parser::make_STRING("all", driver.loc_); - } -} - YY_BREAK -case 109: -YY_RULE_SETUP -#line 1185 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4045,9 +3952,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 104: YY_RULE_SETUP -#line 1196 "dhcp4_lexer.ll" +#line 1140 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4059,9 +3966,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 105: YY_RULE_SETUP -#line 1207 "dhcp4_lexer.ll" +#line 1151 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4073,9 +3980,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 106: YY_RULE_SETUP -#line 1218 "dhcp4_lexer.ll" +#line 1162 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4086,9 +3993,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 107: YY_RULE_SETUP -#line 1228 "dhcp4_lexer.ll" +#line 1172 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4098,9 +4005,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 108: YY_RULE_SETUP -#line 1237 "dhcp4_lexer.ll" +#line 1181 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4112,9 +4019,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 109: YY_RULE_SETUP -#line 1248 "dhcp4_lexer.ll" +#line 1192 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4126,9 +4033,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 110: YY_RULE_SETUP -#line 1259 "dhcp4_lexer.ll" +#line 1203 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4140,9 +4047,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 111: YY_RULE_SETUP -#line 1270 "dhcp4_lexer.ll" +#line 1214 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4154,9 +4061,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 112: YY_RULE_SETUP -#line 1281 "dhcp4_lexer.ll" +#line 1225 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4168,9 +4075,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 113: YY_RULE_SETUP -#line 1293 "dhcp4_lexer.ll" +#line 1237 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4180,9 +4087,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 114: YY_RULE_SETUP -#line 1302 "dhcp4_lexer.ll" +#line 1246 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4192,9 +4099,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 115: YY_RULE_SETUP -#line 1311 "dhcp4_lexer.ll" +#line 1255 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4204,9 +4111,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 116: YY_RULE_SETUP -#line 1320 "dhcp4_lexer.ll" +#line 1264 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4216,9 +4123,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 117: YY_RULE_SETUP -#line 1329 "dhcp4_lexer.ll" +#line 1273 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4228,9 +4135,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 118: YY_RULE_SETUP -#line 1338 "dhcp4_lexer.ll" +#line 1282 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4240,9 +4147,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 119: YY_RULE_SETUP -#line 1347 "dhcp4_lexer.ll" +#line 1291 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4252,9 +4159,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 120: YY_RULE_SETUP -#line 1356 "dhcp4_lexer.ll" +#line 1300 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4264,9 +4171,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 121: YY_RULE_SETUP -#line 1365 "dhcp4_lexer.ll" +#line 1309 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -4276,9 +4183,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 122: YY_RULE_SETUP -#line 1374 "dhcp4_lexer.ll" +#line 1318 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -4288,9 +4195,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 123: YY_RULE_SETUP -#line 1383 "dhcp4_lexer.ll" +#line 1327 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4301,9 +4208,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 124: YY_RULE_SETUP -#line 1393 "dhcp4_lexer.ll" +#line 1337 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4315,9 +4222,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 125: YY_RULE_SETUP -#line 1404 "dhcp4_lexer.ll" +#line 1348 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4330,9 +4237,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 126: YY_RULE_SETUP -#line 1416 "dhcp4_lexer.ll" +#line 1360 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4342,9 +4249,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 127: YY_RULE_SETUP -#line 1425 "dhcp4_lexer.ll" +#line 1369 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4354,9 +4261,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 128: YY_RULE_SETUP -#line 1434 "dhcp4_lexer.ll" +#line 1378 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: @@ -4366,9 +4273,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 129: YY_RULE_SETUP -#line 1443 "dhcp4_lexer.ll" +#line 1387 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4379,9 +4286,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 130: YY_RULE_SETUP -#line 1453 "dhcp4_lexer.ll" +#line 1397 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4392,9 +4299,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 131: YY_RULE_SETUP -#line 1463 "dhcp4_lexer.ll" +#line 1407 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4405,9 +4312,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 132: YY_RULE_SETUP -#line 1473 "dhcp4_lexer.ll" +#line 1417 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4418,9 +4325,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 133: YY_RULE_SETUP -#line 1483 "dhcp4_lexer.ll" +#line 1427 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4431,9 +4338,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 134: YY_RULE_SETUP -#line 1493 "dhcp4_lexer.ll" +#line 1437 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -4444,9 +4351,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 135: YY_RULE_SETUP -#line 1503 "dhcp4_lexer.ll" +#line 1447 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -4456,9 +4363,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 136: YY_RULE_SETUP -#line 1512 "dhcp4_lexer.ll" +#line 1456 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4469,9 +4376,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 137: YY_RULE_SETUP -#line 1522 "dhcp4_lexer.ll" +#line 1466 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -4481,9 +4388,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 138: YY_RULE_SETUP -#line 1531 "dhcp4_lexer.ll" +#line 1475 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4493,9 +4400,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 139: YY_RULE_SETUP -#line 1540 "dhcp4_lexer.ll" +#line 1484 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4505,9 +4412,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 140: YY_RULE_SETUP -#line 1549 "dhcp4_lexer.ll" +#line 1493 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -4517,9 +4424,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 141: YY_RULE_SETUP -#line 1558 "dhcp4_lexer.ll" +#line 1502 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -4530,9 +4437,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 142: YY_RULE_SETUP -#line 1568 "dhcp4_lexer.ll" +#line 1512 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -4542,9 +4449,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 143: YY_RULE_SETUP -#line 1577 "dhcp4_lexer.ll" +#line 1521 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -4554,9 +4461,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 144: YY_RULE_SETUP -#line 1586 "dhcp4_lexer.ll" +#line 1530 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4566,9 +4473,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 145: YY_RULE_SETUP -#line 1596 "dhcp4_lexer.ll" +#line 1540 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4578,9 +4485,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 146: YY_RULE_SETUP -#line 1605 "dhcp4_lexer.ll" +#line 1549 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -4590,9 +4497,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 147: YY_RULE_SETUP -#line 1614 "dhcp4_lexer.ll" +#line 1558 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4602,9 +4509,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 148: YY_RULE_SETUP -#line 1623 "dhcp4_lexer.ll" +#line 1567 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4614,9 +4521,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 149: YY_RULE_SETUP -#line 1632 "dhcp4_lexer.ll" +#line 1576 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4626,9 +4533,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 150: YY_RULE_SETUP -#line 1641 "dhcp4_lexer.ll" +#line 1585 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4638,9 +4545,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 151: YY_RULE_SETUP -#line 1650 "dhcp4_lexer.ll" +#line 1594 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4650,9 +4557,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 152: YY_RULE_SETUP -#line 1659 "dhcp4_lexer.ll" +#line 1603 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4662,9 +4569,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 153: YY_RULE_SETUP -#line 1668 "dhcp4_lexer.ll" +#line 1612 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -4674,9 +4581,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 154: YY_RULE_SETUP -#line 1677 "dhcp4_lexer.ll" +#line 1621 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4686,9 +4593,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 155: YY_RULE_SETUP -#line 1686 "dhcp4_lexer.ll" +#line 1630 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4698,9 +4605,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 156: YY_RULE_SETUP -#line 1695 "dhcp4_lexer.ll" +#line 1639 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4710,9 +4617,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 157: YY_RULE_SETUP -#line 1704 "dhcp4_lexer.ll" +#line 1648 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4722,9 +4629,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 158: YY_RULE_SETUP -#line 1713 "dhcp4_lexer.ll" +#line 1657 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING: @@ -4734,9 +4641,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 159: YY_RULE_SETUP -#line 1722 "dhcp4_lexer.ll" +#line 1666 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4746,9 +4653,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 160: YY_RULE_SETUP -#line 1731 "dhcp4_lexer.ll" +#line 1675 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4758,9 +4665,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 161: YY_RULE_SETUP -#line 1740 "dhcp4_lexer.ll" +#line 1684 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -4770,9 +4677,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 162: YY_RULE_SETUP -#line 1749 "dhcp4_lexer.ll" +#line 1693 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4782,9 +4689,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 163: YY_RULE_SETUP -#line 1758 "dhcp4_lexer.ll" +#line 1702 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4794,9 +4701,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 164: YY_RULE_SETUP -#line 1767 "dhcp4_lexer.ll" +#line 1711 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4806,9 +4713,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 165: YY_RULE_SETUP -#line 1776 "dhcp4_lexer.ll" +#line 1720 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL: @@ -4818,9 +4725,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 166: YY_RULE_SETUP -#line 1785 "dhcp4_lexer.ll" +#line 1729 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4830,9 +4737,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 167: YY_RULE_SETUP -#line 1794 "dhcp4_lexer.ll" +#line 1738 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4842,9 +4749,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 168: YY_RULE_SETUP -#line 1803 "dhcp4_lexer.ll" +#line 1747 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4854,9 +4761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 169: YY_RULE_SETUP -#line 1812 "dhcp4_lexer.ll" +#line 1756 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4866,9 +4773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 170: YY_RULE_SETUP -#line 1821 "dhcp4_lexer.ll" +#line 1765 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4878,9 +4785,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 171: YY_RULE_SETUP -#line 1830 "dhcp4_lexer.ll" +#line 1774 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4890,9 +4797,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 172: YY_RULE_SETUP -#line 1839 "dhcp4_lexer.ll" +#line 1783 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4902,9 +4809,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 173: YY_RULE_SETUP -#line 1848 "dhcp4_lexer.ll" +#line 1792 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4914,9 +4821,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 174: YY_RULE_SETUP -#line 1857 "dhcp4_lexer.ll" +#line 1801 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -4926,9 +4833,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 175: YY_RULE_SETUP -#line 1866 "dhcp4_lexer.ll" +#line 1810 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4940,9 +4847,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 176: YY_RULE_SETUP -#line 1877 "dhcp4_lexer.ll" +#line 1821 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -4954,9 +4861,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 177: YY_RULE_SETUP -#line 1888 "dhcp4_lexer.ll" +#line 1832 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4967,9 +4874,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 184: +case 178: YY_RULE_SETUP -#line 1898 "dhcp4_lexer.ll" +#line 1842 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -4980,9 +4887,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 185: +case 179: YY_RULE_SETUP -#line 1908 "dhcp4_lexer.ll" +#line 1852 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -4993,9 +4900,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 186: +case 180: YY_RULE_SETUP -#line 1918 "dhcp4_lexer.ll" +#line 1862 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5006,9 +4913,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 187: +case 181: YY_RULE_SETUP -#line 1928 "dhcp4_lexer.ll" +#line 1872 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5019,9 +4926,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 188: +case 182: YY_RULE_SETUP -#line 1938 "dhcp4_lexer.ll" +#line 1882 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5032,9 +4939,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 189: +case 183: YY_RULE_SETUP -#line 1948 "dhcp4_lexer.ll" +#line 1892 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5045,9 +4952,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 190: +case 184: YY_RULE_SETUP -#line 1958 "dhcp4_lexer.ll" +#line 1902 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5058,9 +4965,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 191: +case 185: YY_RULE_SETUP -#line 1968 "dhcp4_lexer.ll" +#line 1912 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -5071,9 +4978,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 192: +case 186: YY_RULE_SETUP -#line 1978 "dhcp4_lexer.ll" +#line 1922 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5083,9 +4990,9 @@ YY_RULE_SETUP } } YY_BREAK -case 193: +case 187: YY_RULE_SETUP -#line 1987 "dhcp4_lexer.ll" +#line 1931 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5095,9 +5002,9 @@ YY_RULE_SETUP } } YY_BREAK -case 194: +case 188: YY_RULE_SETUP -#line 1996 "dhcp4_lexer.ll" +#line 1940 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -5107,9 +5014,9 @@ YY_RULE_SETUP } } YY_BREAK -case 195: +case 189: YY_RULE_SETUP -#line 2005 "dhcp4_lexer.ll" +#line 1949 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5119,9 +5026,9 @@ YY_RULE_SETUP } } YY_BREAK -case 196: +case 190: YY_RULE_SETUP -#line 2014 "dhcp4_lexer.ll" +#line 1958 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5133,9 +5040,9 @@ YY_RULE_SETUP } } YY_BREAK -case 197: +case 191: YY_RULE_SETUP -#line 2025 "dhcp4_lexer.ll" +#line 1969 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5147,9 +5054,9 @@ YY_RULE_SETUP } } YY_BREAK -case 198: +case 192: YY_RULE_SETUP -#line 2036 "dhcp4_lexer.ll" +#line 1980 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5163,9 +5070,9 @@ YY_RULE_SETUP } } YY_BREAK -case 199: +case 193: YY_RULE_SETUP -#line 2049 "dhcp4_lexer.ll" +#line 1993 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5179,9 +5086,9 @@ YY_RULE_SETUP } } YY_BREAK -case 200: +case 194: YY_RULE_SETUP -#line 2062 "dhcp4_lexer.ll" +#line 2006 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5195,9 +5102,9 @@ YY_RULE_SETUP } } YY_BREAK -case 201: +case 195: YY_RULE_SETUP -#line 2075 "dhcp4_lexer.ll" +#line 2019 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5207,9 +5114,9 @@ YY_RULE_SETUP } } YY_BREAK -case 202: +case 196: YY_RULE_SETUP -#line 2084 "dhcp4_lexer.ll" +#line 2028 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5219,9 +5126,9 @@ YY_RULE_SETUP } } YY_BREAK -case 203: +case 197: YY_RULE_SETUP -#line 2093 "dhcp4_lexer.ll" +#line 2037 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5231,9 +5138,9 @@ YY_RULE_SETUP } } YY_BREAK -case 204: +case 198: YY_RULE_SETUP -#line 2102 "dhcp4_lexer.ll" +#line 2046 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5243,9 +5150,9 @@ YY_RULE_SETUP } } YY_BREAK -case 205: +case 199: YY_RULE_SETUP -#line 2111 "dhcp4_lexer.ll" +#line 2055 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5255,9 +5162,9 @@ YY_RULE_SETUP } } YY_BREAK -case 206: +case 200: YY_RULE_SETUP -#line 2120 "dhcp4_lexer.ll" +#line 2064 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5267,9 +5174,9 @@ YY_RULE_SETUP } } YY_BREAK -case 207: +case 201: YY_RULE_SETUP -#line 2129 "dhcp4_lexer.ll" +#line 2073 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5279,9 +5186,9 @@ YY_RULE_SETUP } } YY_BREAK -case 208: +case 202: YY_RULE_SETUP -#line 2138 "dhcp4_lexer.ll" +#line 2082 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::COMPATIBILITY: @@ -5291,9 +5198,9 @@ YY_RULE_SETUP } } YY_BREAK -case 209: +case 203: YY_RULE_SETUP -#line 2147 "dhcp4_lexer.ll" +#line 2091 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5306,9 +5213,9 @@ YY_RULE_SETUP } } YY_BREAK -case 210: +case 204: YY_RULE_SETUP -#line 2159 "dhcp4_lexer.ll" +#line 2103 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -5318,9 +5225,9 @@ YY_RULE_SETUP } } YY_BREAK -case 211: +case 205: YY_RULE_SETUP -#line 2168 "dhcp4_lexer.ll" +#line 2112 "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. @@ -5422,10 +5329,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 212: -/* rule 212 can match eol */ +case 206: +/* rule 206 can match eol */ YY_RULE_SETUP -#line 2269 "dhcp4_lexer.ll" +#line 2213 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5442,10 +5349,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 213: -/* rule 213 can match eol */ +case 207: +/* rule 207 can match eol */ YY_RULE_SETUP -#line 2285 "dhcp4_lexer.ll" +#line 2229 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5495,9 +5402,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 214: +case 208: YY_RULE_SETUP -#line 2334 "dhcp4_lexer.ll" +#line 2278 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5506,9 +5413,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 215: +case 209: YY_RULE_SETUP -#line 2342 "dhcp4_lexer.ll" +#line 2286 "dhcp4_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5524,39 +5431,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 216: +case 210: YY_RULE_SETUP -#line 2357 "dhcp4_lexer.ll" +#line 2301 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 217: +case 211: YY_RULE_SETUP -#line 2358 "dhcp4_lexer.ll" +#line 2302 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 218: +case 212: YY_RULE_SETUP -#line 2359 "dhcp4_lexer.ll" +#line 2303 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 219: +case 213: YY_RULE_SETUP -#line 2360 "dhcp4_lexer.ll" +#line 2304 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 220: +case 214: YY_RULE_SETUP -#line 2361 "dhcp4_lexer.ll" +#line 2305 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 221: +case 215: YY_RULE_SETUP -#line 2362 "dhcp4_lexer.ll" +#line 2306 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 222: +case 216: YY_RULE_SETUP -#line 2364 "dhcp4_lexer.ll" +#line 2308 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5575,9 +5482,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 223: +case 217: YY_RULE_SETUP -#line 2382 "dhcp4_lexer.ll" +#line 2326 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5591,43 +5498,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 224: +case 218: YY_RULE_SETUP -#line 2395 "dhcp4_lexer.ll" +#line 2339 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 225: +case 219: YY_RULE_SETUP -#line 2400 "dhcp4_lexer.ll" +#line 2344 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 226: +case 220: YY_RULE_SETUP -#line 2404 "dhcp4_lexer.ll" +#line 2348 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 227: +case 221: YY_RULE_SETUP -#line 2406 "dhcp4_lexer.ll" +#line 2350 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 228: +case 222: YY_RULE_SETUP -#line 2408 "dhcp4_lexer.ll" +#line 2352 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 229: +case 223: YY_RULE_SETUP -#line 2410 "dhcp4_lexer.ll" +#line 2354 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2412 "dhcp4_lexer.ll" +#line 2356 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -5651,12 +5558,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 230: +case 224: YY_RULE_SETUP -#line 2435 "dhcp4_lexer.ll" +#line 2379 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 5660 "dhcp4_lexer.cc" +#line 5567 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -5975,7 +5882,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 >= 2291 ) + if ( yy_current_state >= 2259 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6008,11 +5915,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2291 ) + if ( yy_current_state >= 2259 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2290); + yy_is_jam = (yy_current_state == 2258); return yy_is_jam ? 0 : yy_current_state; } @@ -6761,7 +6668,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2435 "dhcp4_lexer.ll" +#line 2379 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index ca68d34020..6eafe2f385 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -222,7 +222,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value)); break; @@ -266,7 +265,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (that.value)); break; @@ -310,7 +308,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.copy< ElementPtr > (that.value); break; @@ -353,7 +350,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (that.value); break; @@ -411,87 +407,81 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 417 "dhcp4_parser.cc" +#line 413 "dhcp4_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 423 "dhcp4_parser.cc" +#line 419 "dhcp4_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 429 "dhcp4_parser.cc" +#line 425 "dhcp4_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 435 "dhcp4_parser.cc" +#line 431 "dhcp4_parser.cc" break; case symbol_kind::S_value: // value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 441 "dhcp4_parser.cc" +#line 437 "dhcp4_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 447 "dhcp4_parser.cc" +#line 443 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 453 "dhcp4_parser.cc" +#line 449 "dhcp4_parser.cc" break; case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 459 "dhcp4_parser.cc" +#line 455 "dhcp4_parser.cc" break; case symbol_kind::S_socket_type: // socket_type -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 465 "dhcp4_parser.cc" +#line 461 "dhcp4_parser.cc" break; case symbol_kind::S_outbound_interface_value: // outbound_interface_value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 471 "dhcp4_parser.cc" +#line 467 "dhcp4_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 477 "dhcp4_parser.cc" +#line 473 "dhcp4_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 483 "dhcp4_parser.cc" - break; - - case symbol_kind::S_hr_mode: // hr_mode -#line 307 "dhcp4_parser.yy" - { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 489 "dhcp4_parser.cc" +#line 479 "dhcp4_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 307 "dhcp4_parser.yy" +#line 301 "dhcp4_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 495 "dhcp4_parser.cc" +#line 485 "dhcp4_parser.cc" break; default: @@ -729,7 +719,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value yylhs.value.emplace< ElementPtr > (); break; @@ -771,300 +760,300 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 316 "dhcp4_parser.yy" +#line 310 "dhcp4_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } -#line 777 "dhcp4_parser.cc" +#line 766 "dhcp4_parser.cc" break; case 4: // $@2: %empty -#line 317 "dhcp4_parser.yy" +#line 311 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 783 "dhcp4_parser.cc" +#line 772 "dhcp4_parser.cc" break; case 6: // $@3: %empty -#line 318 "dhcp4_parser.yy" +#line 312 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } -#line 789 "dhcp4_parser.cc" +#line 778 "dhcp4_parser.cc" break; case 8: // $@4: %empty -#line 319 "dhcp4_parser.yy" +#line 313 "dhcp4_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } -#line 795 "dhcp4_parser.cc" +#line 784 "dhcp4_parser.cc" break; case 10: // $@5: %empty -#line 320 "dhcp4_parser.yy" +#line 314 "dhcp4_parser.yy" { ctx.ctx_ = ctx.SUBNET4; } -#line 801 "dhcp4_parser.cc" +#line 790 "dhcp4_parser.cc" break; case 12: // $@6: %empty -#line 321 "dhcp4_parser.yy" +#line 315 "dhcp4_parser.yy" { ctx.ctx_ = ctx.POOLS; } -#line 807 "dhcp4_parser.cc" +#line 796 "dhcp4_parser.cc" break; case 14: // $@7: %empty -#line 322 "dhcp4_parser.yy" +#line 316 "dhcp4_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } -#line 813 "dhcp4_parser.cc" +#line 802 "dhcp4_parser.cc" break; case 16: // $@8: %empty -#line 323 "dhcp4_parser.yy" +#line 317 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP4; } -#line 819 "dhcp4_parser.cc" +#line 808 "dhcp4_parser.cc" break; case 18: // $@9: %empty -#line 324 "dhcp4_parser.yy" +#line 318 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } -#line 825 "dhcp4_parser.cc" +#line 814 "dhcp4_parser.cc" break; case 20: // $@10: %empty -#line 325 "dhcp4_parser.yy" +#line 319 "dhcp4_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } -#line 831 "dhcp4_parser.cc" +#line 820 "dhcp4_parser.cc" break; case 22: // $@11: %empty -#line 326 "dhcp4_parser.yy" +#line 320 "dhcp4_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } -#line 837 "dhcp4_parser.cc" +#line 826 "dhcp4_parser.cc" break; case 24: // $@12: %empty -#line 327 "dhcp4_parser.yy" +#line 321 "dhcp4_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } -#line 843 "dhcp4_parser.cc" +#line 832 "dhcp4_parser.cc" break; case 26: // $@13: %empty -#line 328 "dhcp4_parser.yy" +#line 322 "dhcp4_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } -#line 849 "dhcp4_parser.cc" +#line 838 "dhcp4_parser.cc" break; case 28: // value: "integer" -#line 336 "dhcp4_parser.yy" +#line 330 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 855 "dhcp4_parser.cc" +#line 844 "dhcp4_parser.cc" break; case 29: // value: "floating point" -#line 337 "dhcp4_parser.yy" +#line 331 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 861 "dhcp4_parser.cc" +#line 850 "dhcp4_parser.cc" break; case 30: // value: "boolean" -#line 338 "dhcp4_parser.yy" +#line 332 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 867 "dhcp4_parser.cc" +#line 856 "dhcp4_parser.cc" break; case 31: // value: "constant string" -#line 339 "dhcp4_parser.yy" +#line 333 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 873 "dhcp4_parser.cc" +#line 862 "dhcp4_parser.cc" break; case 32: // value: "null" -#line 340 "dhcp4_parser.yy" +#line 334 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 879 "dhcp4_parser.cc" +#line 868 "dhcp4_parser.cc" break; case 33: // value: map2 -#line 341 "dhcp4_parser.yy" +#line 335 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 885 "dhcp4_parser.cc" +#line 874 "dhcp4_parser.cc" break; case 34: // value: list_generic -#line 342 "dhcp4_parser.yy" +#line 336 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 891 "dhcp4_parser.cc" +#line 880 "dhcp4_parser.cc" break; case 35: // sub_json: value -#line 345 "dhcp4_parser.yy" +#line 339 "dhcp4_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 900 "dhcp4_parser.cc" +#line 889 "dhcp4_parser.cc" break; case 36: // $@14: %empty -#line 350 "dhcp4_parser.yy" +#line 344 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 911 "dhcp4_parser.cc" +#line 900 "dhcp4_parser.cc" break; case 37: // map2: "{" $@14 map_content "}" -#line 355 "dhcp4_parser.yy" +#line 349 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 921 "dhcp4_parser.cc" +#line 910 "dhcp4_parser.cc" break; case 38: // map_value: map2 -#line 361 "dhcp4_parser.yy" +#line 355 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 927 "dhcp4_parser.cc" +#line 916 "dhcp4_parser.cc" break; case 41: // not_empty_map: "constant string" ":" value -#line 368 "dhcp4_parser.yy" +#line 362 "dhcp4_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 937 "dhcp4_parser.cc" +#line 926 "dhcp4_parser.cc" break; case 42: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 373 "dhcp4_parser.yy" +#line 367 "dhcp4_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 948 "dhcp4_parser.cc" +#line 937 "dhcp4_parser.cc" break; case 43: // not_empty_map: not_empty_map "," -#line 379 "dhcp4_parser.yy" +#line 373 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 956 "dhcp4_parser.cc" +#line 945 "dhcp4_parser.cc" break; case 44: // $@15: %empty -#line 384 "dhcp4_parser.yy" +#line 378 "dhcp4_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 965 "dhcp4_parser.cc" +#line 954 "dhcp4_parser.cc" break; case 45: // list_generic: "[" $@15 list_content "]" -#line 387 "dhcp4_parser.yy" +#line 381 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here } -#line 973 "dhcp4_parser.cc" +#line 962 "dhcp4_parser.cc" break; case 48: // not_empty_list: value -#line 395 "dhcp4_parser.yy" +#line 389 "dhcp4_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 982 "dhcp4_parser.cc" +#line 971 "dhcp4_parser.cc" break; case 49: // not_empty_list: not_empty_list "," value -#line 399 "dhcp4_parser.yy" +#line 393 "dhcp4_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 991 "dhcp4_parser.cc" +#line 980 "dhcp4_parser.cc" break; case 50: // not_empty_list: not_empty_list "," -#line 403 "dhcp4_parser.yy" +#line 397 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 999 "dhcp4_parser.cc" +#line 988 "dhcp4_parser.cc" break; case 51: // $@16: %empty -#line 409 "dhcp4_parser.yy" +#line 403 "dhcp4_parser.yy" { // List parsing about to start } -#line 1007 "dhcp4_parser.cc" +#line 996 "dhcp4_parser.cc" break; case 52: // list_strings: "[" $@16 list_strings_content "]" -#line 411 "dhcp4_parser.yy" +#line 405 "dhcp4_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); } -#line 1016 "dhcp4_parser.cc" +#line 1005 "dhcp4_parser.cc" break; case 55: // not_empty_list_strings: "constant string" -#line 420 "dhcp4_parser.yy" +#line 414 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 1025 "dhcp4_parser.cc" +#line 1014 "dhcp4_parser.cc" break; case 56: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 424 "dhcp4_parser.yy" +#line 418 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 1034 "dhcp4_parser.cc" +#line 1023 "dhcp4_parser.cc" break; case 57: // not_empty_list_strings: not_empty_list_strings "," -#line 428 "dhcp4_parser.yy" +#line 422 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1042 "dhcp4_parser.cc" +#line 1031 "dhcp4_parser.cc" break; case 58: // unknown_map_entry: "constant string" ":" -#line 438 "dhcp4_parser.yy" +#line 432 "dhcp4_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 1053 "dhcp4_parser.cc" +#line 1042 "dhcp4_parser.cc" break; case 59: // $@17: %empty -#line 447 "dhcp4_parser.yy" +#line 441 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1064 "dhcp4_parser.cc" +#line 1053 "dhcp4_parser.cc" break; case 60: // syntax_map: "{" $@17 global_object "}" -#line 452 "dhcp4_parser.yy" +#line 446 "dhcp4_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1073,11 +1062,11 @@ namespace isc { namespace dhcp { // Dhcp4 is required ctx.require("Dhcp4", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 1077 "dhcp4_parser.cc" +#line 1066 "dhcp4_parser.cc" break; case 61: // $@18: %empty -#line 462 "dhcp4_parser.yy" +#line 456 "dhcp4_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1088,381 +1077,381 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP4); } -#line 1092 "dhcp4_parser.cc" +#line 1081 "dhcp4_parser.cc" break; case 62: // global_object: "Dhcp4" $@18 ":" "{" global_params "}" -#line 471 "dhcp4_parser.yy" +#line 465 "dhcp4_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1102 "dhcp4_parser.cc" +#line 1091 "dhcp4_parser.cc" break; case 64: // global_object_comma: global_object "," -#line 479 "dhcp4_parser.yy" +#line 473 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1110 "dhcp4_parser.cc" +#line 1099 "dhcp4_parser.cc" break; case 65: // $@19: %empty -#line 485 "dhcp4_parser.yy" +#line 479 "dhcp4_parser.yy" { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1120 "dhcp4_parser.cc" +#line 1109 "dhcp4_parser.cc" break; case 66: // sub_dhcp4: "{" $@19 global_params "}" -#line 489 "dhcp4_parser.yy" +#line 483 "dhcp4_parser.yy" { // No global parameter is required // parsing completed } -#line 1129 "dhcp4_parser.cc" +#line 1118 "dhcp4_parser.cc" break; case 69: // global_params: global_params "," -#line 496 "dhcp4_parser.yy" +#line 490 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1137 "dhcp4_parser.cc" +#line 1126 "dhcp4_parser.cc" break; - case 139: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 574 "dhcp4_parser.yy" + case 138: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 567 "dhcp4_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } -#line 1147 "dhcp4_parser.cc" +#line 1136 "dhcp4_parser.cc" break; - case 140: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 580 "dhcp4_parser.yy" + case 139: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 573 "dhcp4_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-valid-lifetime", prf); } -#line 1157 "dhcp4_parser.cc" +#line 1146 "dhcp4_parser.cc" break; - case 141: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 586 "dhcp4_parser.yy" + case 140: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 579 "dhcp4_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-valid-lifetime", prf); } -#line 1167 "dhcp4_parser.cc" +#line 1156 "dhcp4_parser.cc" break; - case 142: // renew_timer: "renew-timer" ":" "integer" -#line 592 "dhcp4_parser.yy" + case 141: // renew_timer: "renew-timer" ":" "integer" +#line 585 "dhcp4_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } -#line 1177 "dhcp4_parser.cc" +#line 1166 "dhcp4_parser.cc" break; - case 143: // rebind_timer: "rebind-timer" ":" "integer" -#line 598 "dhcp4_parser.yy" + case 142: // rebind_timer: "rebind-timer" ":" "integer" +#line 591 "dhcp4_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } -#line 1187 "dhcp4_parser.cc" +#line 1176 "dhcp4_parser.cc" break; - case 144: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 604 "dhcp4_parser.yy" + case 143: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 597 "dhcp4_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("calculate-tee-times", ctt); } -#line 1197 "dhcp4_parser.cc" +#line 1186 "dhcp4_parser.cc" break; - case 145: // t1_percent: "t1-percent" ":" "floating point" -#line 610 "dhcp4_parser.yy" + case 144: // t1_percent: "t1-percent" ":" "floating point" +#line 603 "dhcp4_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t1-percent", t1); } -#line 1207 "dhcp4_parser.cc" +#line 1196 "dhcp4_parser.cc" break; - case 146: // t2_percent: "t2-percent" ":" "floating point" -#line 616 "dhcp4_parser.yy" + case 145: // t2_percent: "t2-percent" ":" "floating point" +#line 609 "dhcp4_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t2-percent", t2); } -#line 1217 "dhcp4_parser.cc" +#line 1206 "dhcp4_parser.cc" break; - case 147: // cache_threshold: "cache-threshold" ":" "floating point" -#line 622 "dhcp4_parser.yy" + case 146: // cache_threshold: "cache-threshold" ":" "floating point" +#line 615 "dhcp4_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cache-threshold", ct); } -#line 1227 "dhcp4_parser.cc" +#line 1216 "dhcp4_parser.cc" break; - case 148: // cache_max_age: "cache-max-age" ":" "integer" -#line 628 "dhcp4_parser.yy" + case 147: // cache_max_age: "cache-max-age" ":" "integer" +#line 621 "dhcp4_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cache-max-age", cm); } -#line 1237 "dhcp4_parser.cc" +#line 1226 "dhcp4_parser.cc" break; - case 149: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 634 "dhcp4_parser.yy" + case 148: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 627 "dhcp4_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1247 "dhcp4_parser.cc" +#line 1236 "dhcp4_parser.cc" break; - case 150: // $@20: %empty -#line 640 "dhcp4_parser.yy" + case 149: // $@20: %empty +#line 633 "dhcp4_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1256 "dhcp4_parser.cc" +#line 1245 "dhcp4_parser.cc" break; - case 151: // server_tag: "server-tag" $@20 ":" "constant string" -#line 643 "dhcp4_parser.yy" + case 150: // server_tag: "server-tag" $@20 ":" "constant string" +#line 636 "dhcp4_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1266 "dhcp4_parser.cc" +#line 1255 "dhcp4_parser.cc" break; - case 152: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 649 "dhcp4_parser.yy" + case 151: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 642 "dhcp4_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("parked-packet-limit", ppl); } -#line 1276 "dhcp4_parser.cc" +#line 1265 "dhcp4_parser.cc" break; - case 153: // $@21: %empty -#line 655 "dhcp4_parser.yy" + case 152: // $@21: %empty +#line 648 "dhcp4_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1285 "dhcp4_parser.cc" +#line 1274 "dhcp4_parser.cc" break; - case 154: // allocator: "allocator" $@21 ":" "constant string" -#line 658 "dhcp4_parser.yy" + case 153: // allocator: "allocator" $@21 ":" "constant string" +#line 651 "dhcp4_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); ctx.leave(); } -#line 1295 "dhcp4_parser.cc" +#line 1284 "dhcp4_parser.cc" break; - case 155: // echo_client_id: "echo-client-id" ":" "boolean" -#line 664 "dhcp4_parser.yy" + case 154: // echo_client_id: "echo-client-id" ":" "boolean" +#line 657 "dhcp4_parser.yy" { ctx.unique("echo-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr echo(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); } -#line 1305 "dhcp4_parser.cc" +#line 1294 "dhcp4_parser.cc" break; - case 156: // match_client_id: "match-client-id" ":" "boolean" -#line 670 "dhcp4_parser.yy" + case 155: // match_client_id: "match-client-id" ":" "boolean" +#line 663 "dhcp4_parser.yy" { ctx.unique("match-client-id", ctx.loc2pos(yystack_[2].location)); ElementPtr match(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); } -#line 1315 "dhcp4_parser.cc" +#line 1304 "dhcp4_parser.cc" break; - case 157: // authoritative: "authoritative" ":" "boolean" -#line 676 "dhcp4_parser.yy" + case 156: // authoritative: "authoritative" ":" "boolean" +#line 669 "dhcp4_parser.yy" { ctx.unique("authoritative", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("authoritative", prf); } -#line 1325 "dhcp4_parser.cc" +#line 1314 "dhcp4_parser.cc" break; - case 158: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 682 "dhcp4_parser.yy" + case 157: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 675 "dhcp4_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); } -#line 1335 "dhcp4_parser.cc" +#line 1324 "dhcp4_parser.cc" break; - case 159: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 688 "dhcp4_parser.yy" + case 158: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 681 "dhcp4_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); } -#line 1345 "dhcp4_parser.cc" +#line 1334 "dhcp4_parser.cc" break; - case 160: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 694 "dhcp4_parser.yy" + case 159: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 687 "dhcp4_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); } -#line 1355 "dhcp4_parser.cc" +#line 1344 "dhcp4_parser.cc" break; - case 161: // $@22: %empty -#line 700 "dhcp4_parser.yy" + case 160: // $@22: %empty +#line 693 "dhcp4_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); } -#line 1364 "dhcp4_parser.cc" +#line 1353 "dhcp4_parser.cc" break; - case 162: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 703 "dhcp4_parser.yy" + case 161: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 696 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1373 "dhcp4_parser.cc" +#line 1362 "dhcp4_parser.cc" break; - case 163: // ddns_replace_client_name_value: "when-present" -#line 709 "dhcp4_parser.yy" + case 162: // ddns_replace_client_name_value: "when-present" +#line 702 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 1381 "dhcp4_parser.cc" +#line 1370 "dhcp4_parser.cc" break; - case 164: // ddns_replace_client_name_value: "never" -#line 712 "dhcp4_parser.yy" + case 163: // ddns_replace_client_name_value: "never" +#line 705 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 1389 "dhcp4_parser.cc" +#line 1378 "dhcp4_parser.cc" break; - case 165: // ddns_replace_client_name_value: "always" -#line 715 "dhcp4_parser.yy" + case 164: // ddns_replace_client_name_value: "always" +#line 708 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 1397 "dhcp4_parser.cc" +#line 1386 "dhcp4_parser.cc" break; - case 166: // ddns_replace_client_name_value: "when-not-present" -#line 718 "dhcp4_parser.yy" + case 165: // ddns_replace_client_name_value: "when-not-present" +#line 711 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 1405 "dhcp4_parser.cc" +#line 1394 "dhcp4_parser.cc" break; - case 167: // ddns_replace_client_name_value: "boolean" -#line 721 "dhcp4_parser.yy" + case 166: // ddns_replace_client_name_value: "boolean" +#line 714 "dhcp4_parser.yy" { error(yystack_[0].location, "boolean values for the ddns-replace-client-name are " "no longer supported"); } -#line 1414 "dhcp4_parser.cc" +#line 1403 "dhcp4_parser.cc" break; - case 168: // $@23: %empty -#line 727 "dhcp4_parser.yy" + case 167: // $@23: %empty +#line 720 "dhcp4_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1423 "dhcp4_parser.cc" +#line 1412 "dhcp4_parser.cc" break; - case 169: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 730 "dhcp4_parser.yy" + case 168: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 723 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); ctx.leave(); } -#line 1433 "dhcp4_parser.cc" +#line 1422 "dhcp4_parser.cc" break; - case 170: // $@24: %empty -#line 736 "dhcp4_parser.yy" + case 169: // $@24: %empty +#line 729 "dhcp4_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1442 "dhcp4_parser.cc" +#line 1431 "dhcp4_parser.cc" break; - case 171: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 739 "dhcp4_parser.yy" + case 170: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 732 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); ctx.leave(); } -#line 1452 "dhcp4_parser.cc" +#line 1441 "dhcp4_parser.cc" break; - case 172: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 745 "dhcp4_parser.yy" + case 171: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 738 "dhcp4_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-update-on-renew", b); } -#line 1462 "dhcp4_parser.cc" +#line 1451 "dhcp4_parser.cc" break; - case 173: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 754 "dhcp4_parser.yy" + case 172: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 747 "dhcp4_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1472,189 +1461,189 @@ namespace isc { namespace dhcp { : "no-check-with-dhcid")); ctx.stack_.back()->set("ddns-conflict-resolution-mode", mode); } -#line 1476 "dhcp4_parser.cc" +#line 1465 "dhcp4_parser.cc" break; - case 174: // $@25: %empty -#line 764 "dhcp4_parser.yy" + case 173: // $@25: %empty +#line 757 "dhcp4_parser.yy" { ctx.unique("ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE); } -#line 1485 "dhcp4_parser.cc" +#line 1474 "dhcp4_parser.cc" break; - case 175: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value -#line 767 "dhcp4_parser.yy" + case 174: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value +#line 760 "dhcp4_parser.yy" { ctx.stack_.back()->set("ddns-conflict-resolution-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1494 "dhcp4_parser.cc" +#line 1483 "dhcp4_parser.cc" break; - case 176: // ddns_conflict_resolution_mode_value: "check-with-dhcid" -#line 773 "dhcp4_parser.yy" + case 175: // ddns_conflict_resolution_mode_value: "check-with-dhcid" +#line 766 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1502 "dhcp4_parser.cc" +#line 1491 "dhcp4_parser.cc" break; - case 177: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" -#line 776 "dhcp4_parser.yy" + case 176: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" +#line 769 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1510 "dhcp4_parser.cc" +#line 1499 "dhcp4_parser.cc" break; - case 178: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" -#line 779 "dhcp4_parser.yy" + case 177: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" +#line 772 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-exists-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1518 "dhcp4_parser.cc" +#line 1507 "dhcp4_parser.cc" break; - case 179: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" -#line 782 "dhcp4_parser.yy" + case 178: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" +#line 775 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-without-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1526 "dhcp4_parser.cc" +#line 1515 "dhcp4_parser.cc" break; - case 180: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" -#line 787 "dhcp4_parser.yy" + case 179: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" +#line 780 "dhcp4_parser.yy" { ctx.unique("ddns-ttl-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-percent", ttl); } -#line 1536 "dhcp4_parser.cc" +#line 1525 "dhcp4_parser.cc" break; - case 181: // $@26: %empty -#line 793 "dhcp4_parser.yy" + case 180: // $@26: %empty +#line 786 "dhcp4_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1545 "dhcp4_parser.cc" +#line 1534 "dhcp4_parser.cc" break; - case 182: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" -#line 796 "dhcp4_parser.yy" + case 181: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" +#line 789 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1555 "dhcp4_parser.cc" +#line 1544 "dhcp4_parser.cc" break; - case 183: // $@27: %empty -#line 802 "dhcp4_parser.yy" + case 182: // $@27: %empty +#line 795 "dhcp4_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1564 "dhcp4_parser.cc" +#line 1553 "dhcp4_parser.cc" break; - case 184: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" -#line 805 "dhcp4_parser.yy" + case 183: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" +#line 798 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1574 "dhcp4_parser.cc" +#line 1563 "dhcp4_parser.cc" break; - case 185: // store_extended_info: "store-extended-info" ":" "boolean" -#line 811 "dhcp4_parser.yy" + case 184: // store_extended_info: "store-extended-info" ":" "boolean" +#line 804 "dhcp4_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1584 "dhcp4_parser.cc" +#line 1573 "dhcp4_parser.cc" break; - case 186: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 817 "dhcp4_parser.yy" + case 185: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 810 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1594 "dhcp4_parser.cc" +#line 1583 "dhcp4_parser.cc" break; - case 187: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 823 "dhcp4_parser.yy" + case 186: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 816 "dhcp4_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1604 "dhcp4_parser.cc" +#line 1593 "dhcp4_parser.cc" break; - case 188: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 829 "dhcp4_parser.yy" + case 187: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 822 "dhcp4_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("early-global-reservations-lookup", early); } -#line 1614 "dhcp4_parser.cc" +#line 1603 "dhcp4_parser.cc" break; - case 189: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 835 "dhcp4_parser.yy" + case 188: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 828 "dhcp4_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1624 "dhcp4_parser.cc" +#line 1613 "dhcp4_parser.cc" break; - case 190: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 841 "dhcp4_parser.yy" + case 189: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 834 "dhcp4_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1634 "dhcp4_parser.cc" +#line 1623 "dhcp4_parser.cc" break; - case 191: // offer_lifetime: "offer-lifetime" ":" "integer" -#line 847 "dhcp4_parser.yy" + case 190: // offer_lifetime: "offer-lifetime" ":" "integer" +#line 840 "dhcp4_parser.yy" { ctx.unique("offer-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr offer_lifetime(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("offer-lifetime", offer_lifetime); } -#line 1644 "dhcp4_parser.cc" +#line 1633 "dhcp4_parser.cc" break; - case 192: // stash_agent_options: "stash-agent-options" ":" "boolean" -#line 853 "dhcp4_parser.yy" + case 191: // stash_agent_options: "stash-agent-options" ":" "boolean" +#line 846 "dhcp4_parser.yy" { ctx.unique("stash-agent-options", ctx.loc2pos(yystack_[2].location)); ElementPtr stash(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("stash-agent-options", stash); } -#line 1654 "dhcp4_parser.cc" +#line 1643 "dhcp4_parser.cc" break; - case 193: // $@28: %empty -#line 859 "dhcp4_parser.yy" + case 192: // $@28: %empty +#line 852 "dhcp4_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1662,48 +1651,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1666 "dhcp4_parser.cc" +#line 1655 "dhcp4_parser.cc" break; - case 194: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" -#line 865 "dhcp4_parser.yy" + case 193: // interfaces_config: "interfaces-config" $@28 ":" "{" interfaces_config_params "}" +#line 858 "dhcp4_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1676 "dhcp4_parser.cc" +#line 1665 "dhcp4_parser.cc" break; - case 197: // interfaces_config_params: interfaces_config_params "," -#line 873 "dhcp4_parser.yy" + case 196: // interfaces_config_params: interfaces_config_params "," +#line 866 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1684 "dhcp4_parser.cc" +#line 1673 "dhcp4_parser.cc" break; - case 208: // $@29: %empty -#line 890 "dhcp4_parser.yy" + case 207: // $@29: %empty +#line 883 "dhcp4_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1694 "dhcp4_parser.cc" +#line 1683 "dhcp4_parser.cc" break; - case 209: // sub_interfaces4: "{" $@29 interfaces_config_params "}" -#line 894 "dhcp4_parser.yy" + case 208: // sub_interfaces4: "{" $@29 interfaces_config_params "}" +#line 887 "dhcp4_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1703 "dhcp4_parser.cc" +#line 1692 "dhcp4_parser.cc" break; - case 210: // $@30: %empty -#line 899 "dhcp4_parser.yy" + case 209: // $@30: %empty +#line 892 "dhcp4_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1711,124 +1700,124 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1715 "dhcp4_parser.cc" +#line 1704 "dhcp4_parser.cc" break; - case 211: // interfaces_list: "interfaces" $@30 ":" list_strings -#line 905 "dhcp4_parser.yy" + case 210: // interfaces_list: "interfaces" $@30 ":" list_strings +#line 898 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1724 "dhcp4_parser.cc" +#line 1713 "dhcp4_parser.cc" break; - case 212: // $@31: %empty -#line 910 "dhcp4_parser.yy" + case 211: // $@31: %empty +#line 903 "dhcp4_parser.yy" { ctx.unique("dhcp-socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DHCP_SOCKET_TYPE); } -#line 1733 "dhcp4_parser.cc" +#line 1722 "dhcp4_parser.cc" break; - case 213: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type -#line 913 "dhcp4_parser.yy" + case 212: // dhcp_socket_type: "dhcp-socket-type" $@31 ":" socket_type +#line 906 "dhcp4_parser.yy" { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1742 "dhcp4_parser.cc" +#line 1731 "dhcp4_parser.cc" break; - case 214: // socket_type: "raw" -#line 918 "dhcp4_parser.yy" + case 213: // socket_type: "raw" +#line 911 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } -#line 1748 "dhcp4_parser.cc" +#line 1737 "dhcp4_parser.cc" break; - case 215: // socket_type: "udp" -#line 919 "dhcp4_parser.yy" + case 214: // socket_type: "udp" +#line 912 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } -#line 1754 "dhcp4_parser.cc" +#line 1743 "dhcp4_parser.cc" break; - case 216: // $@32: %empty -#line 922 "dhcp4_parser.yy" + case 215: // $@32: %empty +#line 915 "dhcp4_parser.yy" { ctx.unique("outbound-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.OUTBOUND_INTERFACE); } -#line 1763 "dhcp4_parser.cc" +#line 1752 "dhcp4_parser.cc" break; - case 217: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value -#line 925 "dhcp4_parser.yy" + case 216: // outbound_interface: "outbound-interface" $@32 ":" outbound_interface_value +#line 918 "dhcp4_parser.yy" { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1772 "dhcp4_parser.cc" +#line 1761 "dhcp4_parser.cc" break; - case 218: // outbound_interface_value: "same-as-inbound" -#line 930 "dhcp4_parser.yy" + case 217: // outbound_interface_value: "same-as-inbound" +#line 923 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } -#line 1780 "dhcp4_parser.cc" +#line 1769 "dhcp4_parser.cc" break; - case 219: // outbound_interface_value: "use-routing" -#line 932 "dhcp4_parser.yy" + case 218: // outbound_interface_value: "use-routing" +#line 925 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } -#line 1788 "dhcp4_parser.cc" +#line 1777 "dhcp4_parser.cc" break; - case 220: // re_detect: "re-detect" ":" "boolean" -#line 936 "dhcp4_parser.yy" + case 219: // re_detect: "re-detect" ":" "boolean" +#line 929 "dhcp4_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1798 "dhcp4_parser.cc" +#line 1787 "dhcp4_parser.cc" break; - case 221: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 942 "dhcp4_parser.yy" + case 220: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" +#line 935 "dhcp4_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-require-all", b); } -#line 1808 "dhcp4_parser.cc" +#line 1797 "dhcp4_parser.cc" break; - case 222: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 948 "dhcp4_parser.yy" + case 221: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" +#line 941 "dhcp4_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-retry-wait-time", n); } -#line 1818 "dhcp4_parser.cc" +#line 1807 "dhcp4_parser.cc" break; - case 223: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 954 "dhcp4_parser.yy" + case 222: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" +#line 947 "dhcp4_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-max-retries", n); } -#line 1828 "dhcp4_parser.cc" +#line 1817 "dhcp4_parser.cc" break; - case 224: // $@33: %empty -#line 960 "dhcp4_parser.yy" + case 223: // $@33: %empty +#line 953 "dhcp4_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1836,22 +1825,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1840 "dhcp4_parser.cc" +#line 1829 "dhcp4_parser.cc" break; - case 225: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" -#line 966 "dhcp4_parser.yy" + case 224: // lease_database: "lease-database" $@33 ":" "{" database_map_params "}" +#line 959 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1851 "dhcp4_parser.cc" +#line 1840 "dhcp4_parser.cc" break; - case 226: // $@34: %empty -#line 973 "dhcp4_parser.yy" + case 225: // $@34: %empty +#line 966 "dhcp4_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1859,37 +1848,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 1863 "dhcp4_parser.cc" +#line 1852 "dhcp4_parser.cc" break; - case 227: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" -#line 979 "dhcp4_parser.yy" + case 226: // sanity_checks: "sanity-checks" $@34 ":" "{" sanity_checks_params "}" +#line 972 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1872 "dhcp4_parser.cc" +#line 1861 "dhcp4_parser.cc" break; - case 230: // sanity_checks_params: sanity_checks_params "," -#line 986 "dhcp4_parser.yy" + case 229: // sanity_checks_params: sanity_checks_params "," +#line 979 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1880 "dhcp4_parser.cc" +#line 1869 "dhcp4_parser.cc" break; - case 233: // $@35: %empty -#line 995 "dhcp4_parser.yy" + case 232: // $@35: %empty +#line 988 "dhcp4_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1889 "dhcp4_parser.cc" +#line 1878 "dhcp4_parser.cc" break; - case 234: // lease_checks: "lease-checks" $@35 ":" "constant string" -#line 998 "dhcp4_parser.yy" + case 233: // lease_checks: "lease-checks" $@35 ":" "constant string" +#line 991 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1905,20 +1894,20 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 1909 "dhcp4_parser.cc" +#line 1898 "dhcp4_parser.cc" break; - case 235: // $@36: %empty -#line 1014 "dhcp4_parser.yy" + case 234: // $@36: %empty +#line 1007 "dhcp4_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1918 "dhcp4_parser.cc" +#line 1907 "dhcp4_parser.cc" break; - case 236: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" -#line 1017 "dhcp4_parser.yy" + case 235: // extended_info_checks: "extended-info-checks" $@36 ":" "constant string" +#line 1010 "dhcp4_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -1933,11 +1922,11 @@ namespace isc { namespace dhcp { ", supported values are: none, fix, strict, pedantic"); } } -#line 1937 "dhcp4_parser.cc" +#line 1926 "dhcp4_parser.cc" break; - case 237: // $@37: %empty -#line 1032 "dhcp4_parser.yy" + case 236: // $@37: %empty +#line 1025 "dhcp4_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1945,22 +1934,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1949 "dhcp4_parser.cc" +#line 1938 "dhcp4_parser.cc" break; - case 238: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" -#line 1038 "dhcp4_parser.yy" + case 237: // hosts_database: "hosts-database" $@37 ":" "{" database_map_params "}" +#line 1031 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1960 "dhcp4_parser.cc" +#line 1949 "dhcp4_parser.cc" break; - case 239: // $@38: %empty -#line 1045 "dhcp4_parser.yy" + case 238: // $@38: %empty +#line 1038 "dhcp4_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1968,400 +1957,400 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1972 "dhcp4_parser.cc" +#line 1961 "dhcp4_parser.cc" break; - case 240: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" -#line 1051 "dhcp4_parser.yy" + case 239: // hosts_databases: "hosts-databases" $@38 ":" "[" database_list "]" +#line 1044 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1981 "dhcp4_parser.cc" +#line 1970 "dhcp4_parser.cc" break; - case 245: // not_empty_database_list: not_empty_database_list "," -#line 1062 "dhcp4_parser.yy" + case 244: // not_empty_database_list: not_empty_database_list "," +#line 1055 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1989 "dhcp4_parser.cc" +#line 1978 "dhcp4_parser.cc" break; - case 246: // $@39: %empty -#line 1067 "dhcp4_parser.yy" + case 245: // $@39: %empty +#line 1060 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1999 "dhcp4_parser.cc" +#line 1988 "dhcp4_parser.cc" break; - case 247: // database: "{" $@39 database_map_params "}" -#line 1071 "dhcp4_parser.yy" + case 246: // database: "{" $@39 database_map_params "}" +#line 1064 "dhcp4_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2009 "dhcp4_parser.cc" +#line 1998 "dhcp4_parser.cc" break; - case 250: // database_map_params: database_map_params "," -#line 1079 "dhcp4_parser.yy" + case 249: // database_map_params: database_map_params "," +#line 1072 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2017 "dhcp4_parser.cc" +#line 2006 "dhcp4_parser.cc" break; - case 274: // $@40: %empty -#line 1109 "dhcp4_parser.yy" + case 273: // $@40: %empty +#line 1102 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 2026 "dhcp4_parser.cc" +#line 2015 "dhcp4_parser.cc" break; - case 275: // database_type: "type" $@40 ":" db_type -#line 1112 "dhcp4_parser.yy" + case 274: // database_type: "type" $@40 ":" db_type +#line 1105 "dhcp4_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2035 "dhcp4_parser.cc" +#line 2024 "dhcp4_parser.cc" break; - case 276: // db_type: "memfile" -#line 1117 "dhcp4_parser.yy" + case 275: // db_type: "memfile" +#line 1110 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 2041 "dhcp4_parser.cc" +#line 2030 "dhcp4_parser.cc" break; - case 277: // db_type: "mysql" -#line 1118 "dhcp4_parser.yy" + case 276: // db_type: "mysql" +#line 1111 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 2047 "dhcp4_parser.cc" +#line 2036 "dhcp4_parser.cc" break; - case 278: // db_type: "postgresql" -#line 1119 "dhcp4_parser.yy" + case 277: // db_type: "postgresql" +#line 1112 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 2053 "dhcp4_parser.cc" +#line 2042 "dhcp4_parser.cc" break; - case 279: // $@41: %empty -#line 1122 "dhcp4_parser.yy" + case 278: // $@41: %empty +#line 1115 "dhcp4_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2062 "dhcp4_parser.cc" +#line 2051 "dhcp4_parser.cc" break; - case 280: // user: "user" $@41 ":" "constant string" -#line 1125 "dhcp4_parser.yy" + case 279: // user: "user" $@41 ":" "constant string" +#line 1118 "dhcp4_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 2072 "dhcp4_parser.cc" +#line 2061 "dhcp4_parser.cc" break; - case 281: // $@42: %empty -#line 1131 "dhcp4_parser.yy" + case 280: // $@42: %empty +#line 1124 "dhcp4_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2081 "dhcp4_parser.cc" +#line 2070 "dhcp4_parser.cc" break; - case 282: // password: "password" $@42 ":" "constant string" -#line 1134 "dhcp4_parser.yy" + case 281: // password: "password" $@42 ":" "constant string" +#line 1127 "dhcp4_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 2091 "dhcp4_parser.cc" +#line 2080 "dhcp4_parser.cc" break; - case 283: // $@43: %empty -#line 1140 "dhcp4_parser.yy" + case 282: // $@43: %empty +#line 1133 "dhcp4_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2100 "dhcp4_parser.cc" +#line 2089 "dhcp4_parser.cc" break; - case 284: // host: "host" $@43 ":" "constant string" -#line 1143 "dhcp4_parser.yy" + case 283: // host: "host" $@43 ":" "constant string" +#line 1136 "dhcp4_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 2110 "dhcp4_parser.cc" +#line 2099 "dhcp4_parser.cc" break; - case 285: // port: "port" ":" "integer" -#line 1149 "dhcp4_parser.yy" + case 284: // port: "port" ":" "integer" +#line 1142 "dhcp4_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 2120 "dhcp4_parser.cc" +#line 2109 "dhcp4_parser.cc" break; - case 286: // $@44: %empty -#line 1155 "dhcp4_parser.yy" + case 285: // $@44: %empty +#line 1148 "dhcp4_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2129 "dhcp4_parser.cc" +#line 2118 "dhcp4_parser.cc" break; - case 287: // name: "name" $@44 ":" "constant string" -#line 1158 "dhcp4_parser.yy" + case 286: // name: "name" $@44 ":" "constant string" +#line 1151 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 2139 "dhcp4_parser.cc" +#line 2128 "dhcp4_parser.cc" break; - case 288: // persist: "persist" ":" "boolean" -#line 1164 "dhcp4_parser.yy" + case 287: // persist: "persist" ":" "boolean" +#line 1157 "dhcp4_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 2149 "dhcp4_parser.cc" +#line 2138 "dhcp4_parser.cc" break; - case 289: // lfc_interval: "lfc-interval" ":" "integer" -#line 1170 "dhcp4_parser.yy" + case 288: // lfc_interval: "lfc-interval" ":" "integer" +#line 1163 "dhcp4_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 2159 "dhcp4_parser.cc" +#line 2148 "dhcp4_parser.cc" break; - case 290: // readonly: "readonly" ":" "boolean" -#line 1176 "dhcp4_parser.yy" + case 289: // readonly: "readonly" ":" "boolean" +#line 1169 "dhcp4_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 2169 "dhcp4_parser.cc" +#line 2158 "dhcp4_parser.cc" break; - case 291: // connect_timeout: "connect-timeout" ":" "integer" -#line 1182 "dhcp4_parser.yy" + case 290: // connect_timeout: "connect-timeout" ":" "integer" +#line 1175 "dhcp4_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 2179 "dhcp4_parser.cc" +#line 2168 "dhcp4_parser.cc" break; - case 292: // read_timeout: "read-timeout" ":" "integer" -#line 1188 "dhcp4_parser.yy" + case 291: // read_timeout: "read-timeout" ":" "integer" +#line 1181 "dhcp4_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("read-timeout", n); } -#line 2189 "dhcp4_parser.cc" +#line 2178 "dhcp4_parser.cc" break; - case 293: // write_timeout: "write-timeout" ":" "integer" -#line 1194 "dhcp4_parser.yy" + case 292: // write_timeout: "write-timeout" ":" "integer" +#line 1187 "dhcp4_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("write-timeout", n); } -#line 2199 "dhcp4_parser.cc" +#line 2188 "dhcp4_parser.cc" break; - case 294: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1200 "dhcp4_parser.yy" + case 293: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" +#line 1193 "dhcp4_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-user-timeout", n); } -#line 2209 "dhcp4_parser.cc" +#line 2198 "dhcp4_parser.cc" break; - case 295: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1206 "dhcp4_parser.yy" + case 294: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1199 "dhcp4_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2219 "dhcp4_parser.cc" +#line 2208 "dhcp4_parser.cc" break; - case 296: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1212 "dhcp4_parser.yy" + case 295: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1205 "dhcp4_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2229 "dhcp4_parser.cc" +#line 2218 "dhcp4_parser.cc" break; - case 297: // $@45: %empty -#line 1218 "dhcp4_parser.yy" + case 296: // $@45: %empty +#line 1211 "dhcp4_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2238 "dhcp4_parser.cc" +#line 2227 "dhcp4_parser.cc" break; - case 298: // on_fail: "on-fail" $@45 ":" on_fail_mode -#line 1221 "dhcp4_parser.yy" + case 297: // on_fail: "on-fail" $@45 ":" on_fail_mode +#line 1214 "dhcp4_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2247 "dhcp4_parser.cc" +#line 2236 "dhcp4_parser.cc" break; - case 299: // on_fail_mode: "stop-retry-exit" -#line 1226 "dhcp4_parser.yy" + case 298: // on_fail_mode: "stop-retry-exit" +#line 1219 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2253 "dhcp4_parser.cc" +#line 2242 "dhcp4_parser.cc" break; - case 300: // on_fail_mode: "serve-retry-exit" -#line 1227 "dhcp4_parser.yy" + case 299: // on_fail_mode: "serve-retry-exit" +#line 1220 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2259 "dhcp4_parser.cc" +#line 2248 "dhcp4_parser.cc" break; - case 301: // on_fail_mode: "serve-retry-continue" -#line 1228 "dhcp4_parser.yy" + case 300: // on_fail_mode: "serve-retry-continue" +#line 1221 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2265 "dhcp4_parser.cc" +#line 2254 "dhcp4_parser.cc" break; - case 302: // retry_on_startup: "retry-on-startup" ":" "boolean" -#line 1231 "dhcp4_parser.yy" + case 301: // retry_on_startup: "retry-on-startup" ":" "boolean" +#line 1224 "dhcp4_parser.yy" { ctx.unique("retry-on-startup", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("retry-on-startup", n); } -#line 2275 "dhcp4_parser.cc" +#line 2264 "dhcp4_parser.cc" break; - case 303: // max_row_errors: "max-row-errors" ":" "integer" -#line 1237 "dhcp4_parser.yy" + case 302: // max_row_errors: "max-row-errors" ":" "integer" +#line 1230 "dhcp4_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2285 "dhcp4_parser.cc" +#line 2274 "dhcp4_parser.cc" break; - case 304: // $@46: %empty -#line 1243 "dhcp4_parser.yy" + case 303: // $@46: %empty +#line 1236 "dhcp4_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2294 "dhcp4_parser.cc" +#line 2283 "dhcp4_parser.cc" break; - case 305: // trust_anchor: "trust-anchor" $@46 ":" "constant string" -#line 1246 "dhcp4_parser.yy" + case 304: // trust_anchor: "trust-anchor" $@46 ":" "constant string" +#line 1239 "dhcp4_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2304 "dhcp4_parser.cc" +#line 2293 "dhcp4_parser.cc" break; - case 306: // $@47: %empty -#line 1252 "dhcp4_parser.yy" + case 305: // $@47: %empty +#line 1245 "dhcp4_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2313 "dhcp4_parser.cc" +#line 2302 "dhcp4_parser.cc" break; - case 307: // cert_file: "cert-file" $@47 ":" "constant string" -#line 1255 "dhcp4_parser.yy" + case 306: // cert_file: "cert-file" $@47 ":" "constant string" +#line 1248 "dhcp4_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2323 "dhcp4_parser.cc" +#line 2312 "dhcp4_parser.cc" break; - case 308: // $@48: %empty -#line 1261 "dhcp4_parser.yy" + case 307: // $@48: %empty +#line 1254 "dhcp4_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2332 "dhcp4_parser.cc" +#line 2321 "dhcp4_parser.cc" break; - case 309: // key_file: "key-file" $@48 ":" "constant string" -#line 1264 "dhcp4_parser.yy" + case 308: // key_file: "key-file" $@48 ":" "constant string" +#line 1257 "dhcp4_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2342 "dhcp4_parser.cc" +#line 2331 "dhcp4_parser.cc" break; - case 310: // $@49: %empty -#line 1270 "dhcp4_parser.yy" + case 309: // $@49: %empty +#line 1263 "dhcp4_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2351 "dhcp4_parser.cc" +#line 2340 "dhcp4_parser.cc" break; - case 311: // cipher_list: "cipher-list" $@49 ":" "constant string" -#line 1273 "dhcp4_parser.yy" + case 310: // cipher_list: "cipher-list" $@49 ":" "constant string" +#line 1266 "dhcp4_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2361 "dhcp4_parser.cc" +#line 2350 "dhcp4_parser.cc" break; - case 312: // $@50: %empty -#line 1279 "dhcp4_parser.yy" + case 311: // $@50: %empty +#line 1272 "dhcp4_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2369,73 +2358,73 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2373 "dhcp4_parser.cc" +#line 2362 "dhcp4_parser.cc" break; - case 313: // host_reservation_identifiers: "host-reservation-identifiers" $@50 ":" "[" host_reservation_identifiers_list "]" -#line 1285 "dhcp4_parser.yy" + case 312: // host_reservation_identifiers: "host-reservation-identifiers" $@50 ":" "[" host_reservation_identifiers_list "]" +#line 1278 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2382 "dhcp4_parser.cc" +#line 2371 "dhcp4_parser.cc" break; - case 316: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1292 "dhcp4_parser.yy" + case 315: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1285 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2390 "dhcp4_parser.cc" +#line 2379 "dhcp4_parser.cc" break; - case 322: // duid_id: "duid" -#line 1304 "dhcp4_parser.yy" + case 321: // duid_id: "duid" +#line 1297 "dhcp4_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2399 "dhcp4_parser.cc" +#line 2388 "dhcp4_parser.cc" break; - case 323: // hw_address_id: "hw-address" -#line 1309 "dhcp4_parser.yy" + case 322: // hw_address_id: "hw-address" +#line 1302 "dhcp4_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2408 "dhcp4_parser.cc" +#line 2397 "dhcp4_parser.cc" break; - case 324: // circuit_id: "circuit-id" -#line 1314 "dhcp4_parser.yy" + case 323: // circuit_id: "circuit-id" +#line 1307 "dhcp4_parser.yy" { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); } -#line 2417 "dhcp4_parser.cc" +#line 2406 "dhcp4_parser.cc" break; - case 325: // client_id: "client-id" -#line 1319 "dhcp4_parser.yy" + case 324: // client_id: "client-id" +#line 1312 "dhcp4_parser.yy" { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); } -#line 2426 "dhcp4_parser.cc" +#line 2415 "dhcp4_parser.cc" break; - case 326: // flex_id: "flex-id" -#line 1324 "dhcp4_parser.yy" + case 325: // flex_id: "flex-id" +#line 1317 "dhcp4_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2435 "dhcp4_parser.cc" +#line 2424 "dhcp4_parser.cc" break; - case 327: // $@51: %empty -#line 1331 "dhcp4_parser.yy" + case 326: // $@51: %empty +#line 1324 "dhcp4_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2443,60 +2432,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2447 "dhcp4_parser.cc" +#line 2436 "dhcp4_parser.cc" break; - case 328: // dhcp_multi_threading: "multi-threading" $@51 ":" "{" multi_threading_params "}" -#line 1337 "dhcp4_parser.yy" + case 327: // dhcp_multi_threading: "multi-threading" $@51 ":" "{" multi_threading_params "}" +#line 1330 "dhcp4_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2458 "dhcp4_parser.cc" +#line 2447 "dhcp4_parser.cc" break; - case 331: // multi_threading_params: multi_threading_params "," -#line 1346 "dhcp4_parser.yy" + case 330: // multi_threading_params: multi_threading_params "," +#line 1339 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2466 "dhcp4_parser.cc" +#line 2455 "dhcp4_parser.cc" break; - case 338: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1359 "dhcp4_parser.yy" + case 337: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1352 "dhcp4_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2476 "dhcp4_parser.cc" +#line 2465 "dhcp4_parser.cc" break; - case 339: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1365 "dhcp4_parser.yy" + case 338: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1358 "dhcp4_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2486 "dhcp4_parser.cc" +#line 2475 "dhcp4_parser.cc" break; - case 340: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1371 "dhcp4_parser.yy" + case 339: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1364 "dhcp4_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2496 "dhcp4_parser.cc" +#line 2485 "dhcp4_parser.cc" break; - case 341: // $@52: %empty -#line 1377 "dhcp4_parser.yy" + case 340: // $@52: %empty +#line 1370 "dhcp4_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2504,113 +2493,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2508 "dhcp4_parser.cc" +#line 2497 "dhcp4_parser.cc" break; - case 342: // hooks_libraries: "hooks-libraries" $@52 ":" "[" hooks_libraries_list "]" -#line 1383 "dhcp4_parser.yy" + case 341: // hooks_libraries: "hooks-libraries" $@52 ":" "[" hooks_libraries_list "]" +#line 1376 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2517 "dhcp4_parser.cc" +#line 2506 "dhcp4_parser.cc" break; - case 347: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1394 "dhcp4_parser.yy" + case 346: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1387 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2525 "dhcp4_parser.cc" +#line 2514 "dhcp4_parser.cc" break; - case 348: // $@53: %empty -#line 1399 "dhcp4_parser.yy" + case 347: // $@53: %empty +#line 1392 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2535 "dhcp4_parser.cc" +#line 2524 "dhcp4_parser.cc" break; - case 349: // hooks_library: "{" $@53 hooks_params "}" -#line 1403 "dhcp4_parser.yy" + case 348: // hooks_library: "{" $@53 hooks_params "}" +#line 1396 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2545 "dhcp4_parser.cc" +#line 2534 "dhcp4_parser.cc" break; - case 350: // $@54: %empty -#line 1409 "dhcp4_parser.yy" + case 349: // $@54: %empty +#line 1402 "dhcp4_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2555 "dhcp4_parser.cc" +#line 2544 "dhcp4_parser.cc" break; - case 351: // sub_hooks_library: "{" $@54 hooks_params "}" -#line 1413 "dhcp4_parser.yy" + case 350: // sub_hooks_library: "{" $@54 hooks_params "}" +#line 1406 "dhcp4_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2565 "dhcp4_parser.cc" +#line 2554 "dhcp4_parser.cc" break; - case 354: // hooks_params: hooks_params "," -#line 1421 "dhcp4_parser.yy" + case 353: // hooks_params: hooks_params "," +#line 1414 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2573 "dhcp4_parser.cc" +#line 2562 "dhcp4_parser.cc" break; - case 358: // $@55: %empty -#line 1431 "dhcp4_parser.yy" + case 357: // $@55: %empty +#line 1424 "dhcp4_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2582 "dhcp4_parser.cc" +#line 2571 "dhcp4_parser.cc" break; - case 359: // library: "library" $@55 ":" "constant string" -#line 1434 "dhcp4_parser.yy" + case 358: // library: "library" $@55 ":" "constant string" +#line 1427 "dhcp4_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2592 "dhcp4_parser.cc" +#line 2581 "dhcp4_parser.cc" break; - case 360: // $@56: %empty -#line 1440 "dhcp4_parser.yy" + case 359: // $@56: %empty +#line 1433 "dhcp4_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2601 "dhcp4_parser.cc" +#line 2590 "dhcp4_parser.cc" break; - case 361: // parameters: "parameters" $@56 ":" map_value -#line 1443 "dhcp4_parser.yy" + case 360: // parameters: "parameters" $@56 ":" map_value +#line 1436 "dhcp4_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2610 "dhcp4_parser.cc" +#line 2599 "dhcp4_parser.cc" break; - case 362: // $@57: %empty -#line 1449 "dhcp4_parser.yy" + case 361: // $@57: %empty +#line 1442 "dhcp4_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2618,89 +2607,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2622 "dhcp4_parser.cc" +#line 2611 "dhcp4_parser.cc" break; - case 363: // expired_leases_processing: "expired-leases-processing" $@57 ":" "{" expired_leases_params "}" -#line 1455 "dhcp4_parser.yy" + case 362: // expired_leases_processing: "expired-leases-processing" $@57 ":" "{" expired_leases_params "}" +#line 1448 "dhcp4_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2632 "dhcp4_parser.cc" +#line 2621 "dhcp4_parser.cc" break; - case 366: // expired_leases_params: expired_leases_params "," -#line 1463 "dhcp4_parser.yy" + case 365: // expired_leases_params: expired_leases_params "," +#line 1456 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2640 "dhcp4_parser.cc" +#line 2629 "dhcp4_parser.cc" break; - case 373: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1476 "dhcp4_parser.yy" + case 372: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1469 "dhcp4_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2650 "dhcp4_parser.cc" +#line 2639 "dhcp4_parser.cc" break; - case 374: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1482 "dhcp4_parser.yy" + case 373: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1475 "dhcp4_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2660 "dhcp4_parser.cc" +#line 2649 "dhcp4_parser.cc" break; - case 375: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1488 "dhcp4_parser.yy" + case 374: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1481 "dhcp4_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2670 "dhcp4_parser.cc" +#line 2659 "dhcp4_parser.cc" break; - case 376: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1494 "dhcp4_parser.yy" + case 375: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1487 "dhcp4_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2680 "dhcp4_parser.cc" +#line 2669 "dhcp4_parser.cc" break; - case 377: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1500 "dhcp4_parser.yy" + case 376: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1493 "dhcp4_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2690 "dhcp4_parser.cc" +#line 2679 "dhcp4_parser.cc" break; - case 378: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1506 "dhcp4_parser.yy" + case 377: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1499 "dhcp4_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2700 "dhcp4_parser.cc" +#line 2689 "dhcp4_parser.cc" break; - case 379: // $@58: %empty -#line 1515 "dhcp4_parser.yy" + case 378: // $@58: %empty +#line 1508 "dhcp4_parser.yy" { ctx.unique("subnet4", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2708,38 +2697,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET4); } -#line 2712 "dhcp4_parser.cc" +#line 2701 "dhcp4_parser.cc" break; - case 380: // subnet4_list: "subnet4" $@58 ":" "[" subnet4_list_content "]" -#line 1521 "dhcp4_parser.yy" + case 379: // subnet4_list: "subnet4" $@58 ":" "[" subnet4_list_content "]" +#line 1514 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2721 "dhcp4_parser.cc" +#line 2710 "dhcp4_parser.cc" break; - case 385: // not_empty_subnet4_list: not_empty_subnet4_list "," -#line 1535 "dhcp4_parser.yy" + case 384: // not_empty_subnet4_list: not_empty_subnet4_list "," +#line 1528 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2729 "dhcp4_parser.cc" +#line 2718 "dhcp4_parser.cc" break; - case 386: // $@59: %empty -#line 1544 "dhcp4_parser.yy" + case 385: // $@59: %empty +#line 1537 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2739 "dhcp4_parser.cc" +#line 2728 "dhcp4_parser.cc" break; - case 387: // subnet4: "{" $@59 subnet4_params "}" -#line 1548 "dhcp4_parser.yy" + case 386: // subnet4: "{" $@59 subnet4_params "}" +#line 1541 "dhcp4_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2761,153 +2750,153 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2765 "dhcp4_parser.cc" +#line 2754 "dhcp4_parser.cc" break; - case 388: // $@60: %empty -#line 1570 "dhcp4_parser.yy" + case 387: // $@60: %empty +#line 1563 "dhcp4_parser.yy" { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2775 "dhcp4_parser.cc" +#line 2764 "dhcp4_parser.cc" break; - case 389: // sub_subnet4: "{" $@60 subnet4_params "}" -#line 1574 "dhcp4_parser.yy" + case 388: // sub_subnet4: "{" $@60 subnet4_params "}" +#line 1567 "dhcp4_parser.yy" { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2785 "dhcp4_parser.cc" +#line 2774 "dhcp4_parser.cc" break; - case 392: // subnet4_params: subnet4_params "," -#line 1583 "dhcp4_parser.yy" + case 391: // subnet4_params: subnet4_params "," +#line 1576 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2793 "dhcp4_parser.cc" +#line 2782 "dhcp4_parser.cc" break; - case 442: // $@61: %empty -#line 1640 "dhcp4_parser.yy" + case 440: // $@61: %empty +#line 1632 "dhcp4_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2802 "dhcp4_parser.cc" +#line 2791 "dhcp4_parser.cc" break; - case 443: // subnet: "subnet" $@61 ":" "constant string" -#line 1643 "dhcp4_parser.yy" + case 441: // subnet: "subnet" $@61 ":" "constant string" +#line 1635 "dhcp4_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2812 "dhcp4_parser.cc" +#line 2801 "dhcp4_parser.cc" break; - case 444: // $@62: %empty -#line 1649 "dhcp4_parser.yy" + case 442: // $@62: %empty +#line 1641 "dhcp4_parser.yy" { ctx.unique("4o6-interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2821 "dhcp4_parser.cc" +#line 2810 "dhcp4_parser.cc" break; - case 445: // subnet_4o6_interface: "4o6-interface" $@62 ":" "constant string" -#line 1652 "dhcp4_parser.yy" + case 443: // subnet_4o6_interface: "4o6-interface" $@62 ":" "constant string" +#line 1644 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); ctx.leave(); } -#line 2831 "dhcp4_parser.cc" +#line 2820 "dhcp4_parser.cc" break; - case 446: // $@63: %empty -#line 1658 "dhcp4_parser.yy" + case 444: // $@63: %empty +#line 1650 "dhcp4_parser.yy" { ctx.unique("4o6-interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2840 "dhcp4_parser.cc" +#line 2829 "dhcp4_parser.cc" break; - case 447: // subnet_4o6_interface_id: "4o6-interface-id" $@63 ":" "constant string" -#line 1661 "dhcp4_parser.yy" + case 445: // subnet_4o6_interface_id: "4o6-interface-id" $@63 ":" "constant string" +#line 1653 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); ctx.leave(); } -#line 2850 "dhcp4_parser.cc" +#line 2839 "dhcp4_parser.cc" break; - case 448: // $@64: %empty -#line 1667 "dhcp4_parser.yy" + case 446: // $@64: %empty +#line 1659 "dhcp4_parser.yy" { ctx.unique("4o6-subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2859 "dhcp4_parser.cc" +#line 2848 "dhcp4_parser.cc" break; - case 449: // subnet_4o6_subnet: "4o6-subnet" $@64 ":" "constant string" -#line 1670 "dhcp4_parser.yy" + case 447: // subnet_4o6_subnet: "4o6-subnet" $@64 ":" "constant string" +#line 1662 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); ctx.leave(); } -#line 2869 "dhcp4_parser.cc" +#line 2858 "dhcp4_parser.cc" break; - case 450: // $@65: %empty -#line 1676 "dhcp4_parser.yy" + case 448: // $@65: %empty +#line 1668 "dhcp4_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2878 "dhcp4_parser.cc" +#line 2867 "dhcp4_parser.cc" break; - case 451: // interface: "interface" $@65 ":" "constant string" -#line 1679 "dhcp4_parser.yy" + case 449: // interface: "interface" $@65 ":" "constant string" +#line 1671 "dhcp4_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2888 "dhcp4_parser.cc" +#line 2877 "dhcp4_parser.cc" break; - case 452: // $@66: %empty -#line 1685 "dhcp4_parser.yy" + case 450: // $@66: %empty +#line 1677 "dhcp4_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2897 "dhcp4_parser.cc" +#line 2886 "dhcp4_parser.cc" break; - case 453: // client_class: "client-class" $@66 ":" "constant string" -#line 1688 "dhcp4_parser.yy" + case 451: // client_class: "client-class" $@66 ":" "constant string" +#line 1680 "dhcp4_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2907 "dhcp4_parser.cc" +#line 2896 "dhcp4_parser.cc" break; - case 454: // $@67: %empty -#line 1694 "dhcp4_parser.yy" + case 452: // $@67: %empty +#line 1686 "dhcp4_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2915,102 +2904,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2919 "dhcp4_parser.cc" +#line 2908 "dhcp4_parser.cc" break; - case 455: // require_client_classes: "require-client-classes" $@67 ":" list_strings -#line 1700 "dhcp4_parser.yy" + case 453: // require_client_classes: "require-client-classes" $@67 ":" list_strings +#line 1692 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2928 "dhcp4_parser.cc" +#line 2917 "dhcp4_parser.cc" break; - case 456: // reservations_global: "reservations-global" ":" "boolean" -#line 1705 "dhcp4_parser.yy" + case 454: // reservations_global: "reservations-global" ":" "boolean" +#line 1697 "dhcp4_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2938 "dhcp4_parser.cc" +#line 2927 "dhcp4_parser.cc" break; - case 457: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1711 "dhcp4_parser.yy" + case 455: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1703 "dhcp4_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2948 "dhcp4_parser.cc" +#line 2937 "dhcp4_parser.cc" break; - case 458: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1717 "dhcp4_parser.yy" + case 456: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1709 "dhcp4_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2958 "dhcp4_parser.cc" - break; - - case 459: // $@68: %empty -#line 1723 "dhcp4_parser.yy" - { - ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); - ctx.enter(ctx.RESERVATION_MODE); -} -#line 2967 "dhcp4_parser.cc" +#line 2947 "dhcp4_parser.cc" break; - case 460: // reservation_mode: "reservation-mode" $@68 ":" hr_mode -#line 1726 "dhcp4_parser.yy" - { - ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); - ctx.leave(); -} -#line 2976 "dhcp4_parser.cc" - break; - - case 461: // hr_mode: "disabled" -#line 1731 "dhcp4_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2982 "dhcp4_parser.cc" - break; - - case 462: // hr_mode: "out-of-pool" -#line 1732 "dhcp4_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2988 "dhcp4_parser.cc" - break; - - case 463: // hr_mode: "global" -#line 1733 "dhcp4_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2994 "dhcp4_parser.cc" - break; - - case 464: // hr_mode: "all" -#line 1734 "dhcp4_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 3000 "dhcp4_parser.cc" - break; - - case 465: // id: "id" ":" "integer" -#line 1737 "dhcp4_parser.yy" + case 457: // id: "id" ":" "integer" +#line 1715 "dhcp4_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 3010 "dhcp4_parser.cc" +#line 2957 "dhcp4_parser.cc" break; - case 466: // $@69: %empty -#line 1745 "dhcp4_parser.yy" + case 458: // $@68: %empty +#line 1723 "dhcp4_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3018,54 +2965,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 3022 "dhcp4_parser.cc" +#line 2969 "dhcp4_parser.cc" break; - case 467: // shared_networks: "shared-networks" $@69 ":" "[" shared_networks_content "]" -#line 1751 "dhcp4_parser.yy" + case 459: // shared_networks: "shared-networks" $@68 ":" "[" shared_networks_content "]" +#line 1729 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3031 "dhcp4_parser.cc" +#line 2978 "dhcp4_parser.cc" break; - case 472: // shared_networks_list: shared_networks_list "," -#line 1764 "dhcp4_parser.yy" + case 464: // shared_networks_list: shared_networks_list "," +#line 1742 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3039 "dhcp4_parser.cc" +#line 2986 "dhcp4_parser.cc" break; - case 473: // $@70: %empty -#line 1769 "dhcp4_parser.yy" + case 465: // $@69: %empty +#line 1747 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3049 "dhcp4_parser.cc" +#line 2996 "dhcp4_parser.cc" break; - case 474: // shared_network: "{" $@70 shared_network_params "}" -#line 1773 "dhcp4_parser.yy" + case 466: // shared_network: "{" $@69 shared_network_params "}" +#line 1751 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 3057 "dhcp4_parser.cc" +#line 3004 "dhcp4_parser.cc" break; - case 477: // shared_network_params: shared_network_params "," -#line 1779 "dhcp4_parser.yy" + case 469: // shared_network_params: shared_network_params "," +#line 1757 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3065 "dhcp4_parser.cc" +#line 3012 "dhcp4_parser.cc" break; - case 522: // $@71: %empty -#line 1834 "dhcp4_parser.yy" + case 513: // $@70: %empty +#line 1811 "dhcp4_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3073,55 +3020,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 3077 "dhcp4_parser.cc" +#line 3024 "dhcp4_parser.cc" break; - case 523: // option_def_list: "option-def" $@71 ":" "[" option_def_list_content "]" -#line 1840 "dhcp4_parser.yy" + case 514: // option_def_list: "option-def" $@70 ":" "[" option_def_list_content "]" +#line 1817 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3086 "dhcp4_parser.cc" +#line 3033 "dhcp4_parser.cc" break; - case 524: // $@72: %empty -#line 1848 "dhcp4_parser.yy" + case 515: // $@71: %empty +#line 1825 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3095 "dhcp4_parser.cc" +#line 3042 "dhcp4_parser.cc" break; - case 525: // sub_option_def_list: "{" $@72 option_def_list "}" -#line 1851 "dhcp4_parser.yy" + case 516: // sub_option_def_list: "{" $@71 option_def_list "}" +#line 1828 "dhcp4_parser.yy" { // parsing completed } -#line 3103 "dhcp4_parser.cc" +#line 3050 "dhcp4_parser.cc" break; - case 530: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1863 "dhcp4_parser.yy" + case 521: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1840 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3111 "dhcp4_parser.cc" +#line 3058 "dhcp4_parser.cc" break; - case 531: // $@73: %empty -#line 1870 "dhcp4_parser.yy" + case 522: // $@72: %empty +#line 1847 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3121 "dhcp4_parser.cc" +#line 3068 "dhcp4_parser.cc" break; - case 532: // option_def_entry: "{" $@73 option_def_params "}" -#line 1874 "dhcp4_parser.yy" + case 523: // option_def_entry: "{" $@72 option_def_params "}" +#line 1851 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3129,21 +3076,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3133 "dhcp4_parser.cc" +#line 3080 "dhcp4_parser.cc" break; - case 533: // $@74: %empty -#line 1885 "dhcp4_parser.yy" + case 524: // $@73: %empty +#line 1862 "dhcp4_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3143 "dhcp4_parser.cc" +#line 3090 "dhcp4_parser.cc" break; - case 534: // sub_option_def: "{" $@74 option_def_params "}" -#line 1889 "dhcp4_parser.yy" + case 525: // sub_option_def: "{" $@73 option_def_params "}" +#line 1866 "dhcp4_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3151,115 +3098,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3155 "dhcp4_parser.cc" +#line 3102 "dhcp4_parser.cc" break; - case 539: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1905 "dhcp4_parser.yy" + case 530: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1882 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3163 "dhcp4_parser.cc" +#line 3110 "dhcp4_parser.cc" break; - case 551: // code: "code" ":" "integer" -#line 1924 "dhcp4_parser.yy" + case 542: // code: "code" ":" "integer" +#line 1901 "dhcp4_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3173 "dhcp4_parser.cc" +#line 3120 "dhcp4_parser.cc" break; - case 553: // $@75: %empty -#line 1932 "dhcp4_parser.yy" + case 544: // $@74: %empty +#line 1909 "dhcp4_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3182 "dhcp4_parser.cc" +#line 3129 "dhcp4_parser.cc" break; - case 554: // option_def_type: "type" $@75 ":" "constant string" -#line 1935 "dhcp4_parser.yy" + case 545: // option_def_type: "type" $@74 ":" "constant string" +#line 1912 "dhcp4_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3192 "dhcp4_parser.cc" +#line 3139 "dhcp4_parser.cc" break; - case 555: // $@76: %empty -#line 1941 "dhcp4_parser.yy" + case 546: // $@75: %empty +#line 1918 "dhcp4_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3201 "dhcp4_parser.cc" +#line 3148 "dhcp4_parser.cc" break; - case 556: // option_def_record_types: "record-types" $@76 ":" "constant string" -#line 1944 "dhcp4_parser.yy" + case 547: // option_def_record_types: "record-types" $@75 ":" "constant string" +#line 1921 "dhcp4_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 3211 "dhcp4_parser.cc" +#line 3158 "dhcp4_parser.cc" break; - case 557: // $@77: %empty -#line 1950 "dhcp4_parser.yy" + case 548: // $@76: %empty +#line 1927 "dhcp4_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3220 "dhcp4_parser.cc" +#line 3167 "dhcp4_parser.cc" break; - case 558: // space: "space" $@77 ":" "constant string" -#line 1953 "dhcp4_parser.yy" + case 549: // space: "space" $@76 ":" "constant string" +#line 1930 "dhcp4_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3230 "dhcp4_parser.cc" +#line 3177 "dhcp4_parser.cc" break; - case 560: // $@78: %empty -#line 1961 "dhcp4_parser.yy" + case 551: // $@77: %empty +#line 1938 "dhcp4_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3239 "dhcp4_parser.cc" +#line 3186 "dhcp4_parser.cc" break; - case 561: // option_def_encapsulate: "encapsulate" $@78 ":" "constant string" -#line 1964 "dhcp4_parser.yy" + case 552: // option_def_encapsulate: "encapsulate" $@77 ":" "constant string" +#line 1941 "dhcp4_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3249 "dhcp4_parser.cc" +#line 3196 "dhcp4_parser.cc" break; - case 562: // option_def_array: "array" ":" "boolean" -#line 1970 "dhcp4_parser.yy" + case 553: // option_def_array: "array" ":" "boolean" +#line 1947 "dhcp4_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3259 "dhcp4_parser.cc" +#line 3206 "dhcp4_parser.cc" break; - case 563: // $@79: %empty -#line 1980 "dhcp4_parser.yy" + case 554: // $@78: %empty +#line 1957 "dhcp4_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3267,123 +3214,123 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3271 "dhcp4_parser.cc" +#line 3218 "dhcp4_parser.cc" break; - case 564: // option_data_list: "option-data" $@79 ":" "[" option_data_list_content "]" -#line 1986 "dhcp4_parser.yy" + case 555: // option_data_list: "option-data" $@78 ":" "[" option_data_list_content "]" +#line 1963 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3280 "dhcp4_parser.cc" +#line 3227 "dhcp4_parser.cc" break; - case 569: // not_empty_option_data_list: not_empty_option_data_list "," -#line 2001 "dhcp4_parser.yy" + case 560: // not_empty_option_data_list: not_empty_option_data_list "," +#line 1978 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3288 "dhcp4_parser.cc" +#line 3235 "dhcp4_parser.cc" break; - case 570: // $@80: %empty -#line 2008 "dhcp4_parser.yy" + case 561: // $@79: %empty +#line 1985 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3298 "dhcp4_parser.cc" +#line 3245 "dhcp4_parser.cc" break; - case 571: // option_data_entry: "{" $@80 option_data_params "}" -#line 2012 "dhcp4_parser.yy" + case 562: // option_data_entry: "{" $@79 option_data_params "}" +#line 1989 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3307 "dhcp4_parser.cc" +#line 3254 "dhcp4_parser.cc" break; - case 572: // $@81: %empty -#line 2020 "dhcp4_parser.yy" + case 563: // $@80: %empty +#line 1997 "dhcp4_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3317 "dhcp4_parser.cc" +#line 3264 "dhcp4_parser.cc" break; - case 573: // sub_option_data: "{" $@81 option_data_params "}" -#line 2024 "dhcp4_parser.yy" + case 564: // sub_option_data: "{" $@80 option_data_params "}" +#line 2001 "dhcp4_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3326 "dhcp4_parser.cc" +#line 3273 "dhcp4_parser.cc" break; - case 578: // not_empty_option_data_params: not_empty_option_data_params "," -#line 2040 "dhcp4_parser.yy" + case 569: // not_empty_option_data_params: not_empty_option_data_params "," +#line 2017 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3334 "dhcp4_parser.cc" +#line 3281 "dhcp4_parser.cc" break; - case 590: // $@82: %empty -#line 2061 "dhcp4_parser.yy" + case 581: // $@81: %empty +#line 2038 "dhcp4_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3343 "dhcp4_parser.cc" +#line 3290 "dhcp4_parser.cc" break; - case 591: // option_data_data: "data" $@82 ":" "constant string" -#line 2064 "dhcp4_parser.yy" + case 582: // option_data_data: "data" $@81 ":" "constant string" +#line 2041 "dhcp4_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3353 "dhcp4_parser.cc" +#line 3300 "dhcp4_parser.cc" break; - case 594: // option_data_csv_format: "csv-format" ":" "boolean" -#line 2074 "dhcp4_parser.yy" + case 585: // option_data_csv_format: "csv-format" ":" "boolean" +#line 2051 "dhcp4_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", csv); } -#line 3363 "dhcp4_parser.cc" +#line 3310 "dhcp4_parser.cc" break; - case 595: // option_data_always_send: "always-send" ":" "boolean" -#line 2080 "dhcp4_parser.yy" + case 586: // option_data_always_send: "always-send" ":" "boolean" +#line 2057 "dhcp4_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3373 "dhcp4_parser.cc" +#line 3320 "dhcp4_parser.cc" break; - case 596: // option_data_never_send: "never-send" ":" "boolean" -#line 2086 "dhcp4_parser.yy" + case 587: // option_data_never_send: "never-send" ":" "boolean" +#line 2063 "dhcp4_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("never-send", cancel); } -#line 3383 "dhcp4_parser.cc" +#line 3330 "dhcp4_parser.cc" break; - case 597: // $@83: %empty -#line 2095 "dhcp4_parser.yy" + case 588: // $@82: %empty +#line 2072 "dhcp4_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3391,113 +3338,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3395 "dhcp4_parser.cc" +#line 3342 "dhcp4_parser.cc" break; - case 598: // pools_list: "pools" $@83 ":" "[" pools_list_content "]" -#line 2101 "dhcp4_parser.yy" + case 589: // pools_list: "pools" $@82 ":" "[" pools_list_content "]" +#line 2078 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3404 "dhcp4_parser.cc" +#line 3351 "dhcp4_parser.cc" break; - case 603: // not_empty_pools_list: not_empty_pools_list "," -#line 2114 "dhcp4_parser.yy" + case 594: // not_empty_pools_list: not_empty_pools_list "," +#line 2091 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3412 "dhcp4_parser.cc" +#line 3359 "dhcp4_parser.cc" break; - case 604: // $@84: %empty -#line 2119 "dhcp4_parser.yy" + case 595: // $@83: %empty +#line 2096 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3422 "dhcp4_parser.cc" +#line 3369 "dhcp4_parser.cc" break; - case 605: // pool_list_entry: "{" $@84 pool_params "}" -#line 2123 "dhcp4_parser.yy" + case 596: // pool_list_entry: "{" $@83 pool_params "}" +#line 2100 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3432 "dhcp4_parser.cc" +#line 3379 "dhcp4_parser.cc" break; - case 606: // $@85: %empty -#line 2129 "dhcp4_parser.yy" + case 597: // $@84: %empty +#line 2106 "dhcp4_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3442 "dhcp4_parser.cc" +#line 3389 "dhcp4_parser.cc" break; - case 607: // sub_pool4: "{" $@85 pool_params "}" -#line 2133 "dhcp4_parser.yy" + case 598: // sub_pool4: "{" $@84 pool_params "}" +#line 2110 "dhcp4_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3452 "dhcp4_parser.cc" +#line 3399 "dhcp4_parser.cc" break; - case 610: // pool_params: pool_params "," -#line 2141 "dhcp4_parser.yy" + case 601: // pool_params: pool_params "," +#line 2118 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3460 "dhcp4_parser.cc" +#line 3407 "dhcp4_parser.cc" break; - case 619: // $@86: %empty -#line 2156 "dhcp4_parser.yy" + case 610: // $@85: %empty +#line 2133 "dhcp4_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3469 "dhcp4_parser.cc" +#line 3416 "dhcp4_parser.cc" break; - case 620: // pool_entry: "pool" $@86 ":" "constant string" -#line 2159 "dhcp4_parser.yy" + case 611: // pool_entry: "pool" $@85 ":" "constant string" +#line 2136 "dhcp4_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3479 "dhcp4_parser.cc" +#line 3426 "dhcp4_parser.cc" break; - case 621: // pool_id: "pool-id" ":" "integer" -#line 2165 "dhcp4_parser.yy" + case 612: // pool_id: "pool-id" ":" "integer" +#line 2142 "dhcp4_parser.yy" { ctx.unique("pool-id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool-id", id); } -#line 3489 "dhcp4_parser.cc" +#line 3436 "dhcp4_parser.cc" break; - case 622: // $@87: %empty -#line 2171 "dhcp4_parser.yy" + case 613: // $@86: %empty +#line 2148 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3497 "dhcp4_parser.cc" +#line 3444 "dhcp4_parser.cc" break; - case 623: // user_context: "user-context" $@87 ":" map_value -#line 2173 "dhcp4_parser.yy" + case 614: // user_context: "user-context" $@86 ":" map_value +#line 2150 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3520,19 +3467,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3524 "dhcp4_parser.cc" +#line 3471 "dhcp4_parser.cc" break; - case 624: // $@88: %empty -#line 2196 "dhcp4_parser.yy" + case 615: // $@87: %empty +#line 2173 "dhcp4_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3532 "dhcp4_parser.cc" +#line 3479 "dhcp4_parser.cc" break; - case 625: // comment: "comment" $@88 ":" "constant string" -#line 2198 "dhcp4_parser.yy" + case 616: // comment: "comment" $@87 ":" "constant string" +#line 2175 "dhcp4_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3557,11 +3504,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3561 "dhcp4_parser.cc" +#line 3508 "dhcp4_parser.cc" break; - case 626: // $@89: %empty -#line 2226 "dhcp4_parser.yy" + case 617: // $@88: %empty +#line 2203 "dhcp4_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3569,264 +3516,264 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3573 "dhcp4_parser.cc" +#line 3520 "dhcp4_parser.cc" break; - case 627: // reservations: "reservations" $@89 ":" "[" reservations_list "]" -#line 2232 "dhcp4_parser.yy" + case 618: // reservations: "reservations" $@88 ":" "[" reservations_list "]" +#line 2209 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3582 "dhcp4_parser.cc" +#line 3529 "dhcp4_parser.cc" break; - case 632: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2243 "dhcp4_parser.yy" + case 623: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2220 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3590 "dhcp4_parser.cc" +#line 3537 "dhcp4_parser.cc" break; - case 633: // $@90: %empty -#line 2248 "dhcp4_parser.yy" + case 624: // $@89: %empty +#line 2225 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3600 "dhcp4_parser.cc" +#line 3547 "dhcp4_parser.cc" break; - case 634: // reservation: "{" $@90 reservation_params "}" -#line 2252 "dhcp4_parser.yy" + case 625: // reservation: "{" $@89 reservation_params "}" +#line 2229 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3609 "dhcp4_parser.cc" +#line 3556 "dhcp4_parser.cc" break; - case 635: // $@91: %empty -#line 2257 "dhcp4_parser.yy" + case 626: // $@90: %empty +#line 2234 "dhcp4_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3619 "dhcp4_parser.cc" +#line 3566 "dhcp4_parser.cc" break; - case 636: // sub_reservation: "{" $@91 reservation_params "}" -#line 2261 "dhcp4_parser.yy" + case 627: // sub_reservation: "{" $@90 reservation_params "}" +#line 2238 "dhcp4_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3628 "dhcp4_parser.cc" +#line 3575 "dhcp4_parser.cc" break; - case 641: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2272 "dhcp4_parser.yy" + case 632: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2249 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3636 "dhcp4_parser.cc" +#line 3583 "dhcp4_parser.cc" break; - case 657: // $@92: %empty -#line 2295 "dhcp4_parser.yy" + case 648: // $@91: %empty +#line 2272 "dhcp4_parser.yy" { ctx.unique("next-server", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3645 "dhcp4_parser.cc" +#line 3592 "dhcp4_parser.cc" break; - case 658: // next_server: "next-server" $@92 ":" "constant string" -#line 2298 "dhcp4_parser.yy" + case 649: // next_server: "next-server" $@91 ":" "constant string" +#line 2275 "dhcp4_parser.yy" { ElementPtr next_server(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 3655 "dhcp4_parser.cc" +#line 3602 "dhcp4_parser.cc" break; - case 659: // $@93: %empty -#line 2304 "dhcp4_parser.yy" + case 650: // $@92: %empty +#line 2281 "dhcp4_parser.yy" { ctx.unique("server-hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3664 "dhcp4_parser.cc" +#line 3611 "dhcp4_parser.cc" break; - case 660: // server_hostname: "server-hostname" $@93 ":" "constant string" -#line 2307 "dhcp4_parser.yy" + case 651: // server_hostname: "server-hostname" $@92 ":" "constant string" +#line 2284 "dhcp4_parser.yy" { ElementPtr srv(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 3674 "dhcp4_parser.cc" +#line 3621 "dhcp4_parser.cc" break; - case 661: // $@94: %empty -#line 2313 "dhcp4_parser.yy" + case 652: // $@93: %empty +#line 2290 "dhcp4_parser.yy" { ctx.unique("boot-file-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3683 "dhcp4_parser.cc" +#line 3630 "dhcp4_parser.cc" break; - case 662: // boot_file_name: "boot-file-name" $@94 ":" "constant string" -#line 2316 "dhcp4_parser.yy" + case 653: // boot_file_name: "boot-file-name" $@93 ":" "constant string" +#line 2293 "dhcp4_parser.yy" { ElementPtr bootfile(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 3693 "dhcp4_parser.cc" +#line 3640 "dhcp4_parser.cc" break; - case 663: // $@95: %empty -#line 2322 "dhcp4_parser.yy" + case 654: // $@94: %empty +#line 2299 "dhcp4_parser.yy" { ctx.unique("ip-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3702 "dhcp4_parser.cc" +#line 3649 "dhcp4_parser.cc" break; - case 664: // ip_address: "ip-address" $@95 ":" "constant string" -#line 2325 "dhcp4_parser.yy" + case 655: // ip_address: "ip-address" $@94 ":" "constant string" +#line 2302 "dhcp4_parser.yy" { ElementPtr addr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 3712 "dhcp4_parser.cc" +#line 3659 "dhcp4_parser.cc" break; - case 665: // $@96: %empty -#line 2331 "dhcp4_parser.yy" + case 656: // $@95: %empty +#line 2308 "dhcp4_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3721 "dhcp4_parser.cc" +#line 3668 "dhcp4_parser.cc" break; - case 666: // duid: "duid" $@96 ":" "constant string" -#line 2334 "dhcp4_parser.yy" + case 657: // duid: "duid" $@95 ":" "constant string" +#line 2311 "dhcp4_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3731 "dhcp4_parser.cc" +#line 3678 "dhcp4_parser.cc" break; - case 667: // $@97: %empty -#line 2340 "dhcp4_parser.yy" + case 658: // $@96: %empty +#line 2317 "dhcp4_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3740 "dhcp4_parser.cc" +#line 3687 "dhcp4_parser.cc" break; - case 668: // hw_address: "hw-address" $@97 ":" "constant string" -#line 2343 "dhcp4_parser.yy" + case 659: // hw_address: "hw-address" $@96 ":" "constant string" +#line 2320 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3750 "dhcp4_parser.cc" +#line 3697 "dhcp4_parser.cc" break; - case 669: // $@98: %empty -#line 2349 "dhcp4_parser.yy" + case 660: // $@97: %empty +#line 2326 "dhcp4_parser.yy" { ctx.unique("client-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3759 "dhcp4_parser.cc" +#line 3706 "dhcp4_parser.cc" break; - case 670: // client_id_value: "client-id" $@98 ":" "constant string" -#line 2352 "dhcp4_parser.yy" + case 661: // client_id_value: "client-id" $@97 ":" "constant string" +#line 2329 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 3769 "dhcp4_parser.cc" +#line 3716 "dhcp4_parser.cc" break; - case 671: // $@99: %empty -#line 2358 "dhcp4_parser.yy" + case 662: // $@98: %empty +#line 2335 "dhcp4_parser.yy" { ctx.unique("circuit-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3778 "dhcp4_parser.cc" +#line 3725 "dhcp4_parser.cc" break; - case 672: // circuit_id_value: "circuit-id" $@99 ":" "constant string" -#line 2361 "dhcp4_parser.yy" + case 663: // circuit_id_value: "circuit-id" $@98 ":" "constant string" +#line 2338 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 3788 "dhcp4_parser.cc" +#line 3735 "dhcp4_parser.cc" break; - case 673: // $@100: %empty -#line 2367 "dhcp4_parser.yy" + case 664: // $@99: %empty +#line 2344 "dhcp4_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3797 "dhcp4_parser.cc" +#line 3744 "dhcp4_parser.cc" break; - case 674: // flex_id_value: "flex-id" $@100 ":" "constant string" -#line 2370 "dhcp4_parser.yy" + case 665: // flex_id_value: "flex-id" $@99 ":" "constant string" +#line 2347 "dhcp4_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3807 "dhcp4_parser.cc" +#line 3754 "dhcp4_parser.cc" break; - case 675: // $@101: %empty -#line 2376 "dhcp4_parser.yy" + case 666: // $@100: %empty +#line 2353 "dhcp4_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3816 "dhcp4_parser.cc" +#line 3763 "dhcp4_parser.cc" break; - case 676: // hostname: "hostname" $@101 ":" "constant string" -#line 2379 "dhcp4_parser.yy" + case 667: // hostname: "hostname" $@100 ":" "constant string" +#line 2356 "dhcp4_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3826 "dhcp4_parser.cc" +#line 3773 "dhcp4_parser.cc" break; - case 677: // $@102: %empty -#line 2385 "dhcp4_parser.yy" + case 668: // $@101: %empty +#line 2362 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3834,20 +3781,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3838 "dhcp4_parser.cc" +#line 3785 "dhcp4_parser.cc" break; - case 678: // reservation_client_classes: "client-classes" $@102 ":" list_strings -#line 2391 "dhcp4_parser.yy" + case 669: // reservation_client_classes: "client-classes" $@101 ":" list_strings +#line 2368 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3847 "dhcp4_parser.cc" +#line 3794 "dhcp4_parser.cc" break; - case 679: // $@103: %empty -#line 2399 "dhcp4_parser.yy" + case 670: // $@102: %empty +#line 2376 "dhcp4_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3855,20 +3802,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3859 "dhcp4_parser.cc" +#line 3806 "dhcp4_parser.cc" break; - case 680: // relay: "relay" $@103 ":" "{" relay_map "}" -#line 2405 "dhcp4_parser.yy" + case 671: // relay: "relay" $@102 ":" "{" relay_map "}" +#line 2382 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3868 "dhcp4_parser.cc" +#line 3815 "dhcp4_parser.cc" break; - case 682: // $@104: %empty -#line 2413 "dhcp4_parser.yy" + case 673: // $@103: %empty +#line 2390 "dhcp4_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3876,20 +3823,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3880 "dhcp4_parser.cc" +#line 3827 "dhcp4_parser.cc" break; - case 683: // ip_addresses: "ip-addresses" $@104 ":" list_strings -#line 2419 "dhcp4_parser.yy" + case 674: // ip_addresses: "ip-addresses" $@103 ":" list_strings +#line 2396 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3889 "dhcp4_parser.cc" +#line 3836 "dhcp4_parser.cc" break; - case 684: // $@105: %empty -#line 2427 "dhcp4_parser.yy" + case 675: // $@104: %empty +#line 2404 "dhcp4_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3897,114 +3844,114 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3901 "dhcp4_parser.cc" +#line 3848 "dhcp4_parser.cc" break; - case 685: // client_classes: "client-classes" $@105 ":" "[" client_classes_list "]" -#line 2433 "dhcp4_parser.yy" + case 676: // client_classes: "client-classes" $@104 ":" "[" client_classes_list "]" +#line 2410 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3910 "dhcp4_parser.cc" +#line 3857 "dhcp4_parser.cc" break; - case 688: // client_classes_list: client_classes_list "," -#line 2440 "dhcp4_parser.yy" + case 679: // client_classes_list: client_classes_list "," +#line 2417 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3918 "dhcp4_parser.cc" +#line 3865 "dhcp4_parser.cc" break; - case 689: // $@106: %empty -#line 2445 "dhcp4_parser.yy" + case 680: // $@105: %empty +#line 2422 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3928 "dhcp4_parser.cc" +#line 3875 "dhcp4_parser.cc" break; - case 690: // client_class_entry: "{" $@106 client_class_params "}" -#line 2449 "dhcp4_parser.yy" + case 681: // client_class_entry: "{" $@105 client_class_params "}" +#line 2426 "dhcp4_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3938 "dhcp4_parser.cc" +#line 3885 "dhcp4_parser.cc" break; - case 695: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2461 "dhcp4_parser.yy" + case 686: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2438 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3946 "dhcp4_parser.cc" +#line 3893 "dhcp4_parser.cc" break; - case 713: // $@107: %empty -#line 2486 "dhcp4_parser.yy" + case 704: // $@106: %empty +#line 2463 "dhcp4_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3955 "dhcp4_parser.cc" +#line 3902 "dhcp4_parser.cc" break; - case 714: // client_class_test: "test" $@107 ":" "constant string" -#line 2489 "dhcp4_parser.yy" + case 705: // client_class_test: "test" $@106 ":" "constant string" +#line 2466 "dhcp4_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3965 "dhcp4_parser.cc" +#line 3912 "dhcp4_parser.cc" break; - case 715: // $@108: %empty -#line 2495 "dhcp4_parser.yy" + case 706: // $@107: %empty +#line 2472 "dhcp4_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3974 "dhcp4_parser.cc" +#line 3921 "dhcp4_parser.cc" break; - case 716: // client_class_template_test: "template-test" $@108 ":" "constant string" -#line 2498 "dhcp4_parser.yy" + case 707: // client_class_template_test: "template-test" $@107 ":" "constant string" +#line 2475 "dhcp4_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); ctx.leave(); } -#line 3984 "dhcp4_parser.cc" +#line 3931 "dhcp4_parser.cc" break; - case 717: // only_if_required: "only-if-required" ":" "boolean" -#line 2504 "dhcp4_parser.yy" + case 708: // only_if_required: "only-if-required" ":" "boolean" +#line 2481 "dhcp4_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 3994 "dhcp4_parser.cc" +#line 3941 "dhcp4_parser.cc" break; - case 718: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2512 "dhcp4_parser.yy" + case 709: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2489 "dhcp4_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 4004 "dhcp4_parser.cc" +#line 3951 "dhcp4_parser.cc" break; - case 719: // $@109: %empty -#line 2520 "dhcp4_parser.yy" + case 710: // $@108: %empty +#line 2497 "dhcp4_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4012,66 +3959,66 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4016 "dhcp4_parser.cc" +#line 3963 "dhcp4_parser.cc" break; - case 720: // control_socket: "control-socket" $@109 ":" "{" control_socket_params "}" -#line 2526 "dhcp4_parser.yy" + case 711: // control_socket: "control-socket" $@108 ":" "{" control_socket_params "}" +#line 2503 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4025 "dhcp4_parser.cc" +#line 3972 "dhcp4_parser.cc" break; - case 723: // control_socket_params: control_socket_params "," -#line 2533 "dhcp4_parser.yy" + case 714: // control_socket_params: control_socket_params "," +#line 2510 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4033 "dhcp4_parser.cc" +#line 3980 "dhcp4_parser.cc" break; - case 729: // $@110: %empty -#line 2545 "dhcp4_parser.yy" + case 720: // $@109: %empty +#line 2522 "dhcp4_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4042 "dhcp4_parser.cc" +#line 3989 "dhcp4_parser.cc" break; - case 730: // control_socket_type: "socket-type" $@110 ":" "constant string" -#line 2548 "dhcp4_parser.yy" + case 721: // control_socket_type: "socket-type" $@109 ":" "constant string" +#line 2525 "dhcp4_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 4052 "dhcp4_parser.cc" +#line 3999 "dhcp4_parser.cc" break; - case 731: // $@111: %empty -#line 2554 "dhcp4_parser.yy" + case 722: // $@110: %empty +#line 2531 "dhcp4_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4061 "dhcp4_parser.cc" +#line 4008 "dhcp4_parser.cc" break; - case 732: // control_socket_name: "socket-name" $@111 ":" "constant string" -#line 2557 "dhcp4_parser.yy" + case 723: // control_socket_name: "socket-name" $@110 ":" "constant string" +#line 2534 "dhcp4_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 4071 "dhcp4_parser.cc" +#line 4018 "dhcp4_parser.cc" break; - case 733: // $@112: %empty -#line 2566 "dhcp4_parser.yy" + case 724: // $@111: %empty +#line 2543 "dhcp4_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4079,87 +4026,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4083 "dhcp4_parser.cc" +#line 4030 "dhcp4_parser.cc" break; - case 734: // dhcp_queue_control: "dhcp-queue-control" $@112 ":" "{" queue_control_params "}" -#line 2572 "dhcp4_parser.yy" + case 725: // dhcp_queue_control: "dhcp-queue-control" $@111 ":" "{" queue_control_params "}" +#line 2549 "dhcp4_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4094 "dhcp4_parser.cc" +#line 4041 "dhcp4_parser.cc" break; - case 737: // queue_control_params: queue_control_params "," -#line 2581 "dhcp4_parser.yy" + case 728: // queue_control_params: queue_control_params "," +#line 2558 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4102 "dhcp4_parser.cc" +#line 4049 "dhcp4_parser.cc" break; - case 744: // enable_queue: "enable-queue" ":" "boolean" -#line 2594 "dhcp4_parser.yy" + case 735: // enable_queue: "enable-queue" ":" "boolean" +#line 2571 "dhcp4_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4112 "dhcp4_parser.cc" +#line 4059 "dhcp4_parser.cc" break; - case 745: // $@113: %empty -#line 2600 "dhcp4_parser.yy" + case 736: // $@112: %empty +#line 2577 "dhcp4_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4121 "dhcp4_parser.cc" +#line 4068 "dhcp4_parser.cc" break; - case 746: // queue_type: "queue-type" $@113 ":" "constant string" -#line 2603 "dhcp4_parser.yy" + case 737: // queue_type: "queue-type" $@112 ":" "constant string" +#line 2580 "dhcp4_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 4131 "dhcp4_parser.cc" +#line 4078 "dhcp4_parser.cc" break; - case 747: // capacity: "capacity" ":" "integer" -#line 2609 "dhcp4_parser.yy" + case 738: // capacity: "capacity" ":" "integer" +#line 2586 "dhcp4_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4141 "dhcp4_parser.cc" +#line 4088 "dhcp4_parser.cc" break; - case 748: // $@114: %empty -#line 2615 "dhcp4_parser.yy" + case 739: // $@113: %empty +#line 2592 "dhcp4_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4150 "dhcp4_parser.cc" +#line 4097 "dhcp4_parser.cc" break; - case 749: // arbitrary_map_entry: "constant string" $@114 ":" value -#line 2618 "dhcp4_parser.yy" + case 740: // arbitrary_map_entry: "constant string" $@113 ":" value +#line 2595 "dhcp4_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4159 "dhcp4_parser.cc" +#line 4106 "dhcp4_parser.cc" break; - case 750: // $@115: %empty -#line 2625 "dhcp4_parser.yy" + case 741: // $@114: %empty +#line 2602 "dhcp4_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4167,177 +4114,177 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4171 "dhcp4_parser.cc" +#line 4118 "dhcp4_parser.cc" break; - case 751: // dhcp_ddns: "dhcp-ddns" $@115 ":" "{" dhcp_ddns_params "}" -#line 2631 "dhcp4_parser.yy" + case 742: // dhcp_ddns: "dhcp-ddns" $@114 ":" "{" dhcp_ddns_params "}" +#line 2608 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4182 "dhcp4_parser.cc" +#line 4129 "dhcp4_parser.cc" break; - case 752: // $@116: %empty -#line 2638 "dhcp4_parser.yy" + case 743: // $@115: %empty +#line 2615 "dhcp4_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4192 "dhcp4_parser.cc" +#line 4139 "dhcp4_parser.cc" break; - case 753: // sub_dhcp_ddns: "{" $@116 dhcp_ddns_params "}" -#line 2642 "dhcp4_parser.yy" + case 744: // sub_dhcp_ddns: "{" $@115 dhcp_ddns_params "}" +#line 2619 "dhcp4_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 4202 "dhcp4_parser.cc" +#line 4149 "dhcp4_parser.cc" break; - case 756: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2650 "dhcp4_parser.yy" + case 747: // dhcp_ddns_params: dhcp_ddns_params "," +#line 2627 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4210 "dhcp4_parser.cc" +#line 4157 "dhcp4_parser.cc" break; - case 768: // enable_updates: "enable-updates" ":" "boolean" -#line 2668 "dhcp4_parser.yy" + case 759: // enable_updates: "enable-updates" ":" "boolean" +#line 2645 "dhcp4_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4220 "dhcp4_parser.cc" +#line 4167 "dhcp4_parser.cc" break; - case 769: // $@117: %empty -#line 2674 "dhcp4_parser.yy" + case 760: // $@116: %empty +#line 2651 "dhcp4_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4229 "dhcp4_parser.cc" +#line 4176 "dhcp4_parser.cc" break; - case 770: // server_ip: "server-ip" $@117 ":" "constant string" -#line 2677 "dhcp4_parser.yy" + case 761: // server_ip: "server-ip" $@116 ":" "constant string" +#line 2654 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 4239 "dhcp4_parser.cc" +#line 4186 "dhcp4_parser.cc" break; - case 771: // server_port: "server-port" ":" "integer" -#line 2683 "dhcp4_parser.yy" + case 762: // server_port: "server-port" ":" "integer" +#line 2660 "dhcp4_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4249 "dhcp4_parser.cc" +#line 4196 "dhcp4_parser.cc" break; - case 772: // $@118: %empty -#line 2689 "dhcp4_parser.yy" + case 763: // $@117: %empty +#line 2666 "dhcp4_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4258 "dhcp4_parser.cc" +#line 4205 "dhcp4_parser.cc" break; - case 773: // sender_ip: "sender-ip" $@118 ":" "constant string" -#line 2692 "dhcp4_parser.yy" + case 764: // sender_ip: "sender-ip" $@117 ":" "constant string" +#line 2669 "dhcp4_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 4268 "dhcp4_parser.cc" +#line 4215 "dhcp4_parser.cc" break; - case 774: // sender_port: "sender-port" ":" "integer" -#line 2698 "dhcp4_parser.yy" + case 765: // sender_port: "sender-port" ":" "integer" +#line 2675 "dhcp4_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4278 "dhcp4_parser.cc" +#line 4225 "dhcp4_parser.cc" break; - case 775: // max_queue_size: "max-queue-size" ":" "integer" -#line 2704 "dhcp4_parser.yy" + case 766: // max_queue_size: "max-queue-size" ":" "integer" +#line 2681 "dhcp4_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4288 "dhcp4_parser.cc" +#line 4235 "dhcp4_parser.cc" break; - case 776: // $@119: %empty -#line 2710 "dhcp4_parser.yy" + case 767: // $@118: %empty +#line 2687 "dhcp4_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4297 "dhcp4_parser.cc" +#line 4244 "dhcp4_parser.cc" break; - case 777: // ncr_protocol: "ncr-protocol" $@119 ":" ncr_protocol_value -#line 2713 "dhcp4_parser.yy" + case 768: // ncr_protocol: "ncr-protocol" $@118 ":" ncr_protocol_value +#line 2690 "dhcp4_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4306 "dhcp4_parser.cc" +#line 4253 "dhcp4_parser.cc" break; - case 778: // ncr_protocol_value: "udp" -#line 2719 "dhcp4_parser.yy" + case 769: // ncr_protocol_value: "udp" +#line 2696 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4312 "dhcp4_parser.cc" +#line 4259 "dhcp4_parser.cc" break; - case 779: // ncr_protocol_value: "tcp" -#line 2720 "dhcp4_parser.yy" + case 770: // ncr_protocol_value: "tcp" +#line 2697 "dhcp4_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4318 "dhcp4_parser.cc" +#line 4265 "dhcp4_parser.cc" break; - case 780: // $@120: %empty -#line 2723 "dhcp4_parser.yy" + case 771: // $@119: %empty +#line 2700 "dhcp4_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4327 "dhcp4_parser.cc" +#line 4274 "dhcp4_parser.cc" break; - case 781: // ncr_format: "ncr-format" $@120 ":" "JSON" -#line 2726 "dhcp4_parser.yy" + case 772: // ncr_format: "ncr-format" $@119 ":" "JSON" +#line 2703 "dhcp4_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4337 "dhcp4_parser.cc" +#line 4284 "dhcp4_parser.cc" break; - case 782: // $@121: %empty -#line 2734 "dhcp4_parser.yy" + case 773: // $@120: %empty +#line 2711 "dhcp4_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4345,48 +4292,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4349 "dhcp4_parser.cc" +#line 4296 "dhcp4_parser.cc" break; - case 783: // config_control: "config-control" $@121 ":" "{" config_control_params "}" -#line 2740 "dhcp4_parser.yy" + case 774: // config_control: "config-control" $@120 ":" "{" config_control_params "}" +#line 2717 "dhcp4_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4359 "dhcp4_parser.cc" +#line 4306 "dhcp4_parser.cc" break; - case 784: // $@122: %empty -#line 2746 "dhcp4_parser.yy" + case 775: // $@121: %empty +#line 2723 "dhcp4_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4369 "dhcp4_parser.cc" +#line 4316 "dhcp4_parser.cc" break; - case 785: // sub_config_control: "{" $@122 config_control_params "}" -#line 2750 "dhcp4_parser.yy" + case 776: // sub_config_control: "{" $@121 config_control_params "}" +#line 2727 "dhcp4_parser.yy" { // No config_control params are required // parsing completed } -#line 4378 "dhcp4_parser.cc" +#line 4325 "dhcp4_parser.cc" break; - case 788: // config_control_params: config_control_params "," -#line 2758 "dhcp4_parser.yy" + case 779: // config_control_params: config_control_params "," +#line 2735 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4386 "dhcp4_parser.cc" +#line 4333 "dhcp4_parser.cc" break; - case 791: // $@123: %empty -#line 2768 "dhcp4_parser.yy" + case 782: // $@122: %empty +#line 2745 "dhcp4_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4394,30 +4341,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4398 "dhcp4_parser.cc" +#line 4345 "dhcp4_parser.cc" break; - case 792: // config_databases: "config-databases" $@123 ":" "[" database_list "]" -#line 2774 "dhcp4_parser.yy" + case 783: // config_databases: "config-databases" $@122 ":" "[" database_list "]" +#line 2751 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4407 "dhcp4_parser.cc" +#line 4354 "dhcp4_parser.cc" break; - case 793: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2779 "dhcp4_parser.yy" + case 784: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2756 "dhcp4_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4417 "dhcp4_parser.cc" +#line 4364 "dhcp4_parser.cc" break; - case 794: // $@124: %empty -#line 2787 "dhcp4_parser.yy" + case 785: // $@123: %empty +#line 2764 "dhcp4_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4425,83 +4372,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4429 "dhcp4_parser.cc" +#line 4376 "dhcp4_parser.cc" break; - case 795: // loggers: "loggers" $@124 ":" "[" loggers_entries "]" -#line 2793 "dhcp4_parser.yy" + case 786: // loggers: "loggers" $@123 ":" "[" loggers_entries "]" +#line 2770 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4438 "dhcp4_parser.cc" +#line 4385 "dhcp4_parser.cc" break; - case 798: // loggers_entries: loggers_entries "," -#line 2802 "dhcp4_parser.yy" + case 789: // loggers_entries: loggers_entries "," +#line 2779 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4446 "dhcp4_parser.cc" +#line 4393 "dhcp4_parser.cc" break; - case 799: // $@125: %empty -#line 2808 "dhcp4_parser.yy" + case 790: // $@124: %empty +#line 2785 "dhcp4_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4456 "dhcp4_parser.cc" +#line 4403 "dhcp4_parser.cc" break; - case 800: // logger_entry: "{" $@125 logger_params "}" -#line 2812 "dhcp4_parser.yy" + case 791: // logger_entry: "{" $@124 logger_params "}" +#line 2789 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4464 "dhcp4_parser.cc" +#line 4411 "dhcp4_parser.cc" break; - case 803: // logger_params: logger_params "," -#line 2818 "dhcp4_parser.yy" + case 794: // logger_params: logger_params "," +#line 2795 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4472 "dhcp4_parser.cc" +#line 4419 "dhcp4_parser.cc" break; - case 811: // debuglevel: "debuglevel" ":" "integer" -#line 2832 "dhcp4_parser.yy" + case 802: // debuglevel: "debuglevel" ":" "integer" +#line 2809 "dhcp4_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4482 "dhcp4_parser.cc" +#line 4429 "dhcp4_parser.cc" break; - case 812: // $@126: %empty -#line 2838 "dhcp4_parser.yy" + case 803: // $@125: %empty +#line 2815 "dhcp4_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4491 "dhcp4_parser.cc" +#line 4438 "dhcp4_parser.cc" break; - case 813: // severity: "severity" $@126 ":" "constant string" -#line 2841 "dhcp4_parser.yy" + case 804: // severity: "severity" $@125 ":" "constant string" +#line 2818 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4501 "dhcp4_parser.cc" +#line 4448 "dhcp4_parser.cc" break; - case 814: // $@127: %empty -#line 2847 "dhcp4_parser.yy" + case 805: // $@126: %empty +#line 2824 "dhcp4_parser.yy" { ctx.unique("output-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4509,122 +4456,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4513 "dhcp4_parser.cc" +#line 4460 "dhcp4_parser.cc" break; - case 815: // output_options_list: "output-options" $@127 ":" "[" output_options_list_content "]" -#line 2853 "dhcp4_parser.yy" + case 806: // output_options_list: "output-options" $@126 ":" "[" output_options_list_content "]" +#line 2830 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4522 "dhcp4_parser.cc" +#line 4469 "dhcp4_parser.cc" break; - case 818: // output_options_list_content: output_options_list_content "," -#line 2860 "dhcp4_parser.yy" + case 809: // output_options_list_content: output_options_list_content "," +#line 2837 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4530 "dhcp4_parser.cc" +#line 4477 "dhcp4_parser.cc" break; - case 819: // $@128: %empty -#line 2865 "dhcp4_parser.yy" + case 810: // $@127: %empty +#line 2842 "dhcp4_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4540 "dhcp4_parser.cc" +#line 4487 "dhcp4_parser.cc" break; - case 820: // output_entry: "{" $@128 output_params_list "}" -#line 2869 "dhcp4_parser.yy" + case 811: // output_entry: "{" $@127 output_params_list "}" +#line 2846 "dhcp4_parser.yy" { ctx.stack_.pop_back(); } -#line 4548 "dhcp4_parser.cc" +#line 4495 "dhcp4_parser.cc" break; - case 823: // output_params_list: output_params_list "," -#line 2875 "dhcp4_parser.yy" + case 814: // output_params_list: output_params_list "," +#line 2852 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4556 "dhcp4_parser.cc" +#line 4503 "dhcp4_parser.cc" break; - case 829: // $@129: %empty -#line 2887 "dhcp4_parser.yy" + case 820: // $@128: %empty +#line 2864 "dhcp4_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4565 "dhcp4_parser.cc" +#line 4512 "dhcp4_parser.cc" break; - case 830: // output: "output" $@129 ":" "constant string" -#line 2890 "dhcp4_parser.yy" + case 821: // output: "output" $@128 ":" "constant string" +#line 2867 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4575 "dhcp4_parser.cc" +#line 4522 "dhcp4_parser.cc" break; - case 831: // flush: "flush" ":" "boolean" -#line 2896 "dhcp4_parser.yy" + case 822: // flush: "flush" ":" "boolean" +#line 2873 "dhcp4_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4585 "dhcp4_parser.cc" +#line 4532 "dhcp4_parser.cc" break; - case 832: // maxsize: "maxsize" ":" "integer" -#line 2902 "dhcp4_parser.yy" + case 823: // maxsize: "maxsize" ":" "integer" +#line 2879 "dhcp4_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4595 "dhcp4_parser.cc" +#line 4542 "dhcp4_parser.cc" break; - case 833: // maxver: "maxver" ":" "integer" -#line 2908 "dhcp4_parser.yy" + case 824: // maxver: "maxver" ":" "integer" +#line 2885 "dhcp4_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4605 "dhcp4_parser.cc" +#line 4552 "dhcp4_parser.cc" break; - case 834: // $@130: %empty -#line 2914 "dhcp4_parser.yy" + case 825: // $@129: %empty +#line 2891 "dhcp4_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4614 "dhcp4_parser.cc" +#line 4561 "dhcp4_parser.cc" break; - case 835: // pattern: "pattern" $@130 ":" "constant string" -#line 2917 "dhcp4_parser.yy" + case 826: // pattern: "pattern" $@129 ":" "constant string" +#line 2894 "dhcp4_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4624 "dhcp4_parser.cc" +#line 4571 "dhcp4_parser.cc" break; - case 836: // $@131: %empty -#line 2923 "dhcp4_parser.yy" + case 827: // $@130: %empty +#line 2900 "dhcp4_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4632,68 +4579,68 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 4636 "dhcp4_parser.cc" +#line 4583 "dhcp4_parser.cc" break; - case 837: // compatibility: "compatibility" $@131 ":" "{" compatibility_params "}" -#line 2929 "dhcp4_parser.yy" + case 828: // compatibility: "compatibility" $@130 ":" "{" compatibility_params "}" +#line 2906 "dhcp4_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4645 "dhcp4_parser.cc" +#line 4592 "dhcp4_parser.cc" break; - case 840: // compatibility_params: compatibility_params "," -#line 2936 "dhcp4_parser.yy" + case 831: // compatibility_params: compatibility_params "," +#line 2913 "dhcp4_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4653 "dhcp4_parser.cc" +#line 4600 "dhcp4_parser.cc" break; - case 846: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 2948 "dhcp4_parser.yy" + case 837: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 2925 "dhcp4_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 4663 "dhcp4_parser.cc" +#line 4610 "dhcp4_parser.cc" break; - case 847: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" -#line 2954 "dhcp4_parser.yy" + case 838: // ignore_dhcp_server_identifier: "ignore-dhcp-server-identifier" ":" "boolean" +#line 2931 "dhcp4_parser.yy" { ctx.unique("ignore-dhcp-server-identifier", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-dhcp-server-identifier", b); } -#line 4673 "dhcp4_parser.cc" +#line 4620 "dhcp4_parser.cc" break; - case 848: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" -#line 2960 "dhcp4_parser.yy" + case 839: // ignore_rai_link_selection: "ignore-rai-link-selection" ":" "boolean" +#line 2937 "dhcp4_parser.yy" { ctx.unique("ignore-rai-link-selection", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ignore-rai-link-selection", b); } -#line 4683 "dhcp4_parser.cc" +#line 4630 "dhcp4_parser.cc" break; - case 849: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" -#line 2966 "dhcp4_parser.yy" + case 840: // exclude_first_last_24: "exclude-first-last-24" ":" "boolean" +#line 2943 "dhcp4_parser.yy" { ctx.unique("exclude-first-last-24", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("exclude-first-last-24", b); } -#line 4693 "dhcp4_parser.cc" +#line 4640 "dhcp4_parser.cc" break; -#line 4697 "dhcp4_parser.cc" +#line 4644 "dhcp4_parser.cc" default: break; @@ -5045,144 +4992,143 @@ namespace isc { namespace dhcp { } - const short Dhcp4Parser::yypact_ninf_ = -995; + const short Dhcp4Parser::yypact_ninf_ = -985; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short Dhcp4Parser::yypact_[] = { - 417, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 32, 39, 34, 40, 89, 92, - 95, 103, 111, 118, 132, 138, 156, 158, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 39, -188, 56, 193, 168, 638, - -47, 306, -15, 23, 77, -116, 254, 60, -995, 78, - 170, 90, 163, 185, -995, 47, -995, -995, -995, -995, - 102, 283, 293, -995, -995, -995, 305, 325, -995, -995, - -995, 349, 351, 353, 354, 356, 357, 358, 360, 363, - 373, 380, -995, 383, 386, 387, 389, 390, -995, -995, - -995, 391, 395, 396, 397, -995, -995, -995, 403, -995, - -995, -995, -995, -995, -995, 404, 405, 407, -995, -995, - -995, -995, -995, 409, -995, -995, -995, -995, -995, -995, - 410, 411, 412, -995, -995, 413, -995, 48, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - 416, 418, 434, 435, -995, 59, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, 436, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 71, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, 437, -995, - -995, -995, -995, 73, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, 245, 288, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, 318, -995, -995, 439, -995, - -995, -995, 440, -995, -995, 320, 449, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - 451, 452, 453, -995, -995, -995, -995, 445, 456, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, 84, -995, -995, -995, 457, -995, 458, -995, - 459, 460, -995, -995, -995, -995, -995, 109, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, 461, 113, - -995, -995, -995, -995, 39, 39, -995, -131, 462, -995, - -995, 464, 469, 470, -132, 201, 255, 473, 476, 477, - 265, 264, 482, 484, 488, 275, 277, 278, 281, 282, - 284, 289, 291, 292, 294, 299, 497, 304, 307, 286, - 308, 309, 498, 510, 515, 312, 315, 317, 321, 522, - 527, 533, 326, 534, 536, 541, 542, 544, 545, 331, - 332, 333, 550, 551, 552, 553, 555, 343, 556, 560, - 564, 565, 566, 568, 355, 359, 361, 569, 570, -995, - 193, -995, 572, 573, 576, 367, 371, 374, 375, 168, - -995, 590, 591, 593, 594, 595, 601, 392, 605, 607, - 608, 638, -995, 609, 399, -47, -995, 611, 630, 631, - 632, 634, 636, 637, 639, -995, 306, -995, 641, 642, - 424, 643, 644, 645, 430, -995, 23, 647, 432, 433, - 438, -995, 77, 650, 651, 53, -995, 441, 652, 442, - 655, 444, 446, 659, 661, 254, -995, 662, 463, 60, - -995, -995, -995, 663, 667, 669, 670, 671, -995, -995, - -995, 466, 467, 468, -995, -995, 680, 681, 684, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - 474, -995, -995, -995, -995, -995, -24, 475, 478, -995, - -995, -995, -995, 685, 688, 689, -995, 479, 263, 696, - 695, 486, 280, -995, -995, -995, 699, 724, 728, 730, - 729, -995, 731, 732, 733, 734, 520, 525, -995, -995, - -995, 738, 737, -995, 740, 226, 285, -995, -995, -995, - -995, -995, 531, 532, 535, 745, 537, 546, -995, 740, - 547, 744, -995, 554, -995, -995, 740, 558, 561, 562, - 563, 571, 574, 575, -995, 577, 578, -995, 579, 580, - 581, -995, -995, 582, -995, -995, -995, -995, 583, 695, - -995, -995, 584, -995, 585, -995, -995, 10, 588, -995, - 756, -995, -995, 39, 193, 60, 168, 319, -995, -995, - -995, 1073, 1073, 755, -995, -995, -995, -995, -995, -995, - -995, -995, -995, 762, 765, 766, -995, -995, -995, -995, - -995, -995, 770, -995, -995, -995, -995, -995, -995, -995, - -995, 96, 774, 775, 778, 94, -53, -82, -64, 254, - -995, -995, 779, -3, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, 780, -995, -995, -995, -995, - 646, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 755, -995, 116, 139, 178, -995, - -995, 198, -995, -995, -995, -995, -995, -995, -995, 785, - 786, 799, 800, 801, 808, 809, 810, 811, 812, -995, - 813, 814, -995, -995, -995, -995, -995, 209, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, 210, -995, 777, 816, -995, -995, 815, 817, -995, - -995, 819, 823, -995, -995, 821, 825, -995, -995, 824, - 826, -995, -995, -995, -995, -995, -995, 140, -995, -995, - -995, -995, -995, -995, -995, 166, -995, -995, 827, 828, - -995, -995, 829, 831, -995, 818, 832, 833, 834, 835, - 836, 212, -995, -995, -995, -995, -995, -995, -995, 837, - 838, 849, -995, 213, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, 287, -995, -995, -995, 850, - -995, 852, -995, -995, -995, 290, -995, -995, -995, -995, - -995, 296, -995, 179, -995, 864, 865, 866, 867, -995, - 300, -995, -995, -995, -995, -995, 615, -995, 868, 872, - -995, -995, 869, -995, 870, -995, -995, -995, 874, 875, - 319, -995, 876, 877, 878, 879, 668, 672, 673, 675, - 679, 682, 683, 691, 692, 693, 883, 686, 697, 884, - 885, 886, 895, 1073, -995, -995, 1073, -995, 755, 638, - -995, 762, 23, -995, 765, 77, -995, 766, 776, -995, - 770, 96, -995, 301, 774, -995, 306, -995, 775, -116, - -995, 778, 698, 700, 701, 702, 703, 705, 94, -995, - 687, 706, 707, -53, -995, 898, 909, -82, -995, 694, - 913, 708, 923, -64, -995, -995, 195, 779, -995, 709, - 710, 711, 713, -3, -995, -995, 922, 931, -47, -995, - 780, 932, -995, -995, 720, 722, -995, 192, 723, 726, - 741, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, 258, -995, -995, 746, 748, 758, 759, -995, 311, - -995, 322, -995, 939, -995, 947, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 324, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, 953, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, 964, 970, -995, -995, -995, -995, -995, -995, 972, - -995, 334, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 761, 764, -995, -995, 782, -995, - 39, -995, -995, 979, -995, -995, -995, -995, -995, 340, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, 793, 342, -995, 740, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, 776, -995, 999, 1007, - 796, -995, 301, -995, -995, -995, -995, -995, -995, 1009, - 802, 1014, 195, -995, -995, -995, -995, -995, 806, 807, - -995, -995, 1021, -995, 830, -995, -995, -995, 1022, -995, - -995, 249, -995, 13, 1022, -995, -995, 1027, 1028, 1032, - -995, 346, -995, -995, -995, -995, -995, -995, -995, 1044, - 880, 890, 891, 1045, 13, -995, 887, -995, -995, -995, - 893, -995, -995, -995 + 408, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, 47, 39, 42, 55, 60, 80, + 109, 115, 117, 127, 129, 137, 141, 143, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, 39, -158, 68, 188, 163, 625, + -41, 296, 35, 92, 131, -94, 276, 28, -985, 148, + 62, 152, 150, 191, -985, 15, -985, -985, -985, -985, + 162, 201, 211, -985, -985, -985, 235, 246, -985, -985, + -985, 288, 303, 305, 322, 350, 357, 363, 370, 374, + 375, 376, -985, 377, 379, 380, 384, 385, -985, -985, + -985, 386, 387, 391, 392, -985, -985, -985, 393, -985, + -985, -985, -985, -985, 394, 395, 397, -985, -985, -985, + -985, -985, 398, -985, -985, -985, -985, -985, -985, 399, + 400, 401, -985, -985, 402, -985, 49, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, 405, 406, + 407, 411, -985, 93, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + 412, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, 96, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, 413, -985, -985, -985, -985, + 103, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, 340, 409, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, 415, -985, -985, 417, -985, -985, -985, 420, + -985, -985, 418, 422, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, 423, 424, 433, + -985, -985, -985, -985, 431, 437, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, 104, + -985, -985, -985, 447, -985, 448, -985, 449, 451, -985, + -985, -985, -985, -985, 111, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, 453, 123, -985, -985, -985, + -985, 39, 39, -985, 229, 454, -985, -985, 455, 456, + 458, 249, 251, 252, 465, 466, 467, 260, 259, 472, + 473, 474, 266, 269, 271, 273, 279, 274, 282, 284, + 291, 297, 301, 496, 302, 308, 294, 298, 304, 497, + 512, 514, 310, 311, 309, 313, 523, 525, 530, 323, + 533, 535, 536, 537, 538, 329, 333, 334, 543, 548, + 550, 551, 552, 346, 553, 556, 558, 560, 562, 563, + 355, 359, 362, 568, 574, -985, 188, -985, 575, 578, + 580, 381, 382, 372, 389, 163, -985, 586, 588, 591, + 594, 599, 600, 410, 601, 616, 617, 625, -985, 618, + 414, -41, -985, 620, 621, 622, 624, 626, 627, 629, + 631, -985, 296, -985, 632, 633, 416, 634, 636, 637, + 427, -985, 92, 639, 429, 430, 432, -985, 131, 642, + 644, -52, -985, 434, 646, 438, 649, 441, 450, 657, + 658, 276, -985, 660, 452, 28, -985, -985, -985, 662, + 661, 664, 666, 667, -985, -985, -985, 463, 468, 469, + -985, -985, 670, 671, 674, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, 470, -985, -985, -985, + -985, -985, -15, 471, 490, -985, -985, -985, -985, 679, + 680, 681, -985, 491, 206, 699, 698, 504, -985, -985, + -985, 715, 717, 718, 719, 723, -985, 724, 725, 728, + 729, 513, 526, -985, -985, -985, 732, 734, -985, 745, + 319, 160, -985, -985, -985, -985, -985, 527, 539, 541, + 749, 545, 547, -985, 745, 549, 748, -985, 555, -985, + -985, 745, 557, 559, 567, 569, 570, 571, 572, -985, + 573, 576, -985, 577, 579, 581, -985, -985, 582, -985, + -985, -985, -985, 583, 698, -985, -985, 584, -985, 585, + -985, -985, 19, 492, -985, 755, -985, -985, 39, 188, + 28, 163, 349, -985, -985, -985, 1041, 1041, 756, -985, + -985, -985, -985, -985, -985, -985, -985, -985, 757, 758, + 761, -985, -985, -985, -985, -985, -985, 763, -985, -985, + -985, 100, 765, 773, 779, 25, -47, 86, -83, 276, + -985, -985, 780, -28, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, 783, -985, -985, -985, -985, + 650, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, 756, -985, 134, 144, 187, -985, + -985, 198, -985, -985, -985, -985, -985, -985, -985, 794, + 795, 796, 797, 798, 799, 800, 803, 804, 805, -985, + 816, 817, -985, -985, -985, -985, -985, 204, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, 205, -985, 829, 759, -985, -985, 830, 819, -985, + -985, 832, 820, -985, -985, 835, 839, -985, -985, 837, + 841, -985, -985, -985, -985, -985, -985, 30, -985, -985, + -985, -985, -985, -985, -985, 50, -985, -985, 840, 842, + -985, -985, 843, 844, -985, 846, 849, 850, 851, 852, + 853, 208, -985, -985, -985, -985, -985, -985, -985, 854, + 855, 858, -985, 239, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, 286, -985, -985, -985, 860, + -985, 864, -985, -985, -985, 300, -985, -985, -985, -985, + -985, 312, -985, 97, -985, 865, 867, 868, 869, -985, + 324, -985, -985, -985, -985, -985, 663, -985, 870, 845, + -985, -985, 871, -985, 872, -985, -985, -985, 873, 876, + 349, -985, 877, 878, 879, 881, 673, 672, 675, 676, + 677, 682, 683, 684, 685, 686, 885, 678, 687, 888, + 890, 897, 898, 1041, -985, -985, 1041, -985, 756, 625, + -985, 757, 92, -985, 758, 131, -985, 761, 743, -985, + 763, 100, -985, 290, 765, -985, 296, -985, 773, -94, + -985, 779, 690, 691, 692, 693, 694, 695, 25, -985, + 696, 697, 700, -47, -985, 905, 908, 86, -985, 701, + 910, 702, 913, -83, -985, -985, -29, 780, -985, 703, + 704, 705, 706, -28, -985, -985, 920, 924, -41, -985, + 783, 925, -985, -985, 722, 726, -985, 258, 733, 736, + 752, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, 306, -985, -985, 753, 771, 774, 778, -985, 330, + -985, 332, -985, 922, -985, 929, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, 336, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, 963, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + 962, 972, -985, -985, -985, -985, -985, -985, 986, -985, + 342, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, 785, 788, -985, -985, 792, -985, 39, + -985, -985, 991, -985, -985, -985, -985, -985, 344, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + 808, 348, -985, 745, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, 743, -985, 1003, 1004, 806, + -985, 290, -985, -985, -985, -985, -985, -985, 1006, 815, + 1026, -29, -985, -985, -985, -985, -985, 866, 887, -985, + -985, 1071, -985, 889, -985, -985, -985, 1072, -985, -985, + 287, -985, 95, 1072, -985, -985, 1080, 1096, 1104, -985, + 352, -985, -985, -985, -985, -985, -985, -985, 1105, 895, + 899, 900, 1107, 95, -985, 902, -985, -985, -985, 903, + -985, -985, -985 }; const short @@ -5192,735 +5138,727 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 44, 36, 32, 31, 28, 29, 30, 35, 3, 33, 34, - 59, 5, 65, 7, 208, 9, 388, 11, 606, 13, - 635, 15, 524, 17, 533, 19, 572, 21, 350, 23, - 752, 25, 784, 27, 46, 39, 0, 0, 0, 0, - 0, 637, 0, 535, 574, 0, 0, 0, 48, 0, - 47, 0, 0, 40, 61, 0, 63, 782, 193, 226, - 0, 0, 0, 657, 659, 661, 0, 0, 224, 237, - 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 150, 0, 0, 0, 0, 0, 161, 168, - 170, 0, 0, 0, 0, 379, 522, 563, 0, 153, - 174, 466, 622, 624, 459, 0, 0, 0, 312, 684, - 626, 341, 362, 0, 327, 719, 733, 750, 181, 183, - 0, 0, 0, 794, 836, 0, 138, 0, 67, 70, - 71, 72, 73, 74, 108, 109, 110, 111, 112, 75, - 103, 134, 135, 92, 93, 94, 116, 117, 118, 119, - 120, 121, 122, 123, 124, 125, 114, 115, 126, 127, - 128, 130, 131, 132, 136, 137, 78, 79, 100, 80, - 81, 82, 129, 86, 87, 76, 105, 106, 107, 104, - 77, 84, 85, 98, 99, 101, 95, 96, 97, 83, - 88, 89, 90, 91, 102, 113, 133, 210, 212, 216, - 0, 0, 0, 0, 207, 0, 195, 198, 199, 200, - 201, 202, 203, 204, 205, 206, 444, 446, 448, 597, - 442, 450, 0, 454, 452, 679, 441, 393, 394, 395, - 396, 397, 421, 422, 423, 424, 425, 439, 411, 412, + 59, 5, 65, 7, 207, 9, 387, 11, 597, 13, + 626, 15, 515, 17, 524, 19, 563, 21, 349, 23, + 743, 25, 775, 27, 46, 39, 0, 0, 0, 0, + 0, 628, 0, 526, 565, 0, 0, 0, 48, 0, + 47, 0, 0, 40, 61, 0, 63, 773, 192, 225, + 0, 0, 0, 648, 650, 652, 0, 0, 223, 236, + 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 149, 0, 0, 0, 0, 0, 160, 167, + 169, 0, 0, 0, 0, 378, 513, 554, 0, 152, + 173, 458, 613, 615, 0, 0, 0, 311, 675, 617, + 340, 361, 0, 326, 710, 724, 741, 180, 182, 0, + 0, 0, 785, 827, 0, 137, 0, 67, 70, 71, + 72, 73, 74, 107, 108, 109, 110, 111, 75, 103, + 133, 134, 92, 93, 94, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 113, 114, 125, 126, 127, + 129, 130, 131, 135, 136, 78, 79, 100, 80, 81, + 82, 128, 86, 87, 76, 104, 105, 106, 77, 84, + 85, 98, 99, 101, 95, 96, 97, 83, 88, 89, + 90, 91, 102, 112, 132, 209, 211, 215, 0, 0, + 0, 0, 206, 0, 194, 197, 198, 199, 200, 201, + 202, 203, 204, 205, 442, 444, 446, 588, 440, 448, + 0, 452, 450, 670, 439, 392, 393, 394, 395, 396, + 419, 420, 421, 422, 423, 437, 409, 410, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, - 436, 437, 438, 440, 0, 390, 400, 416, 417, 418, - 401, 403, 404, 407, 408, 409, 406, 402, 398, 399, - 419, 420, 405, 413, 414, 415, 410, 619, 0, 618, - 614, 615, 613, 0, 608, 611, 612, 616, 617, 677, - 663, 665, 667, 671, 669, 675, 673, 656, 650, 654, - 655, 0, 638, 639, 651, 652, 653, 647, 642, 648, - 644, 645, 646, 649, 643, 0, 553, 286, 0, 557, - 555, 560, 0, 549, 550, 0, 536, 537, 540, 552, - 541, 542, 543, 559, 544, 545, 546, 547, 548, 590, - 0, 0, 0, 588, 589, 592, 593, 0, 575, 576, - 579, 580, 581, 582, 583, 584, 585, 586, 587, 358, - 360, 355, 0, 352, 356, 357, 0, 769, 0, 772, - 0, 0, 776, 780, 767, 765, 766, 0, 754, 757, - 758, 759, 760, 761, 762, 763, 764, 791, 0, 0, - 786, 789, 790, 45, 50, 0, 37, 43, 0, 64, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 438, 0, 389, 399, 414, 415, 416, 400, 402, + 403, 405, 406, 407, 401, 397, 398, 417, 418, 404, + 411, 412, 413, 408, 610, 0, 609, 605, 606, 604, + 0, 599, 602, 603, 607, 608, 668, 654, 656, 658, + 662, 660, 666, 664, 647, 641, 645, 646, 0, 629, + 630, 642, 643, 644, 638, 633, 639, 635, 636, 637, + 640, 634, 0, 544, 285, 0, 548, 546, 551, 0, + 540, 541, 0, 527, 528, 531, 543, 532, 533, 534, + 550, 535, 536, 537, 538, 539, 581, 0, 0, 0, + 579, 580, 583, 584, 0, 566, 567, 570, 571, 572, + 573, 574, 575, 576, 577, 578, 357, 359, 354, 0, + 351, 355, 356, 0, 760, 0, 763, 0, 0, 767, + 771, 758, 756, 757, 0, 745, 748, 749, 750, 751, + 752, 753, 754, 755, 782, 0, 0, 777, 780, 781, + 45, 50, 0, 37, 43, 0, 64, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 69, 66, 0, 0, 0, 0, 0, 0, 0, 197, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 392, 389, 0, 0, 610, 607, 0, 0, 0, - 0, 0, 0, 0, 0, 636, 641, 525, 0, 0, - 0, 0, 0, 0, 0, 534, 539, 0, 0, 0, - 0, 573, 578, 0, 0, 354, 351, 0, 0, 0, - 0, 0, 0, 0, 0, 756, 753, 0, 0, 788, - 785, 49, 41, 0, 0, 0, 0, 0, 155, 156, - 157, 0, 0, 0, 191, 192, 0, 0, 0, 139, - 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, - 0, 186, 187, 158, 159, 160, 0, 0, 0, 172, - 173, 180, 185, 0, 0, 0, 152, 0, 0, 0, - 0, 0, 0, 456, 457, 458, 0, 0, 0, 0, - 0, 718, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 68, 0, 0, 0, 220, 221, 222, - 223, 196, 0, 0, 0, 0, 0, 0, 465, 0, - 0, 0, 391, 0, 621, 609, 0, 0, 0, 0, - 0, 0, 0, 0, 640, 0, 0, 551, 0, 0, - 0, 562, 538, 0, 594, 595, 596, 577, 0, 0, - 353, 768, 0, 771, 0, 774, 775, 0, 0, 755, - 0, 793, 787, 0, 0, 0, 0, 0, 658, 660, - 662, 0, 0, 241, 151, 163, 164, 165, 166, 167, - 162, 169, 171, 381, 526, 565, 154, 176, 177, 178, - 179, 175, 468, 38, 623, 625, 461, 462, 463, 464, - 460, 0, 0, 628, 343, 0, 0, 0, 0, 0, - 182, 184, 0, 0, 51, 211, 214, 215, 213, 218, - 219, 217, 445, 447, 449, 599, 443, 451, 455, 453, - 0, 620, 678, 664, 666, 668, 672, 670, 676, 674, - 554, 287, 558, 556, 561, 591, 359, 361, 770, 773, - 778, 779, 777, 781, 241, 42, 0, 0, 0, 233, - 235, 0, 228, 231, 232, 274, 279, 281, 283, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 297, - 0, 0, 304, 306, 308, 310, 273, 0, 248, 251, - 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 0, 246, 0, 242, 243, 386, 0, 382, 383, - 531, 0, 527, 528, 570, 0, 566, 567, 473, 0, - 469, 470, 322, 323, 324, 325, 326, 0, 314, 317, - 318, 319, 320, 321, 689, 0, 686, 633, 0, 629, - 630, 348, 0, 344, 345, 0, 0, 0, 0, 0, - 0, 0, 364, 367, 368, 369, 370, 371, 372, 0, - 0, 0, 337, 0, 329, 332, 333, 334, 335, 336, - 729, 731, 728, 726, 727, 0, 721, 724, 725, 0, - 745, 0, 748, 741, 742, 0, 735, 738, 739, 740, - 743, 0, 799, 0, 796, 0, 0, 0, 0, 845, - 0, 838, 841, 842, 843, 844, 53, 604, 0, 600, - 601, 682, 0, 681, 0, 62, 783, 194, 0, 0, - 230, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 250, 225, 238, 0, 240, 245, 0, - 380, 385, 535, 523, 530, 574, 564, 569, 0, 467, - 472, 316, 313, 691, 688, 685, 637, 627, 632, 0, - 342, 347, 0, 0, 0, 0, 0, 0, 366, 363, - 0, 0, 0, 331, 328, 0, 0, 723, 720, 0, - 0, 0, 0, 737, 734, 751, 0, 798, 795, 0, - 0, 0, 0, 840, 837, 55, 0, 54, 0, 598, - 603, 0, 680, 792, 0, 0, 229, 0, 0, 0, - 0, 285, 288, 289, 290, 291, 292, 293, 294, 295, - 296, 0, 302, 303, 0, 0, 0, 0, 249, 0, - 244, 0, 384, 0, 529, 0, 568, 521, 496, 497, - 498, 481, 482, 501, 502, 503, 504, 505, 519, 484, - 485, 506, 507, 508, 509, 510, 511, 512, 513, 514, - 515, 516, 517, 518, 520, 478, 479, 480, 494, 495, - 491, 492, 493, 490, 0, 475, 483, 499, 500, 486, - 487, 488, 489, 471, 315, 713, 715, 0, 707, 708, - 709, 710, 711, 712, 700, 701, 705, 706, 702, 703, - 704, 0, 692, 693, 696, 697, 698, 699, 687, 0, - 631, 0, 346, 373, 374, 375, 376, 377, 378, 365, - 338, 339, 340, 330, 0, 0, 722, 744, 0, 747, - 0, 736, 814, 0, 812, 810, 804, 808, 809, 0, - 801, 806, 807, 805, 797, 846, 847, 848, 849, 839, - 52, 57, 0, 602, 0, 234, 236, 276, 277, 278, - 275, 280, 282, 284, 299, 300, 301, 298, 305, 307, - 309, 311, 247, 387, 532, 571, 477, 474, 0, 0, - 0, 690, 695, 634, 349, 730, 732, 746, 749, 0, - 0, 0, 803, 800, 56, 605, 683, 476, 0, 0, - 717, 694, 0, 811, 0, 802, 714, 716, 0, 813, - 819, 0, 816, 0, 818, 815, 829, 0, 0, 0, - 834, 0, 821, 824, 825, 826, 827, 828, 817, 0, - 0, 0, 0, 0, 823, 820, 0, 831, 832, 833, - 0, 822, 830, 835 + 0, 0, 0, 0, 0, 58, 69, 66, 0, 0, + 0, 0, 0, 0, 0, 196, 208, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 391, 388, 0, + 0, 601, 598, 0, 0, 0, 0, 0, 0, 0, + 0, 627, 632, 516, 0, 0, 0, 0, 0, 0, + 0, 525, 530, 0, 0, 0, 0, 564, 569, 0, + 0, 353, 350, 0, 0, 0, 0, 0, 0, 0, + 0, 747, 744, 0, 0, 779, 776, 49, 41, 0, + 0, 0, 0, 0, 154, 155, 156, 0, 0, 0, + 190, 191, 0, 0, 0, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 0, 185, 186, 157, + 158, 159, 0, 0, 0, 171, 172, 179, 184, 0, + 0, 0, 151, 0, 0, 0, 0, 0, 454, 455, + 456, 0, 0, 0, 0, 0, 709, 0, 0, 0, + 0, 0, 0, 187, 188, 189, 0, 0, 68, 0, + 0, 0, 219, 220, 221, 222, 195, 0, 0, 0, + 0, 0, 0, 457, 0, 0, 0, 390, 0, 612, + 600, 0, 0, 0, 0, 0, 0, 0, 0, 631, + 0, 0, 542, 0, 0, 0, 553, 529, 0, 585, + 586, 587, 568, 0, 0, 352, 759, 0, 762, 0, + 765, 766, 0, 0, 746, 0, 784, 778, 0, 0, + 0, 0, 0, 649, 651, 653, 0, 0, 240, 150, + 162, 163, 164, 165, 166, 161, 168, 170, 380, 517, + 556, 153, 175, 176, 177, 178, 174, 460, 38, 614, + 616, 0, 0, 619, 342, 0, 0, 0, 0, 0, + 181, 183, 0, 0, 51, 210, 213, 214, 212, 217, + 218, 216, 443, 445, 447, 590, 441, 449, 453, 451, + 0, 611, 669, 655, 657, 659, 663, 661, 667, 665, + 545, 286, 549, 547, 552, 582, 358, 360, 761, 764, + 769, 770, 768, 772, 240, 42, 0, 0, 0, 232, + 234, 0, 227, 230, 231, 273, 278, 280, 282, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 296, + 0, 0, 303, 305, 307, 309, 272, 0, 247, 250, + 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, + 271, 0, 245, 0, 241, 242, 385, 0, 381, 382, + 522, 0, 518, 519, 561, 0, 557, 558, 465, 0, + 461, 462, 321, 322, 323, 324, 325, 0, 313, 316, + 317, 318, 319, 320, 680, 0, 677, 624, 0, 620, + 621, 347, 0, 343, 344, 0, 0, 0, 0, 0, + 0, 0, 363, 366, 367, 368, 369, 370, 371, 0, + 0, 0, 336, 0, 328, 331, 332, 333, 334, 335, + 720, 722, 719, 717, 718, 0, 712, 715, 716, 0, + 736, 0, 739, 732, 733, 0, 726, 729, 730, 731, + 734, 0, 790, 0, 787, 0, 0, 0, 0, 836, + 0, 829, 832, 833, 834, 835, 53, 595, 0, 591, + 592, 673, 0, 672, 0, 62, 774, 193, 0, 0, + 229, 226, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 249, 224, 237, 0, 239, 244, 0, + 379, 384, 526, 514, 521, 565, 555, 560, 0, 459, + 464, 315, 312, 682, 679, 676, 628, 618, 623, 0, + 341, 346, 0, 0, 0, 0, 0, 0, 365, 362, + 0, 0, 0, 330, 327, 0, 0, 714, 711, 0, + 0, 0, 0, 728, 725, 742, 0, 789, 786, 0, + 0, 0, 0, 831, 828, 55, 0, 54, 0, 589, + 594, 0, 671, 783, 0, 0, 228, 0, 0, 0, + 0, 284, 287, 288, 289, 290, 291, 292, 293, 294, + 295, 0, 301, 302, 0, 0, 0, 0, 248, 0, + 243, 0, 383, 0, 520, 0, 559, 512, 487, 488, + 489, 473, 474, 492, 493, 494, 495, 496, 510, 476, + 477, 497, 498, 499, 500, 501, 502, 503, 504, 505, + 506, 507, 508, 509, 511, 470, 471, 472, 485, 486, + 482, 483, 484, 0, 467, 475, 490, 491, 478, 479, + 480, 481, 463, 314, 704, 706, 0, 698, 699, 700, + 701, 702, 703, 691, 692, 696, 697, 693, 694, 695, + 0, 683, 684, 687, 688, 689, 690, 678, 0, 622, + 0, 345, 372, 373, 374, 375, 376, 377, 364, 337, + 338, 339, 329, 0, 0, 713, 735, 0, 738, 0, + 727, 805, 0, 803, 801, 795, 799, 800, 0, 792, + 797, 798, 796, 788, 837, 838, 839, 840, 830, 52, + 57, 0, 593, 0, 233, 235, 275, 276, 277, 274, + 279, 281, 283, 298, 299, 300, 297, 304, 306, 308, + 310, 246, 386, 523, 562, 469, 466, 0, 0, 0, + 681, 686, 625, 348, 721, 723, 737, 740, 0, 0, + 0, 794, 791, 56, 596, 674, 468, 0, 0, 708, + 685, 0, 802, 0, 793, 705, 707, 0, 804, 810, + 0, 807, 0, 809, 806, 820, 0, 0, 0, 825, + 0, 812, 815, 816, 817, 818, 819, 808, 0, 0, + 0, 0, 0, 814, 811, 0, 822, 823, 824, 0, + 813, 821, 826 }; const short Dhcp4Parser::yypgoto_[] = { - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -59, -995, -589, -995, 362, - -995, -995, -995, -995, -995, -995, -643, -995, -995, -995, - -67, -995, -995, -995, -995, -995, -995, -995, 398, 603, - 42, 44, 45, -54, -39, -1, 9, 29, 57, 61, - -995, -995, -995, -995, 62, -995, -995, 63, 64, 65, - 67, 68, 69, -995, -995, 75, -995, 79, -995, 80, - 81, 82, -995, -995, 83, 85, -995, 86, -995, 87, - -995, -995, -995, -995, -995, 46, -995, -995, -995, 406, - 602, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - 144, -995, -995, -995, -995, -995, -995, -995, -995, 338, - -995, 117, -995, -700, 123, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -13, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, 122, -995, -995, -995, -995, -995, -995, -995, - -995, 107, -995, -995, -995, -995, -995, -995, -995, 120, - -995, -995, -995, 124, 587, -995, -995, -995, -995, -995, - -995, -995, 119, -995, -995, -995, -995, -995, -995, -994, - -995, -995, -995, 143, -995, -995, -995, 146, 625, -995, - -995, -995, -995, -995, -995, -995, -995, -991, -995, -18, - -995, 91, -995, 93, 97, 98, 99, -995, -995, -995, - -995, -995, -995, -995, 141, -995, -995, -88, -62, -995, - -995, -995, -995, -995, 148, -995, -995, -995, 151, -995, - 604, -995, -63, -995, -995, -995, -995, -995, -61, -995, - -995, -995, -995, -995, -12, -995, -995, -995, 147, -995, - -995, -995, 150, -995, 606, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, 100, -995, -995, - -995, 101, 640, -995, -995, -995, -49, -995, -31, -995, - -51, -995, -995, -995, 145, -995, -995, -995, 152, -995, - 620, 6, -995, 22, -995, 26, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -982, -995, -995, -995, -995, -995, -995, - -995, 153, -995, -995, -995, -85, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, 125, -995, -995, -995, - -995, -995, -995, -995, 121, -995, -995, -995, -995, -995, - -995, -995, -995, -995, -995, 422, 596, -995, -995, -995, - -995, -995, -995, -995, -995, -995, -995, -995, -995, -995, - -995, -995, -995, -995, 471, 597, -995, -995, -995, -995, - -995, -995, 126, -995, -995, -80, -995, -995, -995, -995, - -995, -995, -100, -995, -995, -117, -995, -995, -995, -995, - -995, -995, -995, -995, -995, -995, 128, -995, -995, -995, - -995 + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -59, -985, -590, -985, 435, + -985, -985, -985, -985, -985, -985, -623, -985, -985, -985, + -67, -985, -985, -985, -985, -985, -985, -985, 419, 628, + -37, -30, 33, -54, -27, 0, 14, 16, 29, 44, + -985, -985, -985, -985, 46, -985, -985, 48, 51, 52, + 54, 56, 58, -985, -985, 59, -985, 64, -985, 66, + 69, 70, -985, -985, 71, 72, -985, 74, -985, 76, + -985, -985, -985, -985, -985, 36, -985, -985, -985, 421, + 611, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + 157, -985, -985, -985, -985, -985, -985, -985, -985, 337, + -985, 135, -985, -695, 142, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -45, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, 125, -985, -985, -985, -985, -985, -985, -985, + -985, 105, -985, -985, -985, -985, -985, -985, -985, 118, + -985, -985, -985, 121, 589, -985, -985, -985, -985, -985, + -985, -985, 113, -985, -985, -985, -985, -985, -985, -984, + -985, -985, -985, 145, -985, -985, -985, 146, 615, -985, + -985, -985, -985, -985, -985, -985, -985, -982, -985, 79, + -985, 85, -985, 77, 82, 84, -985, -985, -985, -985, + -985, 139, -985, -985, -91, -62, -985, -985, -985, -985, + -985, 147, -985, -985, -985, 151, -985, 595, -985, -63, + -985, -985, -985, -985, -985, -44, -985, -985, -985, -985, + -985, 3, -985, -985, -985, 149, -985, -985, -985, 153, + -985, 596, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, 99, -985, -985, -985, 94, 630, + -985, -985, -985, -49, -985, -10, -985, -56, -985, -985, + -985, 154, -985, -985, -985, 155, -985, 613, -26, -985, + 13, -985, 26, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -981, -985, -985, -985, -985, -985, -985, -985, 156, -985, + -985, -985, -84, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, 126, -985, -985, -985, -985, -985, -985, + -985, 119, -985, -985, -985, -985, -985, -985, -985, -985, + -985, -985, 426, 593, -985, -985, -985, -985, -985, -985, + -985, -985, -985, -985, -985, -985, -985, -985, -985, -985, + -985, 457, 590, -985, -985, -985, -985, -985, -985, 122, + -985, -985, -85, -985, -985, -985, -985, -985, -985, -113, + -985, -985, -120, -985, -985, -985, -985, -985, -985, -985, + -985, -985, -985, 124, -985, -985, -985, -985 }; const short Dhcp4Parser::yydefgoto_[] = { 0, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, 27, 36, 37, 38, 65, 734, - 82, 83, 39, 64, 79, 80, 755, 956, 1056, 1057, - 826, 41, 66, 85, 428, 86, 43, 67, 157, 158, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 170, 456, 171, 172, 473, 173, 174, 175, 176, - 177, 178, 179, 462, 720, 180, 463, 181, 464, 182, - 183, 184, 474, 731, 185, 186, 492, 187, 493, 188, - 189, 190, 191, 192, 193, 194, 195, 196, 432, 235, - 236, 45, 68, 237, 502, 238, 503, 758, 239, 504, - 761, 240, 241, 242, 243, 197, 442, 198, 433, 801, - 802, 803, 968, 804, 969, 199, 443, 200, 444, 853, - 854, 855, 996, 827, 828, 829, 972, 1220, 830, 973, - 831, 974, 832, 975, 833, 834, 539, 835, 836, 837, - 838, 839, 840, 841, 842, 843, 844, 986, 1227, 845, - 846, 847, 989, 848, 990, 849, 991, 850, 992, 201, - 482, 877, 878, 879, 880, 881, 882, 883, 202, 488, - 913, 914, 915, 916, 917, 203, 485, 892, 893, 894, - 1019, 59, 75, 392, 393, 394, 553, 395, 554, 204, - 486, 901, 902, 903, 904, 905, 906, 907, 908, 205, - 469, 857, 858, 859, 999, 47, 69, 284, 285, 286, - 515, 287, 511, 288, 512, 289, 513, 290, 516, 291, - 519, 292, 518, 206, 207, 208, 209, 478, 740, 297, - 210, 475, 869, 870, 871, 1008, 1134, 1135, 211, 470, - 53, 72, 861, 862, 863, 1002, 55, 73, 355, 356, - 357, 358, 359, 360, 361, 538, 362, 542, 363, 541, - 364, 365, 543, 366, 212, 471, 865, 866, 867, 1005, - 57, 74, 377, 378, 379, 380, 381, 547, 382, 383, - 384, 385, 386, 299, 514, 958, 959, 960, 1058, 49, - 70, 313, 314, 315, 523, 316, 213, 476, 214, 477, - 215, 484, 888, 889, 890, 1016, 51, 71, 331, 332, - 333, 216, 437, 217, 438, 218, 439, 337, 528, 338, - 529, 339, 530, 340, 532, 341, 531, 342, 534, 343, - 533, 344, 527, 306, 520, 962, 963, 1061, 219, 483, - 885, 886, 1013, 1161, 1162, 1163, 1164, 1165, 1238, 1166, - 1239, 1167, 220, 221, 489, 925, 926, 927, 1035, 928, - 1036, 222, 490, 935, 936, 937, 938, 1040, 939, 940, - 1042, 223, 491, 61, 76, 407, 408, 409, 410, 558, - 411, 412, 560, 413, 414, 415, 563, 792, 416, 564, - 224, 431, 63, 77, 419, 420, 421, 567, 422, 225, - 497, 943, 944, 1046, 1199, 1200, 1201, 1202, 1251, 1203, - 1249, 1271, 1272, 1273, 1281, 1282, 1283, 1289, 1284, 1285, - 1286, 1287, 1293, 226, 498, 950, 951, 952, 953, 954, - 955 + 23, 24, 25, 26, 27, 36, 37, 38, 65, 729, + 82, 83, 39, 64, 79, 80, 745, 946, 1046, 1047, + 816, 41, 66, 85, 425, 86, 43, 67, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 453, 170, 171, 470, 172, 173, 174, 175, + 176, 177, 178, 459, 715, 179, 460, 180, 461, 181, + 182, 183, 471, 726, 184, 185, 488, 186, 489, 187, + 188, 189, 190, 191, 192, 193, 194, 195, 429, 233, + 234, 45, 68, 235, 498, 236, 499, 748, 237, 500, + 751, 238, 239, 240, 241, 196, 439, 197, 430, 791, + 792, 793, 958, 794, 959, 198, 440, 199, 441, 843, + 844, 845, 986, 817, 818, 819, 962, 1209, 820, 963, + 821, 964, 822, 965, 823, 824, 535, 825, 826, 827, + 828, 829, 830, 831, 832, 833, 834, 976, 1216, 835, + 836, 837, 979, 838, 980, 839, 981, 840, 982, 200, + 478, 867, 868, 869, 870, 871, 872, 873, 201, 484, + 903, 904, 905, 906, 907, 202, 481, 882, 883, 884, + 1009, 59, 75, 389, 390, 391, 549, 392, 550, 203, + 482, 891, 892, 893, 894, 895, 896, 897, 898, 204, + 466, 847, 848, 849, 989, 47, 69, 282, 283, 284, + 511, 285, 507, 286, 508, 287, 509, 288, 512, 289, + 515, 290, 514, 205, 206, 207, 294, 208, 472, 859, + 860, 861, 998, 1123, 1124, 209, 467, 53, 72, 851, + 852, 853, 992, 55, 73, 352, 353, 354, 355, 356, + 357, 358, 534, 359, 538, 360, 537, 361, 362, 539, + 363, 210, 468, 855, 856, 857, 995, 57, 74, 374, + 375, 376, 377, 378, 543, 379, 380, 381, 382, 383, + 296, 510, 948, 949, 950, 1048, 49, 70, 310, 311, + 312, 519, 313, 211, 473, 212, 474, 213, 480, 878, + 879, 880, 1006, 51, 71, 328, 329, 330, 214, 434, + 215, 435, 216, 436, 334, 524, 335, 525, 336, 526, + 337, 528, 338, 527, 339, 530, 340, 529, 341, 523, + 303, 516, 952, 953, 1051, 217, 479, 875, 876, 1003, + 1150, 1151, 1152, 1153, 1154, 1227, 1155, 1228, 1156, 218, + 219, 485, 915, 916, 917, 1025, 918, 1026, 220, 486, + 925, 926, 927, 928, 1030, 929, 930, 1032, 221, 487, + 61, 76, 404, 405, 406, 407, 554, 408, 409, 556, + 410, 411, 412, 559, 782, 413, 560, 222, 428, 63, + 77, 416, 417, 418, 563, 419, 223, 493, 933, 934, + 1036, 1188, 1189, 1190, 1191, 1240, 1192, 1238, 1260, 1261, + 1262, 1270, 1271, 1272, 1278, 1273, 1274, 1275, 1276, 1282, + 224, 494, 940, 941, 942, 943, 944, 945 }; const short Dhcp4Parser::yytable_[] = { - 156, 234, 256, 309, 327, 78, 353, 373, 391, 404, - 345, 375, 851, 376, 1126, 260, 768, 1127, 302, 244, - 300, 317, 329, 772, 367, 387, 1142, 405, 790, 81, - 261, 733, 28, 389, 390, 132, 133, 245, 301, 318, - 330, 40, 368, 388, 29, 406, 30, 42, 31, 127, - 429, 500, 310, 132, 133, 430, 501, 298, 312, 328, - 354, 374, 509, 346, 132, 133, 84, 510, 262, 307, - 132, 133, 417, 418, 521, 303, 525, 334, 263, 522, - 126, 526, 920, 921, 423, 253, 573, 555, 578, 254, - 308, 304, 556, 335, 425, 305, 44, 336, 264, 46, - 733, 155, 48, 929, 930, 931, 434, 909, 910, 911, - 50, 257, 565, 258, 259, 283, 569, 566, 52, 500, - 347, 570, 348, 349, 965, 54, 265, 350, 351, 352, - 266, 267, 268, 269, 270, 155, 271, 272, 273, 56, - 132, 133, 569, 1011, 274, 58, 1012, 966, 275, 276, - 277, 278, 279, 932, 280, 281, 282, 715, 716, 717, - 718, 311, 293, 60, 155, 62, 294, 295, 296, 1014, - 155, 426, 1015, 424, 347, 369, 348, 349, 370, 371, - 372, 509, 1047, 227, 228, 1048, 967, 229, 427, 791, - 230, 231, 232, 233, 132, 133, 719, 945, 946, 947, - 948, 970, 389, 390, 87, 1276, 971, 88, 1277, 1278, - 1279, 1280, 993, 993, 155, 1028, 1033, 994, 995, 89, - 1029, 1034, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 1217, 1218, 1219, 872, 873, 874, 875, - 155, 876, 1126, 756, 757, 1127, 895, 896, 897, 898, - 899, 900, 1274, 535, 1142, 1275, 32, 33, 34, 35, + 155, 232, 254, 306, 324, 78, 350, 370, 388, 401, + 342, 372, 841, 299, 1116, 258, 1117, 1131, 426, 242, + 297, 314, 326, 427, 364, 384, 728, 402, 351, 371, + 373, 758, 255, 1001, 132, 133, 1002, 780, 762, 256, + 414, 415, 259, 300, 29, 331, 30, 28, 31, 40, + 386, 387, 496, 1004, 81, 127, 1005, 497, 243, 298, + 315, 327, 42, 365, 385, 421, 403, 44, 344, 260, + 132, 133, 295, 309, 325, 304, 132, 133, 84, 919, + 920, 921, 301, 261, 332, 262, 251, 46, 132, 133, + 252, 305, 386, 387, 728, 302, 505, 333, 263, 517, + 1037, 506, 257, 1038, 518, 281, 521, 551, 899, 900, + 901, 522, 552, 264, 561, 265, 48, 266, 154, 562, + 267, 268, 50, 269, 52, 270, 565, 271, 272, 922, + 126, 566, 343, 273, 54, 274, 56, 496, 275, 276, + 277, 278, 955, 279, 58, 280, 291, 565, 60, 307, + 62, 292, 956, 293, 420, 308, 422, 1181, 423, 1182, + 1183, 710, 711, 712, 713, 154, 431, 935, 936, 937, + 938, 154, 885, 886, 887, 888, 889, 890, 225, 226, + 749, 750, 227, 154, 154, 228, 229, 230, 231, 344, + 505, 345, 346, 781, 424, 957, 347, 348, 349, 87, + 714, 960, 88, 132, 133, 432, 961, 983, 983, 132, + 133, 1018, 984, 985, 89, 433, 1019, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 344, 366, + 345, 346, 367, 368, 369, 862, 863, 864, 865, 437, + 866, 1116, 1023, 1117, 1131, 910, 911, 1024, 132, 133, + 438, 32, 33, 34, 35, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 132, 133, 1265, 126, 127, 1266, 1267, 1268, 1269, 1027, + 1263, 1079, 442, 1264, 1028, 128, 129, 130, 154, 1206, + 1207, 1208, 131, 1033, 154, 132, 133, 443, 1034, 444, + 134, 135, 136, 137, 138, 561, 722, 723, 724, 725, + 1035, 139, 93, 94, 95, 96, 445, 1043, 93, 94, + 95, 140, 1044, 983, 141, 517, 746, 747, 1221, 1225, + 1222, 142, 143, 154, 1226, 551, 144, 1241, 531, 145, + 1233, 521, 1242, 146, 446, 1283, 1244, 101, 102, 103, + 1284, 447, 567, 568, 1213, 1214, 1215, 448, 147, 148, + 149, 150, 151, 152, 449, 154, 789, 790, 450, 451, + 452, 454, 153, 455, 456, 126, 127, 344, 457, 458, + 462, 463, 127, 132, 133, 464, 465, 469, 475, 476, + 154, 477, 483, 490, 491, 492, 495, 132, 133, 501, + 502, 503, 532, 132, 133, 504, 513, 520, 1134, 1135, + 1136, 536, 316, 533, 540, 542, 541, 544, 545, 155, + 317, 318, 319, 320, 321, 322, 323, 546, 232, 547, + 548, 569, 393, 394, 395, 396, 397, 398, 399, 400, + 254, 553, 555, 557, 306, 558, 242, 564, 570, 571, + 572, 299, 573, 258, 574, 324, 575, 576, 297, 577, + 578, 579, 314, 580, 581, 350, 582, 583, 584, 585, + 255, 370, 586, 326, 587, 372, 588, 256, 154, 590, + 259, 300, 589, 364, 401, 243, 591, 351, 592, 384, + 596, 602, 154, 371, 373, 593, 331, 298, 154, 599, + 594, 315, 402, 600, 595, 597, 603, 260, 604, 601, + 295, 598, 327, 607, 309, 605, 606, 609, 608, 610, + 301, 261, 365, 262, 611, 325, 612, 613, 385, 614, + 615, 616, 617, 302, 618, 332, 263, 621, 619, 620, + 257, 403, 622, 281, 623, 624, 625, 627, 333, 626, + 628, 264, 629, 265, 630, 266, 631, 632, 267, 268, + 633, 269, 636, 270, 634, 271, 272, 635, 637, 639, + 1245, 273, 640, 274, 641, 644, 275, 276, 277, 278, + 647, 279, 648, 280, 291, 649, 642, 643, 650, 292, + 307, 293, 645, 651, 652, 654, 308, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 655, 656, 658, 653, 661, 662, 663, 659, 664, 672, + 665, 666, 155, 667, 232, 668, 670, 671, 673, 785, + 674, 675, 676, 678, 679, 680, 683, 681, 684, 686, + 687, 688, 242, 689, 690, 91, 92, 93, 94, 95, + 96, 692, 693, 691, 695, 696, 698, 783, 699, 902, + 912, 700, 401, 701, 702, 703, 939, 706, 707, 708, + 704, 705, 709, 716, 718, 719, 720, 908, 913, 923, + 402, 243, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 717, 721, 727, 30, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 730, 244, 245, 246, + 731, 127, 732, 733, 734, 740, 909, 914, 924, 403, + 735, 736, 737, 129, 130, 738, 739, 742, 741, 752, + 247, 743, 132, 133, 248, 249, 250, 134, 135, 136, + 744, 753, 251, 754, 755, 760, 252, 756, 139, 757, + 784, 759, 988, 842, 846, 850, 253, 761, 854, 763, + 858, 764, 874, 91, 92, 93, 94, 95, 96, 765, + 877, 766, 767, 768, 769, 770, 881, 932, 771, 772, + 947, 773, 951, 774, 775, 776, 778, 779, 966, 967, + 968, 969, 970, 971, 972, 147, 148, 973, 974, 975, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 125, 132, 133, 435, 126, 127, - 1037, 536, 347, 1043, 155, 1038, 1089, 436, 1044, 565, - 128, 129, 130, 1053, 1045, 759, 760, 131, 1054, 440, - 132, 133, 132, 133, 993, 134, 1224, 1225, 1226, 1232, - 135, 136, 137, 138, 139, 521, 537, 1236, 545, 441, - 1233, 140, 1237, 93, 94, 95, 96, 555, 93, 94, - 95, 141, 1244, 1252, 142, 525, 799, 800, 1253, 1294, - 1255, 143, 144, 445, 1295, 446, 145, 447, 448, 146, - 449, 450, 451, 147, 452, 571, 572, 453, 101, 102, - 103, 132, 133, 727, 728, 729, 730, 454, 148, 149, - 150, 151, 152, 153, 455, 155, 1192, 457, 1193, 1194, - 458, 459, 154, 460, 461, 465, 126, 127, 347, 466, - 467, 468, 127, 736, 737, 738, 739, 472, 479, 480, - 155, 481, 155, 487, 494, 495, 496, 499, 132, 133, - 505, 579, 506, 132, 133, 396, 397, 398, 399, 400, - 401, 402, 403, 156, 1145, 1146, 1147, 319, 507, 508, - 517, 524, 234, 540, 544, 320, 321, 322, 323, 324, - 325, 326, 546, 551, 256, 548, 549, 550, 309, 552, - 244, 557, 559, 561, 562, 568, 574, 260, 575, 327, - 302, 155, 300, 576, 577, 580, 317, 581, 245, 353, - 582, 583, 261, 584, 585, 373, 586, 329, 587, 375, - 301, 376, 588, 589, 318, 590, 591, 367, 404, 592, - 593, 600, 606, 387, 594, 330, 603, 310, 595, 298, - 596, 597, 598, 312, 607, 368, 405, 599, 155, 608, - 262, 388, 601, 155, 328, 602, 613, 303, 604, 605, - 263, 614, 609, 354, 406, 610, 611, 615, 617, 374, - 618, 612, 334, 304, 616, 619, 620, 305, 621, 622, - 264, 623, 624, 625, 626, 627, 628, 629, 335, 630, - 632, 631, 336, 257, 633, 258, 259, 283, 634, 635, - 636, 1256, 637, 641, 642, 638, 644, 645, 265, 639, - 646, 640, 266, 267, 268, 269, 270, 647, 271, 272, - 273, 648, 649, 650, 652, 653, 274, 654, 655, 656, - 275, 276, 277, 278, 279, 657, 280, 281, 282, 659, - 658, 660, 661, 663, 293, 666, 311, 664, 294, 295, - 296, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 667, 668, 669, 156, 670, 234, - 671, 672, 677, 673, 795, 675, 676, 678, 679, 680, - 681, 683, 684, 685, 688, 689, 692, 244, 686, 694, - 693, 691, 695, 697, 696, 698, 700, 703, 91, 92, - 93, 94, 95, 96, 704, 245, 705, 706, 707, 912, - 922, 701, 404, 708, 709, 710, 949, 711, 712, 713, - 723, 714, 721, 724, 725, 722, 726, 918, 923, 933, - 405, 732, 30, 735, 741, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 919, 924, 934, 406, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 742, - 246, 247, 248, 743, 127, 744, 745, 750, 746, 747, - 748, 749, 751, 752, 753, 754, 129, 130, 762, 763, - 765, 770, 764, 249, 766, 132, 133, 250, 251, 252, - 134, 794, 852, 767, 769, 135, 136, 137, 793, 856, - 253, 771, 860, 864, 254, 773, 140, 868, 774, 775, - 776, 884, 887, 997, 255, 891, 942, 957, 777, 976, - 977, 778, 779, 961, 780, 781, 782, 783, 784, 785, - 786, 788, 789, 978, 979, 980, 91, 92, 93, 94, - 95, 96, 981, 982, 983, 984, 985, 987, 988, 998, - 1001, 1000, 1022, 148, 149, 1003, 1004, 1006, 1007, 1010, - 1009, 1018, 1055, 1017, 1021, 1020, 1023, 1024, 1025, 1026, - 1027, 1030, 1031, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 1032, 1039, 155, 1041, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 1049, 1050, - 1051, 1052, 127, 347, 1059, 1060, 1063, 1062, 1064, 1065, - 1067, 1068, 1069, 1070, 129, 130, 1071, 1081, 1084, 1085, - 1086, 1073, 1072, 132, 133, 1074, 251, 1075, 134, 1087, - 1076, 1077, 1184, 135, 136, 137, 1082, 1180, 253, 1078, - 1079, 1080, 254, 1185, 1187, 1083, 1173, 1188, 1174, 1175, - 1176, 1177, 255, 1178, 1181, 1182, 1189, 1190, 1210, 1205, - 1206, 1207, 256, 1208, 1211, 353, 1214, 1215, 373, 1216, - 1221, 1097, 375, 1222, 376, 260, 1148, 1234, 302, 327, - 300, 1154, 391, 367, 1101, 1235, 387, 1240, 1223, 1137, - 261, 148, 149, 1228, 1156, 1229, 912, 329, 301, 1102, - 922, 368, 1241, 1242, 388, 1230, 1231, 1138, 1245, 1195, - 1243, 1246, 1157, 1250, 918, 330, 949, 298, 923, 354, - 1128, 309, 374, 155, 933, 1125, 1136, 1197, 262, 1247, - 1153, 1155, 919, 1258, 328, 303, 924, 1103, 263, 317, - 1254, 1259, 934, 1262, 1139, 1198, 1260, 1104, 1264, 1158, - 1263, 304, 334, 1266, 1267, 305, 1268, 318, 264, 1270, - 1140, 1290, 1291, 1196, 1141, 1159, 1292, 1105, 335, 1160, - 310, 257, 336, 258, 259, 283, 312, 1269, 1296, 1300, - 1098, 787, 1099, 1100, 1124, 1149, 265, 1150, 1151, 1152, - 266, 267, 268, 269, 270, 1106, 271, 272, 273, 1107, - 1108, 1109, 1110, 1111, 274, 1112, 1113, 1114, 275, 276, - 277, 278, 279, 1115, 280, 281, 282, 1116, 1117, 1118, - 1119, 1120, 293, 1121, 1122, 1123, 294, 295, 296, 1129, - 1297, 1130, 796, 643, 1302, 1131, 1132, 1133, 1298, 1299, - 1303, 651, 798, 805, 1066, 1090, 1088, 806, 807, 808, - 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, - 819, 1248, 964, 1144, 820, 821, 822, 823, 824, 825, - 1183, 1172, 690, 1171, 1092, 1091, 662, 1179, 1257, 311, - 682, 1143, 1094, 1093, 1096, 1095, 674, 1261, 687, 1212, - 1213, 699, 1186, 1170, 1191, 665, 702, 1168, 1169, 1097, - 347, 941, 1265, 1204, 1288, 1148, 797, 1301, 0, 0, - 1154, 1209, 1101, 0, 0, 1195, 0, 1137, 0, 0, - 0, 0, 0, 1156, 0, 0, 0, 1102, 0, 0, - 0, 0, 0, 1197, 0, 1138, 0, 0, 0, 0, - 0, 1157, 0, 0, 0, 0, 0, 0, 1128, 0, - 0, 1198, 0, 1125, 1136, 0, 0, 0, 0, 1153, - 1155, 0, 0, 0, 0, 1103, 0, 0, 0, 1196, - 0, 0, 1139, 0, 0, 1104, 0, 0, 1158, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1140, 0, - 0, 0, 1141, 0, 1159, 1105, 0, 0, 1160, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1098, 0, - 1099, 1100, 1124, 0, 1149, 0, 1150, 1151, 1152, 0, - 155, 0, 0, 1106, 0, 0, 0, 1107, 1108, 1109, - 1110, 1111, 0, 1112, 1113, 1114, 0, 0, 0, 0, - 0, 1115, 0, 0, 0, 1116, 1117, 1118, 1119, 1120, - 0, 1121, 1122, 1123, 0, 0, 0, 1129, 0, 1130, - 0, 0, 0, 1131, 1132, 1133 + 977, 978, 991, 994, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 987, 990, 154, 993, 127, + 344, 996, 997, 999, 1000, 1008, 1007, 1011, 1050, 1010, + 1012, 129, 130, 1013, 1014, 1015, 1016, 1017, 1020, 1021, + 132, 133, 1022, 249, 1029, 134, 135, 136, 1031, 1039, + 251, 1040, 1041, 1042, 252, 1045, 1049, 1054, 1053, 1052, + 1055, 1057, 1058, 1059, 253, 1060, 1061, 1062, 1063, 1071, + 1065, 1064, 1074, 1072, 1075, 1066, 1067, 1068, 1069, 1070, + 1073, 1076, 1077, 1162, 1163, 1164, 1165, 1166, 1167, 1173, + 1170, 1169, 1174, 1171, 1177, 1178, 1176, 1179, 1194, 1195, + 1196, 1197, 254, 147, 148, 350, 1199, 1200, 370, 1203, + 1223, 1087, 372, 299, 1204, 258, 1137, 1224, 1205, 324, + 297, 1143, 388, 364, 1091, 1210, 384, 351, 1211, 1126, + 371, 373, 255, 1115, 1145, 154, 902, 326, 1142, 256, + 912, 1088, 259, 300, 1212, 1217, 1138, 1229, 1089, 1184, + 1230, 1092, 1128, 1139, 908, 1231, 939, 1147, 913, 298, + 331, 306, 365, 1218, 923, 385, 1219, 1186, 1127, 260, + 1220, 1185, 295, 1146, 1232, 1239, 327, 1234, 1093, 314, + 1235, 1125, 301, 261, 1236, 262, 1144, 1247, 1248, 325, + 1251, 1129, 1094, 909, 1095, 302, 1148, 914, 263, 332, + 1243, 1249, 257, 924, 1130, 281, 1187, 1096, 1252, 1149, + 1253, 1090, 333, 264, 1114, 265, 1140, 266, 315, 1141, + 267, 268, 1097, 269, 1098, 270, 1099, 271, 272, 1100, + 1101, 309, 1102, 273, 1103, 274, 1104, 1105, 275, 276, + 277, 278, 1106, 279, 1107, 280, 291, 1108, 1109, 1110, + 1111, 292, 1112, 293, 1113, 1120, 1257, 1118, 1255, 1259, + 1121, 795, 1122, 1119, 1279, 796, 797, 798, 799, 800, + 801, 802, 803, 804, 805, 806, 807, 808, 809, 1256, + 1280, 1258, 810, 811, 812, 813, 814, 815, 1281, 1285, + 1286, 1289, 1287, 1288, 1291, 1292, 646, 1056, 786, 777, + 1237, 954, 788, 1080, 638, 1078, 1133, 307, 1172, 1161, + 1160, 1168, 657, 308, 1246, 1081, 1082, 677, 344, 1132, + 685, 1084, 1201, 1083, 682, 669, 1086, 1250, 1085, 1202, + 1277, 660, 1180, 1175, 694, 697, 1254, 787, 1087, 1193, + 1157, 1158, 1159, 1290, 1137, 931, 0, 1198, 0, 1143, + 0, 1091, 0, 0, 1184, 0, 1126, 0, 0, 0, + 1115, 0, 1145, 0, 0, 0, 1142, 0, 1088, 0, + 0, 0, 1186, 0, 1138, 1089, 1185, 0, 1092, 1128, + 0, 1139, 0, 0, 0, 1147, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, + 0, 1146, 0, 0, 0, 1093, 0, 0, 1125, 0, + 0, 1187, 0, 0, 1144, 0, 0, 0, 1129, 1094, + 0, 1095, 0, 0, 1148, 0, 0, 0, 0, 0, + 0, 1130, 0, 154, 1096, 0, 0, 1149, 1090, 0, + 0, 1114, 0, 0, 1140, 0, 0, 1141, 0, 1097, + 0, 1098, 0, 1099, 0, 0, 1100, 1101, 0, 1102, + 0, 1103, 0, 1104, 1105, 0, 0, 0, 0, 1106, + 0, 1107, 0, 0, 1108, 1109, 1110, 1111, 0, 1112, + 0, 1113, 1120, 0, 1118, 0, 0, 1121, 0, 1122, + 1119 }; const short Dhcp4Parser::yycheck_[] = { 67, 68, 69, 70, 71, 64, 73, 74, 75, 76, - 72, 74, 712, 74, 1008, 69, 659, 1008, 69, 68, - 69, 70, 71, 666, 73, 74, 1008, 76, 18, 217, - 69, 620, 0, 149, 150, 117, 118, 68, 69, 70, - 71, 7, 73, 74, 5, 76, 7, 7, 9, 96, - 3, 3, 70, 117, 118, 8, 8, 69, 70, 71, - 73, 74, 3, 40, 117, 118, 10, 8, 69, 116, - 117, 118, 12, 13, 3, 69, 3, 71, 69, 8, - 95, 8, 164, 165, 6, 132, 217, 3, 220, 136, - 137, 69, 8, 71, 4, 69, 7, 71, 69, 7, - 689, 217, 7, 167, 168, 169, 4, 160, 161, 162, - 7, 69, 3, 69, 69, 69, 3, 8, 7, 3, - 97, 8, 99, 100, 8, 7, 69, 104, 105, 106, - 69, 69, 69, 69, 69, 217, 69, 69, 69, 7, - 117, 118, 3, 3, 69, 7, 6, 8, 69, 69, - 69, 69, 69, 217, 69, 69, 69, 181, 182, 183, - 184, 70, 69, 7, 217, 7, 69, 69, 69, 3, - 217, 8, 6, 3, 97, 98, 99, 100, 101, 102, - 103, 3, 3, 15, 16, 6, 8, 19, 3, 179, - 22, 23, 24, 25, 117, 118, 220, 200, 201, 202, - 203, 3, 149, 150, 11, 192, 8, 14, 195, 196, - 197, 198, 3, 3, 217, 3, 3, 8, 8, 26, - 8, 8, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 41, 42, 43, 140, 141, 142, 143, - 217, 145, 1236, 17, 18, 1236, 152, 153, 154, 155, - 156, 157, 3, 8, 1236, 6, 217, 218, 219, 220, + 72, 74, 707, 69, 998, 69, 998, 998, 3, 68, + 69, 70, 71, 8, 73, 74, 616, 76, 73, 74, + 74, 654, 69, 3, 117, 118, 6, 18, 661, 69, + 12, 13, 69, 69, 5, 71, 7, 0, 9, 7, + 144, 145, 3, 3, 212, 96, 6, 8, 68, 69, + 70, 71, 7, 73, 74, 3, 76, 7, 97, 69, + 117, 118, 69, 70, 71, 116, 117, 118, 10, 162, + 163, 164, 69, 69, 71, 69, 127, 7, 117, 118, + 131, 132, 144, 145, 684, 69, 3, 71, 69, 3, + 3, 8, 69, 6, 8, 69, 3, 3, 155, 156, + 157, 8, 8, 69, 3, 69, 7, 69, 212, 8, + 69, 69, 7, 69, 7, 69, 3, 69, 69, 212, + 95, 8, 40, 69, 7, 69, 7, 3, 69, 69, + 69, 69, 8, 69, 7, 69, 69, 3, 7, 70, + 7, 69, 8, 69, 6, 70, 4, 186, 8, 188, + 189, 176, 177, 178, 179, 212, 4, 195, 196, 197, + 198, 212, 147, 148, 149, 150, 151, 152, 15, 16, + 20, 21, 19, 212, 212, 22, 23, 24, 25, 97, + 3, 99, 100, 174, 3, 8, 104, 105, 106, 11, + 215, 3, 14, 117, 118, 4, 8, 3, 3, 117, + 118, 3, 8, 8, 26, 4, 8, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 97, 98, + 99, 100, 101, 102, 103, 135, 136, 137, 138, 4, + 140, 1225, 3, 1225, 1225, 159, 160, 8, 117, 118, + 4, 212, 213, 214, 215, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 117, 118, 187, 95, 96, 190, 191, 192, 193, 3, + 3, 986, 4, 6, 8, 107, 108, 109, 212, 41, + 42, 43, 114, 3, 212, 117, 118, 4, 8, 4, + 122, 123, 124, 125, 126, 3, 110, 111, 112, 113, + 8, 133, 32, 33, 34, 35, 4, 3, 32, 33, + 34, 143, 8, 3, 146, 3, 17, 18, 8, 3, + 8, 153, 154, 212, 8, 3, 158, 3, 8, 161, + 8, 3, 8, 165, 4, 3, 8, 67, 68, 69, + 8, 4, 421, 422, 58, 59, 60, 4, 180, 181, + 182, 183, 184, 185, 4, 212, 27, 28, 4, 4, + 4, 4, 194, 4, 4, 95, 96, 97, 4, 4, + 4, 4, 96, 117, 118, 4, 4, 4, 4, 4, + 212, 4, 4, 4, 4, 4, 4, 117, 118, 4, + 4, 4, 3, 117, 118, 4, 4, 4, 128, 129, + 130, 4, 126, 8, 4, 3, 8, 4, 4, 496, + 134, 135, 136, 137, 138, 139, 140, 4, 505, 8, + 3, 212, 166, 167, 168, 169, 170, 171, 172, 173, + 517, 4, 4, 4, 521, 4, 505, 4, 4, 4, + 4, 517, 4, 517, 215, 532, 215, 215, 517, 4, + 4, 4, 521, 213, 215, 542, 4, 4, 4, 213, + 517, 548, 213, 532, 213, 548, 213, 517, 212, 215, + 517, 517, 213, 542, 561, 505, 214, 542, 214, 548, + 4, 4, 212, 548, 548, 214, 532, 517, 212, 215, + 213, 521, 561, 215, 213, 213, 4, 517, 4, 215, + 517, 213, 532, 214, 521, 215, 215, 4, 215, 4, + 517, 517, 542, 517, 4, 532, 213, 4, 548, 4, + 4, 4, 4, 517, 215, 532, 517, 4, 215, 215, + 517, 561, 4, 517, 4, 4, 4, 4, 532, 213, + 4, 517, 4, 517, 4, 517, 4, 4, 517, 517, + 215, 517, 4, 517, 215, 517, 517, 215, 4, 4, + 1203, 517, 4, 517, 4, 213, 517, 517, 517, 517, + 4, 517, 4, 517, 517, 4, 215, 215, 4, 517, + 521, 517, 213, 4, 4, 4, 521, 199, 200, 201, + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 4, 4, 4, 213, 4, 4, 4, 213, 4, 213, + 4, 4, 699, 4, 701, 4, 4, 4, 4, 698, + 4, 4, 215, 4, 215, 215, 4, 215, 4, 215, + 4, 213, 701, 4, 213, 30, 31, 32, 33, 34, + 35, 4, 4, 213, 4, 213, 4, 175, 7, 736, + 737, 7, 739, 7, 7, 212, 743, 7, 7, 5, + 212, 212, 212, 212, 5, 5, 5, 736, 737, 738, + 739, 701, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 212, 212, 5, 7, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 212, 92, 93, 94, + 5, 96, 5, 5, 5, 212, 736, 737, 738, 739, + 7, 7, 7, 108, 109, 7, 7, 5, 212, 212, + 115, 7, 117, 118, 119, 120, 121, 122, 123, 124, + 5, 212, 127, 212, 5, 7, 131, 212, 133, 212, + 5, 212, 3, 7, 7, 7, 141, 212, 7, 212, + 7, 212, 7, 30, 31, 32, 33, 34, 35, 212, + 7, 212, 212, 212, 212, 212, 7, 7, 212, 212, + 7, 212, 142, 212, 212, 212, 212, 212, 4, 4, + 4, 4, 4, 4, 4, 180, 181, 4, 4, 4, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, - 87, 88, 89, 90, 91, 117, 118, 4, 95, 96, - 3, 3, 97, 3, 217, 8, 996, 4, 8, 3, - 107, 108, 109, 3, 8, 20, 21, 114, 8, 4, - 117, 118, 117, 118, 3, 122, 58, 59, 60, 8, - 127, 128, 129, 130, 131, 3, 8, 3, 8, 4, - 8, 138, 8, 32, 33, 34, 35, 3, 32, 33, - 34, 148, 8, 3, 151, 3, 27, 28, 8, 3, - 8, 158, 159, 4, 8, 4, 163, 4, 4, 166, - 4, 4, 4, 170, 4, 424, 425, 4, 67, 68, - 69, 117, 118, 110, 111, 112, 113, 4, 185, 186, - 187, 188, 189, 190, 4, 217, 191, 4, 193, 194, - 4, 4, 199, 4, 4, 4, 95, 96, 97, 4, - 4, 4, 96, 123, 124, 125, 126, 4, 4, 4, - 217, 4, 217, 4, 4, 4, 4, 4, 117, 118, - 4, 220, 4, 117, 118, 171, 172, 173, 174, 175, - 176, 177, 178, 500, 133, 134, 135, 131, 4, 4, - 4, 4, 509, 4, 4, 139, 140, 141, 142, 143, - 144, 145, 3, 8, 521, 4, 4, 4, 525, 3, - 509, 4, 4, 4, 4, 4, 4, 521, 4, 536, - 521, 217, 521, 4, 4, 220, 525, 4, 509, 546, - 4, 4, 521, 218, 220, 552, 4, 536, 4, 552, - 521, 552, 4, 218, 525, 218, 218, 546, 565, 218, - 218, 4, 4, 552, 220, 536, 220, 525, 219, 521, - 219, 219, 218, 525, 4, 546, 565, 218, 217, 4, - 521, 552, 218, 217, 536, 218, 4, 521, 220, 220, - 521, 4, 220, 546, 565, 220, 219, 4, 4, 552, - 4, 220, 536, 521, 218, 4, 4, 521, 4, 4, - 521, 220, 220, 220, 4, 4, 4, 4, 536, 4, - 4, 218, 536, 521, 4, 521, 521, 521, 4, 4, - 4, 1214, 4, 4, 4, 220, 4, 4, 521, 220, - 4, 220, 521, 521, 521, 521, 521, 220, 521, 521, - 521, 220, 218, 218, 4, 4, 521, 4, 4, 4, - 521, 521, 521, 521, 521, 4, 521, 521, 521, 4, - 218, 4, 4, 4, 521, 4, 525, 218, 521, 521, - 521, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 4, 4, 4, 704, 4, 706, - 4, 4, 218, 4, 703, 4, 4, 4, 4, 4, - 220, 4, 220, 220, 4, 4, 4, 706, 220, 4, - 218, 220, 218, 4, 218, 4, 4, 4, 30, 31, - 32, 33, 34, 35, 7, 706, 7, 7, 7, 746, - 747, 218, 749, 217, 217, 217, 753, 7, 7, 5, - 5, 217, 217, 5, 5, 217, 217, 746, 747, 748, - 749, 5, 7, 217, 5, 67, 68, 69, 70, 71, - 72, 73, 74, 75, 76, 746, 747, 748, 749, 81, - 82, 83, 84, 85, 86, 87, 88, 89, 90, 5, - 92, 93, 94, 5, 96, 5, 7, 217, 7, 7, - 7, 7, 217, 5, 7, 5, 108, 109, 217, 217, - 5, 7, 217, 115, 217, 117, 118, 119, 120, 121, - 122, 5, 7, 217, 217, 127, 128, 129, 180, 7, - 132, 217, 7, 7, 136, 217, 138, 7, 217, 217, - 217, 7, 7, 6, 146, 7, 7, 7, 217, 4, - 4, 217, 217, 147, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 4, 4, 4, 30, 31, 32, 33, - 34, 35, 4, 4, 4, 4, 4, 4, 4, 3, - 3, 6, 4, 185, 186, 6, 3, 6, 3, 3, - 6, 3, 217, 6, 3, 6, 4, 4, 4, 4, - 4, 4, 4, 67, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 4, 4, 217, 4, 81, 82, 83, - 84, 85, 86, 87, 88, 89, 90, 91, 4, 4, - 4, 4, 96, 97, 6, 3, 6, 8, 4, 4, - 4, 4, 4, 4, 108, 109, 218, 4, 4, 4, - 4, 218, 220, 117, 118, 220, 120, 218, 122, 4, - 218, 218, 4, 127, 128, 129, 220, 220, 132, 218, - 218, 218, 136, 4, 220, 218, 218, 4, 218, 218, - 218, 218, 146, 218, 218, 218, 218, 4, 6, 220, - 220, 220, 999, 220, 3, 1002, 4, 217, 1005, 217, - 217, 1008, 1005, 217, 1005, 999, 1013, 8, 999, 1016, - 999, 1013, 1019, 1002, 1008, 8, 1005, 4, 217, 1008, - 999, 185, 186, 217, 1013, 217, 1033, 1016, 999, 1008, - 1037, 1002, 8, 3, 1005, 217, 217, 1008, 217, 1046, - 8, 217, 1013, 4, 1033, 1016, 1053, 999, 1037, 1002, - 1008, 1058, 1005, 217, 1043, 1008, 1008, 1046, 999, 217, - 1013, 1013, 1033, 4, 1016, 999, 1037, 1008, 999, 1058, - 217, 4, 1043, 4, 1008, 1046, 220, 1008, 4, 1013, - 218, 999, 1016, 217, 217, 999, 5, 1058, 999, 7, - 1008, 4, 4, 1046, 1008, 1013, 4, 1008, 1016, 1013, - 1058, 999, 1016, 999, 999, 999, 1058, 217, 4, 4, - 1008, 689, 1008, 1008, 1008, 1013, 999, 1013, 1013, 1013, - 999, 999, 999, 999, 999, 1008, 999, 999, 999, 1008, - 1008, 1008, 1008, 1008, 999, 1008, 1008, 1008, 999, 999, - 999, 999, 999, 1008, 999, 999, 999, 1008, 1008, 1008, - 1008, 1008, 999, 1008, 1008, 1008, 999, 999, 999, 1008, - 220, 1008, 704, 500, 217, 1008, 1008, 1008, 218, 218, - 217, 509, 706, 40, 970, 998, 993, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - 57, 1190, 794, 1011, 61, 62, 63, 64, 65, 66, - 1033, 1021, 555, 1019, 1001, 999, 521, 1028, 1236, 1058, - 546, 1010, 1004, 1002, 1007, 1005, 536, 1242, 552, 1058, - 1060, 565, 1037, 1018, 1043, 525, 569, 1014, 1016, 1236, - 97, 749, 1252, 1047, 1274, 1242, 705, 1294, -1, -1, - 1242, 1053, 1236, -1, -1, 1252, -1, 1236, -1, -1, - -1, -1, -1, 1242, -1, -1, -1, 1236, -1, -1, - -1, -1, -1, 1252, -1, 1236, -1, -1, -1, -1, - -1, 1242, -1, -1, -1, -1, -1, -1, 1236, -1, - -1, 1252, -1, 1236, 1236, -1, -1, -1, -1, 1242, - 1242, -1, -1, -1, -1, 1236, -1, -1, -1, 1252, - -1, -1, 1236, -1, -1, 1236, -1, -1, 1242, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1236, -1, - -1, -1, 1236, -1, 1242, 1236, -1, -1, 1242, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1236, -1, - 1236, 1236, 1236, -1, 1242, -1, 1242, 1242, 1242, -1, - 217, -1, -1, 1236, -1, -1, -1, 1236, 1236, 1236, - 1236, 1236, -1, 1236, 1236, 1236, -1, -1, -1, -1, - -1, 1236, -1, -1, -1, 1236, 1236, 1236, 1236, 1236, - -1, 1236, 1236, 1236, -1, -1, -1, 1236, -1, 1236, - -1, -1, -1, 1236, 1236, 1236 + 4, 4, 3, 3, 81, 82, 83, 84, 85, 86, + 87, 88, 89, 90, 91, 6, 6, 212, 6, 96, + 97, 6, 3, 6, 3, 3, 6, 3, 3, 6, + 4, 108, 109, 4, 4, 4, 4, 4, 4, 4, + 117, 118, 4, 120, 4, 122, 123, 124, 4, 4, + 127, 4, 4, 4, 131, 212, 6, 4, 6, 8, + 4, 4, 4, 4, 141, 4, 213, 215, 213, 4, + 213, 215, 4, 215, 4, 213, 213, 213, 213, 213, + 213, 4, 4, 213, 213, 213, 213, 213, 213, 4, + 213, 215, 4, 213, 4, 213, 215, 4, 215, 215, + 215, 215, 989, 180, 181, 992, 6, 3, 995, 4, + 8, 998, 995, 989, 212, 989, 1003, 8, 212, 1006, + 989, 1003, 1009, 992, 998, 212, 995, 992, 212, 998, + 995, 995, 989, 998, 1003, 212, 1023, 1006, 1003, 989, + 1027, 998, 989, 989, 212, 212, 1003, 4, 998, 1036, + 8, 998, 998, 1003, 1023, 3, 1043, 1003, 1027, 989, + 1006, 1048, 992, 212, 1033, 995, 212, 1036, 998, 989, + 212, 1036, 989, 1003, 8, 4, 1006, 212, 998, 1048, + 212, 998, 989, 989, 212, 989, 1003, 4, 4, 1006, + 4, 998, 998, 1023, 998, 989, 1003, 1027, 989, 1006, + 212, 215, 989, 1033, 998, 989, 1036, 998, 213, 1003, + 4, 998, 1006, 989, 998, 989, 1003, 989, 1048, 1003, + 989, 989, 998, 989, 998, 989, 998, 989, 989, 998, + 998, 1048, 998, 989, 998, 989, 998, 998, 989, 989, + 989, 989, 998, 989, 998, 989, 989, 998, 998, 998, + 998, 989, 998, 989, 998, 998, 5, 998, 212, 7, + 998, 40, 998, 998, 4, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 56, 57, 212, + 4, 212, 61, 62, 63, 64, 65, 66, 4, 4, + 215, 4, 213, 213, 212, 212, 505, 960, 699, 684, + 1179, 784, 701, 988, 496, 983, 1001, 1048, 1023, 1011, + 1009, 1018, 517, 1048, 1225, 989, 991, 542, 97, 1000, + 551, 994, 1048, 992, 548, 532, 997, 1231, 995, 1050, + 1263, 521, 1033, 1027, 561, 565, 1241, 700, 1225, 1037, + 1004, 1006, 1008, 1283, 1231, 739, -1, 1043, -1, 1231, + -1, 1225, -1, -1, 1241, -1, 1225, -1, -1, -1, + 1225, -1, 1231, -1, -1, -1, 1231, -1, 1225, -1, + -1, -1, 1241, -1, 1231, 1225, 1241, -1, 1225, 1225, + -1, 1231, -1, -1, -1, 1231, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 1225, -1, -1, -1, -1, + -1, 1231, -1, -1, -1, 1225, -1, -1, 1225, -1, + -1, 1241, -1, -1, 1231, -1, -1, -1, 1225, 1225, + -1, 1225, -1, -1, 1231, -1, -1, -1, -1, -1, + -1, 1225, -1, 212, 1225, -1, -1, 1231, 1225, -1, + -1, 1225, -1, -1, 1231, -1, -1, 1231, -1, 1225, + -1, 1225, -1, 1225, -1, -1, 1225, 1225, -1, 1225, + -1, 1225, -1, 1225, 1225, -1, -1, -1, -1, 1225, + -1, 1225, -1, -1, 1225, 1225, 1225, 1225, -1, 1225, + -1, 1225, 1225, -1, 1225, -1, -1, 1225, -1, 1225, + 1225 }; const short Dhcp4Parser::yystos_[] = { - 0, 204, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 214, 215, 216, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 234, 235, 0, 5, - 7, 9, 217, 218, 219, 220, 236, 237, 238, 243, - 7, 252, 7, 257, 7, 312, 7, 426, 7, 510, - 7, 527, 7, 461, 7, 467, 7, 491, 7, 402, - 7, 594, 7, 613, 244, 239, 253, 258, 313, 427, - 511, 528, 462, 468, 492, 403, 595, 614, 236, 245, - 246, 217, 241, 242, 10, 254, 256, 11, 14, 26, + 0, 199, 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 226, 227, 228, 229, 230, 0, 5, + 7, 9, 212, 213, 214, 215, 231, 232, 233, 238, + 7, 247, 7, 252, 7, 307, 7, 421, 7, 502, + 7, 519, 7, 453, 7, 459, 7, 483, 7, 397, + 7, 586, 7, 605, 239, 234, 248, 253, 308, 422, + 503, 520, 454, 460, 484, 398, 587, 606, 231, 240, + 241, 212, 236, 237, 10, 249, 251, 11, 14, 26, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 95, 96, 107, 108, - 109, 114, 117, 118, 122, 127, 128, 129, 130, 131, - 138, 148, 151, 158, 159, 163, 166, 170, 185, 186, - 187, 188, 189, 190, 199, 217, 251, 259, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 272, 274, 275, 277, 278, 279, 280, 281, 282, 283, - 286, 288, 290, 291, 292, 295, 296, 298, 300, 301, - 302, 303, 304, 305, 306, 307, 308, 326, 328, 336, - 338, 380, 389, 396, 410, 420, 444, 445, 446, 447, - 451, 459, 485, 517, 519, 521, 532, 534, 536, 559, - 573, 574, 582, 592, 611, 620, 644, 15, 16, 19, - 22, 23, 24, 25, 251, 310, 311, 314, 316, 319, - 322, 323, 324, 325, 517, 519, 92, 93, 94, 115, - 119, 120, 121, 132, 136, 146, 251, 261, 262, 263, - 264, 265, 266, 267, 268, 269, 270, 275, 278, 279, - 280, 281, 282, 283, 286, 288, 290, 291, 292, 295, - 296, 298, 300, 306, 428, 429, 430, 432, 434, 436, - 438, 440, 442, 444, 445, 446, 447, 450, 485, 504, - 517, 519, 521, 532, 534, 536, 554, 116, 137, 251, - 440, 442, 485, 512, 513, 514, 516, 517, 519, 131, - 139, 140, 141, 142, 143, 144, 145, 251, 485, 517, - 519, 529, 530, 531, 532, 534, 536, 538, 540, 542, - 544, 546, 548, 550, 552, 459, 40, 97, 99, 100, - 104, 105, 106, 251, 356, 469, 470, 471, 472, 473, - 474, 475, 477, 479, 481, 482, 484, 517, 519, 98, - 101, 102, 103, 251, 356, 473, 479, 493, 494, 495, - 496, 497, 499, 500, 501, 502, 503, 517, 519, 149, - 150, 251, 404, 405, 406, 408, 171, 172, 173, 174, - 175, 176, 177, 178, 251, 517, 519, 596, 597, 598, - 599, 601, 602, 604, 605, 606, 609, 12, 13, 615, - 616, 617, 619, 6, 3, 4, 8, 3, 255, 3, - 8, 612, 309, 329, 4, 4, 4, 533, 535, 537, - 4, 4, 327, 337, 339, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 273, 4, 4, 4, - 4, 4, 284, 287, 289, 4, 4, 4, 4, 421, - 460, 486, 4, 276, 293, 452, 518, 520, 448, 4, - 4, 4, 381, 560, 522, 397, 411, 4, 390, 575, - 583, 593, 297, 299, 4, 4, 4, 621, 645, 4, - 3, 8, 315, 317, 320, 4, 4, 4, 4, 3, - 8, 433, 435, 437, 505, 431, 439, 4, 443, 441, - 555, 3, 8, 515, 4, 3, 8, 553, 539, 541, - 543, 547, 545, 551, 549, 8, 3, 8, 476, 357, - 4, 480, 478, 483, 4, 8, 3, 498, 4, 4, - 4, 8, 3, 407, 409, 3, 8, 4, 600, 4, - 603, 4, 4, 607, 610, 3, 8, 618, 4, 3, - 8, 236, 236, 217, 4, 4, 4, 4, 220, 220, - 220, 4, 4, 4, 218, 220, 4, 4, 4, 218, - 218, 218, 218, 218, 220, 219, 219, 219, 218, 218, - 4, 218, 218, 220, 220, 220, 4, 4, 4, 220, - 220, 219, 220, 4, 4, 4, 218, 4, 4, 4, - 4, 4, 4, 220, 220, 220, 4, 4, 4, 4, - 4, 218, 4, 4, 4, 4, 4, 4, 220, 220, - 220, 4, 4, 260, 4, 4, 4, 220, 220, 218, - 218, 311, 4, 4, 4, 4, 4, 4, 218, 4, - 4, 4, 429, 4, 218, 513, 4, 4, 4, 4, - 4, 4, 4, 4, 531, 4, 4, 218, 4, 4, - 4, 220, 471, 4, 220, 220, 220, 495, 4, 4, - 405, 220, 4, 218, 4, 218, 218, 4, 4, 597, - 4, 218, 616, 4, 7, 7, 7, 7, 217, 217, - 217, 7, 7, 5, 217, 181, 182, 183, 184, 220, - 285, 217, 217, 5, 5, 5, 217, 110, 111, 112, - 113, 294, 5, 238, 240, 217, 123, 124, 125, 126, - 449, 5, 5, 5, 5, 7, 7, 7, 7, 7, - 217, 217, 5, 7, 5, 247, 17, 18, 318, 20, - 21, 321, 217, 217, 217, 5, 217, 217, 247, 217, - 7, 217, 247, 217, 217, 217, 217, 217, 217, 217, - 217, 217, 217, 217, 217, 217, 217, 240, 217, 217, - 18, 179, 608, 180, 5, 236, 259, 615, 310, 27, - 28, 330, 331, 332, 334, 40, 44, 45, 46, 47, + 109, 114, 117, 118, 122, 123, 124, 125, 126, 133, + 143, 146, 153, 154, 158, 161, 165, 180, 181, 182, + 183, 184, 185, 194, 212, 246, 254, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, + 269, 270, 272, 273, 274, 275, 276, 277, 278, 281, + 283, 285, 286, 287, 290, 291, 293, 295, 296, 297, + 298, 299, 300, 301, 302, 303, 321, 323, 331, 333, + 375, 384, 391, 405, 415, 439, 440, 441, 443, 451, + 477, 509, 511, 513, 524, 526, 528, 551, 565, 566, + 574, 584, 603, 612, 636, 15, 16, 19, 22, 23, + 24, 25, 246, 305, 306, 309, 311, 314, 317, 318, + 319, 320, 509, 511, 92, 93, 94, 115, 119, 120, + 121, 127, 131, 141, 246, 256, 257, 258, 259, 260, + 261, 262, 263, 264, 265, 270, 273, 274, 275, 276, + 277, 278, 281, 283, 285, 286, 287, 290, 291, 293, + 295, 301, 423, 424, 425, 427, 429, 431, 433, 435, + 437, 439, 440, 441, 442, 477, 496, 509, 511, 513, + 524, 526, 528, 546, 116, 132, 246, 435, 437, 477, + 504, 505, 506, 508, 509, 511, 126, 134, 135, 136, + 137, 138, 139, 140, 246, 477, 509, 511, 521, 522, + 523, 524, 526, 528, 530, 532, 534, 536, 538, 540, + 542, 544, 451, 40, 97, 99, 100, 104, 105, 106, + 246, 351, 461, 462, 463, 464, 465, 466, 467, 469, + 471, 473, 474, 476, 509, 511, 98, 101, 102, 103, + 246, 351, 465, 471, 485, 486, 487, 488, 489, 491, + 492, 493, 494, 495, 509, 511, 144, 145, 246, 399, + 400, 401, 403, 166, 167, 168, 169, 170, 171, 172, + 173, 246, 509, 511, 588, 589, 590, 591, 593, 594, + 596, 597, 598, 601, 12, 13, 607, 608, 609, 611, + 6, 3, 4, 8, 3, 250, 3, 8, 604, 304, + 324, 4, 4, 4, 525, 527, 529, 4, 4, 322, + 332, 334, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 268, 4, 4, 4, 4, 4, 279, + 282, 284, 4, 4, 4, 4, 416, 452, 478, 4, + 271, 288, 444, 510, 512, 4, 4, 4, 376, 552, + 514, 392, 406, 4, 385, 567, 575, 585, 292, 294, + 4, 4, 4, 613, 637, 4, 3, 8, 310, 312, + 315, 4, 4, 4, 4, 3, 8, 428, 430, 432, + 497, 426, 434, 4, 438, 436, 547, 3, 8, 507, + 4, 3, 8, 545, 531, 533, 535, 539, 537, 543, + 541, 8, 3, 8, 468, 352, 4, 472, 470, 475, + 4, 8, 3, 490, 4, 4, 4, 8, 3, 402, + 404, 3, 8, 4, 592, 4, 595, 4, 4, 599, + 602, 3, 8, 610, 4, 3, 8, 231, 231, 212, + 4, 4, 4, 4, 215, 215, 215, 4, 4, 4, + 213, 215, 4, 4, 4, 213, 213, 213, 213, 213, + 215, 214, 214, 214, 213, 213, 4, 213, 213, 215, + 215, 215, 4, 4, 4, 215, 215, 214, 215, 4, + 4, 4, 213, 4, 4, 4, 4, 4, 215, 215, + 215, 4, 4, 4, 4, 4, 213, 4, 4, 4, + 4, 4, 4, 215, 215, 215, 4, 4, 255, 4, + 4, 4, 215, 215, 213, 213, 306, 4, 4, 4, + 4, 4, 4, 213, 4, 4, 4, 424, 4, 213, + 505, 4, 4, 4, 4, 4, 4, 4, 4, 523, + 4, 4, 213, 4, 4, 4, 215, 463, 4, 215, + 215, 215, 487, 4, 4, 400, 215, 4, 213, 4, + 213, 213, 4, 4, 589, 4, 213, 608, 4, 7, + 7, 7, 7, 212, 212, 212, 7, 7, 5, 212, + 176, 177, 178, 179, 215, 280, 212, 212, 5, 5, + 5, 212, 110, 111, 112, 113, 289, 5, 233, 235, + 212, 5, 5, 5, 5, 7, 7, 7, 7, 7, + 212, 212, 5, 7, 5, 242, 17, 18, 313, 20, + 21, 316, 212, 212, 212, 5, 212, 212, 242, 212, + 7, 212, 242, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 235, 212, 212, + 18, 174, 600, 175, 5, 231, 254, 607, 305, 27, + 28, 325, 326, 327, 329, 40, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, - 61, 62, 63, 64, 65, 66, 251, 344, 345, 346, - 349, 351, 353, 355, 356, 358, 359, 360, 361, 362, - 363, 364, 365, 366, 367, 370, 371, 372, 374, 376, - 378, 344, 7, 340, 341, 342, 7, 422, 423, 424, - 7, 463, 464, 465, 7, 487, 488, 489, 7, 453, - 454, 455, 140, 141, 142, 143, 145, 382, 383, 384, - 385, 386, 387, 388, 7, 561, 562, 7, 523, 524, - 525, 7, 398, 399, 400, 152, 153, 154, 155, 156, - 157, 412, 413, 414, 415, 416, 417, 418, 419, 160, - 161, 162, 251, 391, 392, 393, 394, 395, 517, 519, - 164, 165, 251, 517, 519, 576, 577, 578, 580, 167, - 168, 169, 217, 517, 519, 584, 585, 586, 587, 589, - 590, 596, 7, 622, 623, 200, 201, 202, 203, 251, - 646, 647, 648, 649, 650, 651, 248, 7, 506, 507, - 508, 147, 556, 557, 340, 8, 8, 8, 333, 335, - 3, 8, 347, 350, 352, 354, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 368, 4, 4, 373, - 375, 377, 379, 3, 8, 8, 343, 6, 3, 425, - 6, 3, 466, 6, 3, 490, 6, 3, 456, 6, - 3, 3, 6, 563, 3, 6, 526, 6, 3, 401, + 61, 62, 63, 64, 65, 66, 246, 339, 340, 341, + 344, 346, 348, 350, 351, 353, 354, 355, 356, 357, + 358, 359, 360, 361, 362, 365, 366, 367, 369, 371, + 373, 339, 7, 335, 336, 337, 7, 417, 418, 419, + 7, 455, 456, 457, 7, 479, 480, 481, 7, 445, + 446, 447, 135, 136, 137, 138, 140, 377, 378, 379, + 380, 381, 382, 383, 7, 553, 554, 7, 515, 516, + 517, 7, 393, 394, 395, 147, 148, 149, 150, 151, + 152, 407, 408, 409, 410, 411, 412, 413, 414, 155, + 156, 157, 246, 386, 387, 388, 389, 390, 509, 511, + 159, 160, 246, 509, 511, 568, 569, 570, 572, 162, + 163, 164, 212, 509, 511, 576, 577, 578, 579, 581, + 582, 588, 7, 614, 615, 195, 196, 197, 198, 246, + 638, 639, 640, 641, 642, 643, 243, 7, 498, 499, + 500, 142, 548, 549, 335, 8, 8, 8, 328, 330, + 3, 8, 342, 345, 347, 349, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 363, 4, 4, 368, + 370, 372, 374, 3, 8, 8, 338, 6, 3, 420, + 6, 3, 458, 6, 3, 482, 6, 3, 448, 6, + 3, 3, 6, 555, 3, 6, 518, 6, 3, 396, 6, 3, 4, 4, 4, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 579, 581, 3, 8, 4, - 588, 4, 591, 3, 8, 8, 624, 3, 6, 4, - 4, 4, 4, 3, 8, 217, 249, 250, 509, 6, - 3, 558, 8, 6, 4, 4, 331, 4, 4, 4, - 4, 218, 220, 218, 220, 218, 218, 218, 218, 218, - 218, 4, 220, 218, 4, 4, 4, 4, 345, 344, - 342, 428, 424, 469, 465, 493, 489, 251, 261, 262, - 263, 264, 265, 266, 267, 268, 269, 270, 275, 278, - 279, 280, 281, 282, 283, 286, 288, 290, 291, 292, - 295, 296, 298, 300, 306, 356, 420, 438, 440, 442, - 444, 445, 446, 447, 457, 458, 485, 517, 519, 532, - 534, 536, 554, 455, 383, 133, 134, 135, 251, 261, - 262, 263, 306, 356, 459, 485, 517, 519, 532, 534, - 536, 564, 565, 566, 567, 568, 570, 572, 562, 529, - 525, 404, 400, 218, 218, 218, 218, 218, 218, 413, - 220, 218, 218, 392, 4, 4, 577, 220, 4, 218, - 4, 585, 191, 193, 194, 251, 356, 517, 519, 625, - 626, 627, 628, 630, 623, 220, 220, 220, 220, 647, - 6, 3, 512, 508, 4, 217, 217, 41, 42, 43, - 348, 217, 217, 217, 58, 59, 60, 369, 217, 217, - 217, 217, 8, 8, 8, 8, 3, 8, 569, 571, - 4, 8, 3, 8, 8, 217, 217, 217, 236, 631, - 4, 629, 3, 8, 217, 8, 247, 458, 4, 4, - 220, 566, 4, 218, 4, 626, 217, 217, 5, 217, - 7, 632, 633, 634, 3, 6, 192, 195, 196, 197, - 198, 635, 636, 637, 639, 640, 641, 642, 633, 638, - 4, 4, 4, 643, 3, 8, 4, 220, 218, 218, - 4, 636, 217, 217 + 4, 4, 4, 3, 8, 571, 573, 3, 8, 4, + 580, 4, 583, 3, 8, 8, 616, 3, 6, 4, + 4, 4, 4, 3, 8, 212, 244, 245, 501, 6, + 3, 550, 8, 6, 4, 4, 326, 4, 4, 4, + 4, 213, 215, 213, 215, 213, 213, 213, 213, 213, + 213, 4, 215, 213, 4, 4, 4, 4, 340, 339, + 337, 423, 419, 461, 457, 485, 481, 246, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 270, 273, + 274, 275, 276, 277, 278, 281, 283, 285, 286, 287, + 290, 291, 293, 295, 301, 351, 415, 433, 435, 437, + 439, 440, 441, 449, 450, 477, 509, 511, 524, 526, + 528, 546, 447, 378, 128, 129, 130, 246, 256, 257, + 258, 301, 351, 451, 477, 509, 511, 524, 526, 528, + 556, 557, 558, 559, 560, 562, 564, 554, 521, 517, + 399, 395, 213, 213, 213, 213, 213, 213, 408, 215, + 213, 213, 387, 4, 4, 569, 215, 4, 213, 4, + 577, 186, 188, 189, 246, 351, 509, 511, 617, 618, + 619, 620, 622, 615, 215, 215, 215, 215, 639, 6, + 3, 504, 500, 4, 212, 212, 41, 42, 43, 343, + 212, 212, 212, 58, 59, 60, 364, 212, 212, 212, + 212, 8, 8, 8, 8, 3, 8, 561, 563, 4, + 8, 3, 8, 8, 212, 212, 212, 231, 623, 4, + 621, 3, 8, 212, 8, 242, 450, 4, 4, 215, + 558, 4, 213, 4, 618, 212, 212, 5, 212, 7, + 624, 625, 626, 3, 6, 187, 190, 191, 192, 193, + 627, 628, 629, 631, 632, 633, 634, 625, 630, 4, + 4, 4, 635, 3, 8, 4, 215, 213, 213, 4, + 628, 212, 212 }; const short Dhcp4Parser::yyr1_[] = { - 0, 221, 223, 222, 224, 222, 225, 222, 226, 222, - 227, 222, 228, 222, 229, 222, 230, 222, 231, 222, - 232, 222, 233, 222, 234, 222, 235, 222, 236, 236, - 236, 236, 236, 236, 236, 237, 239, 238, 240, 241, - 241, 242, 242, 242, 244, 243, 245, 245, 246, 246, - 246, 248, 247, 249, 249, 250, 250, 250, 251, 253, - 252, 255, 254, 254, 256, 258, 257, 259, 259, 259, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 260, - 260, 260, 260, 260, 260, 260, 260, 260, 260, 261, - 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, - 273, 272, 274, 276, 275, 277, 278, 279, 280, 281, - 282, 284, 283, 285, 285, 285, 285, 285, 287, 286, - 289, 288, 290, 291, 293, 292, 294, 294, 294, 294, - 295, 297, 296, 299, 298, 300, 301, 302, 303, 304, - 305, 306, 307, 309, 308, 310, 310, 310, 311, 311, - 311, 311, 311, 311, 311, 311, 311, 311, 313, 312, - 315, 314, 317, 316, 318, 318, 320, 319, 321, 321, - 322, 323, 324, 325, 327, 326, 329, 328, 330, 330, - 330, 331, 331, 333, 332, 335, 334, 337, 336, 339, - 338, 340, 340, 341, 341, 341, 343, 342, 344, 344, - 344, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, - 345, 345, 345, 345, 347, 346, 348, 348, 348, 350, - 349, 352, 351, 354, 353, 355, 357, 356, 358, 359, - 360, 361, 362, 363, 364, 365, 366, 368, 367, 369, - 369, 369, 370, 371, 373, 372, 375, 374, 377, 376, - 379, 378, 381, 380, 382, 382, 382, 383, 383, 383, - 383, 383, 384, 385, 386, 387, 388, 390, 389, 391, - 391, 391, 392, 392, 392, 392, 392, 392, 393, 394, - 395, 397, 396, 398, 398, 399, 399, 399, 401, 400, - 403, 402, 404, 404, 404, 404, 405, 405, 407, 406, - 409, 408, 411, 410, 412, 412, 412, 413, 413, 413, - 413, 413, 413, 414, 415, 416, 417, 418, 419, 421, - 420, 422, 422, 423, 423, 423, 425, 424, 427, 426, - 428, 428, 428, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, - 429, 429, 431, 430, 433, 432, 435, 434, 437, 436, - 439, 438, 441, 440, 443, 442, 444, 445, 446, 448, - 447, 449, 449, 449, 449, 450, 452, 451, 453, 453, - 454, 454, 454, 456, 455, 457, 457, 457, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, - 458, 458, 460, 459, 462, 461, 463, 463, 464, 464, - 464, 466, 465, 468, 467, 469, 469, 470, 470, 470, - 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, - 472, 473, 474, 476, 475, 478, 477, 480, 479, 481, - 483, 482, 484, 486, 485, 487, 487, 488, 488, 488, - 490, 489, 492, 491, 493, 493, 494, 494, 494, 495, - 495, 495, 495, 495, 495, 495, 495, 495, 495, 496, - 498, 497, 499, 500, 501, 502, 503, 505, 504, 506, - 506, 507, 507, 507, 509, 508, 511, 510, 512, 512, - 512, 513, 513, 513, 513, 513, 513, 513, 513, 515, - 514, 516, 518, 517, 520, 519, 522, 521, 523, 523, - 524, 524, 524, 526, 525, 528, 527, 529, 529, 530, - 530, 530, 531, 531, 531, 531, 531, 531, 531, 531, - 531, 531, 531, 531, 531, 531, 531, 533, 532, 535, - 534, 537, 536, 539, 538, 541, 540, 543, 542, 545, - 544, 547, 546, 549, 548, 551, 550, 553, 552, 555, - 554, 556, 558, 557, 560, 559, 561, 561, 561, 563, - 562, 564, 564, 565, 565, 565, 566, 566, 566, 566, - 566, 566, 566, 566, 566, 566, 566, 566, 566, 566, - 566, 566, 567, 569, 568, 571, 570, 572, 573, 575, - 574, 576, 576, 576, 577, 577, 577, 577, 577, 579, - 578, 581, 580, 583, 582, 584, 584, 584, 585, 585, - 585, 585, 585, 585, 586, 588, 587, 589, 591, 590, - 593, 592, 595, 594, 596, 596, 596, 597, 597, 597, - 597, 597, 597, 597, 597, 597, 597, 597, 598, 600, - 599, 601, 603, 602, 604, 605, 607, 606, 608, 608, - 610, 609, 612, 611, 614, 613, 615, 615, 615, 616, - 616, 618, 617, 619, 621, 620, 622, 622, 622, 624, - 623, 625, 625, 625, 626, 626, 626, 626, 626, 626, - 626, 627, 629, 628, 631, 630, 632, 632, 632, 634, - 633, 635, 635, 635, 636, 636, 636, 636, 636, 638, - 637, 639, 640, 641, 643, 642, 645, 644, 646, 646, - 646, 647, 647, 647, 647, 647, 648, 649, 650, 651 + 0, 216, 218, 217, 219, 217, 220, 217, 221, 217, + 222, 217, 223, 217, 224, 217, 225, 217, 226, 217, + 227, 217, 228, 217, 229, 217, 230, 217, 231, 231, + 231, 231, 231, 231, 231, 232, 234, 233, 235, 236, + 236, 237, 237, 237, 239, 238, 240, 240, 241, 241, + 241, 243, 242, 244, 244, 245, 245, 245, 246, 248, + 247, 250, 249, 249, 251, 253, 252, 254, 254, 254, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 256, 257, + 258, 259, 260, 261, 262, 263, 264, 265, 266, 268, + 267, 269, 271, 270, 272, 273, 274, 275, 276, 277, + 279, 278, 280, 280, 280, 280, 280, 282, 281, 284, + 283, 285, 286, 288, 287, 289, 289, 289, 289, 290, + 292, 291, 294, 293, 295, 296, 297, 298, 299, 300, + 301, 302, 304, 303, 305, 305, 305, 306, 306, 306, + 306, 306, 306, 306, 306, 306, 306, 308, 307, 310, + 309, 312, 311, 313, 313, 315, 314, 316, 316, 317, + 318, 319, 320, 322, 321, 324, 323, 325, 325, 325, + 326, 326, 328, 327, 330, 329, 332, 331, 334, 333, + 335, 335, 336, 336, 336, 338, 337, 339, 339, 339, + 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 340, 340, 340, + 340, 340, 340, 342, 341, 343, 343, 343, 345, 344, + 347, 346, 349, 348, 350, 352, 351, 353, 354, 355, + 356, 357, 358, 359, 360, 361, 363, 362, 364, 364, + 364, 365, 366, 368, 367, 370, 369, 372, 371, 374, + 373, 376, 375, 377, 377, 377, 378, 378, 378, 378, + 378, 379, 380, 381, 382, 383, 385, 384, 386, 386, + 386, 387, 387, 387, 387, 387, 387, 388, 389, 390, + 392, 391, 393, 393, 394, 394, 394, 396, 395, 398, + 397, 399, 399, 399, 399, 400, 400, 402, 401, 404, + 403, 406, 405, 407, 407, 407, 408, 408, 408, 408, + 408, 408, 409, 410, 411, 412, 413, 414, 416, 415, + 417, 417, 418, 418, 418, 420, 419, 422, 421, 423, + 423, 423, 424, 424, 424, 424, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, + 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, + 426, 425, 428, 427, 430, 429, 432, 431, 434, 433, + 436, 435, 438, 437, 439, 440, 441, 442, 444, 443, + 445, 445, 446, 446, 446, 448, 447, 449, 449, 449, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 450, 450, 450, 450, 450, 450, 450, + 450, 450, 450, 452, 451, 454, 453, 455, 455, 456, + 456, 456, 458, 457, 460, 459, 461, 461, 462, 462, + 462, 463, 463, 463, 463, 463, 463, 463, 463, 463, + 463, 464, 465, 466, 468, 467, 470, 469, 472, 471, + 473, 475, 474, 476, 478, 477, 479, 479, 480, 480, + 480, 482, 481, 484, 483, 485, 485, 486, 486, 486, + 487, 487, 487, 487, 487, 487, 487, 487, 487, 487, + 488, 490, 489, 491, 492, 493, 494, 495, 497, 496, + 498, 498, 499, 499, 499, 501, 500, 503, 502, 504, + 504, 504, 505, 505, 505, 505, 505, 505, 505, 505, + 507, 506, 508, 510, 509, 512, 511, 514, 513, 515, + 515, 516, 516, 516, 518, 517, 520, 519, 521, 521, + 522, 522, 522, 523, 523, 523, 523, 523, 523, 523, + 523, 523, 523, 523, 523, 523, 523, 523, 525, 524, + 527, 526, 529, 528, 531, 530, 533, 532, 535, 534, + 537, 536, 539, 538, 541, 540, 543, 542, 545, 544, + 547, 546, 548, 550, 549, 552, 551, 553, 553, 553, + 555, 554, 556, 556, 557, 557, 557, 558, 558, 558, + 558, 558, 558, 558, 558, 558, 558, 558, 558, 558, + 558, 558, 558, 559, 561, 560, 563, 562, 564, 565, + 567, 566, 568, 568, 568, 569, 569, 569, 569, 569, + 571, 570, 573, 572, 575, 574, 576, 576, 576, 577, + 577, 577, 577, 577, 577, 578, 580, 579, 581, 583, + 582, 585, 584, 587, 586, 588, 588, 588, 589, 589, + 589, 589, 589, 589, 589, 589, 589, 589, 589, 590, + 592, 591, 593, 595, 594, 596, 597, 599, 598, 600, + 600, 602, 601, 604, 603, 606, 605, 607, 607, 607, + 608, 608, 610, 609, 611, 613, 612, 614, 614, 614, + 616, 615, 617, 617, 617, 618, 618, 618, 618, 618, + 618, 618, 619, 621, 620, 623, 622, 624, 624, 624, + 626, 625, 627, 627, 627, 628, 628, 628, 628, 628, + 630, 629, 631, 632, 633, 635, 634, 637, 636, 638, + 638, 638, 639, 639, 639, 639, 639, 640, 641, 642, + 643 }; const signed char @@ -5939,78 +5877,78 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 0, 4, 3, 0, 4, 3, 3, 3, 3, 3, - 3, 0, 4, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 3, 3, 0, 4, 1, 1, 1, 1, - 3, 0, 4, 0, 4, 3, 3, 3, 3, 3, - 3, 3, 3, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, - 0, 4, 0, 4, 1, 1, 0, 4, 1, 1, - 3, 3, 3, 3, 0, 6, 0, 6, 1, 3, - 2, 1, 1, 0, 4, 0, 4, 0, 6, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, + 4, 3, 0, 4, 3, 3, 3, 3, 3, 3, + 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, + 4, 3, 3, 0, 4, 1, 1, 1, 1, 3, + 0, 4, 0, 4, 3, 3, 3, 3, 3, 3, + 3, 3, 0, 6, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, + 4, 0, 4, 1, 1, 0, 4, 1, 1, 3, + 3, 3, 3, 0, 6, 0, 6, 1, 3, 2, + 1, 1, 0, 4, 0, 4, 0, 6, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 1, 1, 1, 0, - 4, 0, 4, 0, 4, 3, 0, 4, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 0, 4, 1, - 1, 1, 3, 3, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 1, 3, 2, 1, 1, 1, 0, 4, - 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, - 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 0, 4, 1, 1, 1, 0, 4, + 0, 4, 0, 4, 3, 0, 4, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 0, 4, 1, 1, + 1, 3, 3, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 6, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, + 4, 1, 3, 2, 1, 1, 1, 0, 4, 0, + 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, + 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 4, 3, 3, 3, 0, - 4, 1, 1, 1, 1, 3, 0, 6, 0, 1, - 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 3, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 6, 0, 4, 0, 1, 1, 3, - 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 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, 2, - 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, + 1, 1, 1, 0, 6, 0, 4, 0, 1, 1, + 3, 2, 0, 4, 0, 4, 0, 1, 1, 3, + 2, 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, + 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 1, 1, 3, 3, 3, 0, 6, 0, - 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, - 4, 3, 0, 4, 0, 4, 0, 6, 0, 1, - 1, 3, 2, 0, 4, 0, 4, 0, 1, 1, + 1, 0, 4, 1, 1, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, 2, 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, 0, 4, 0, 4, 0, 4, 0, - 6, 1, 0, 4, 0, 6, 1, 3, 2, 0, - 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, + 0, 4, 3, 0, 4, 0, 4, 0, 6, 0, + 1, 1, 3, 2, 0, 4, 0, 4, 0, 1, + 1, 3, 2, 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, 0, 4, 0, 4, 0, 4, + 0, 6, 1, 0, 4, 0, 6, 1, 3, 2, + 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 0, 4, 3, 3, 0, - 6, 1, 3, 2, 1, 1, 1, 1, 1, 0, - 4, 0, 4, 0, 6, 1, 3, 2, 1, 1, - 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, - 0, 6, 0, 4, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 0, - 4, 3, 0, 4, 3, 3, 0, 4, 1, 1, - 0, 4, 0, 6, 0, 4, 1, 3, 2, 1, - 1, 0, 6, 3, 0, 6, 1, 3, 2, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 3, 0, 4, 0, 6, 1, 3, 2, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 0, - 4, 3, 3, 3, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 1, 3, 3, 3, 3 + 1, 1, 1, 1, 0, 4, 0, 4, 3, 3, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 3, 0, 4, 3, 0, + 4, 0, 6, 0, 4, 1, 3, 2, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 0, 4, 3, 0, 4, 3, 3, 0, 4, 1, + 1, 0, 4, 0, 6, 0, 4, 1, 3, 2, + 1, 1, 0, 6, 3, 0, 6, 1, 3, 2, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 3, 0, 4, 0, 6, 1, 3, 2, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, + 0, 4, 3, 3, 3, 0, 4, 0, 6, 1, + 3, 2, 1, 1, 1, 1, 1, 3, 3, 3, + 3 }; @@ -6059,8 +5997,7 @@ namespace isc { namespace dhcp { "\"no-check-with-dhcid\"", "\"check-exists-with-dhcid\"", "\"no-check-without-dhcid\"", "\"shared-networks\"", "\"pools\"", "\"pool\"", "\"user-context\"", "\"comment\"", "\"subnet\"", - "\"interface\"", "\"id\"", "\"reservation-mode\"", "\"disabled\"", - "\"out-of-pool\"", "\"global\"", "\"all\"", "\"reservations-global\"", + "\"interface\"", "\"id\"", "\"reservations-global\"", "\"reservations-in-subnet\"", "\"reservations-out-of-pool\"", "\"host-reservation-identifiers\"", "\"client-classes\"", "\"require-client-classes\"", "\"test\"", "\"template-test\"", @@ -6149,56 +6086,56 @@ namespace isc { namespace dhcp { "$@61", "subnet_4o6_interface", "$@62", "subnet_4o6_interface_id", "$@63", "subnet_4o6_subnet", "$@64", "interface", "$@65", "client_class", "$@66", "require_client_classes", "$@67", "reservations_global", - "reservations_in_subnet", "reservations_out_of_pool", "reservation_mode", - "$@68", "hr_mode", "id", "shared_networks", "$@69", - "shared_networks_content", "shared_networks_list", "shared_network", - "$@70", "shared_network_params", "shared_network_param", - "option_def_list", "$@71", "sub_option_def_list", "$@72", - "option_def_list_content", "not_empty_option_def_list", - "option_def_entry", "$@73", "sub_option_def", "$@74", - "option_def_params", "not_empty_option_def_params", "option_def_param", - "option_def_name", "code", "option_def_code", "option_def_type", "$@75", - "option_def_record_types", "$@76", "space", "$@77", "option_def_space", - "option_def_encapsulate", "$@78", "option_def_array", "option_data_list", - "$@79", "option_data_list_content", "not_empty_option_data_list", - "option_data_entry", "$@80", "sub_option_data", "$@81", + "reservations_in_subnet", "reservations_out_of_pool", "id", + "shared_networks", "$@68", "shared_networks_content", + "shared_networks_list", "shared_network", "$@69", + "shared_network_params", "shared_network_param", "option_def_list", + "$@70", "sub_option_def_list", "$@71", "option_def_list_content", + "not_empty_option_def_list", "option_def_entry", "$@72", + "sub_option_def", "$@73", "option_def_params", + "not_empty_option_def_params", "option_def_param", "option_def_name", + "code", "option_def_code", "option_def_type", "$@74", + "option_def_record_types", "$@75", "space", "$@76", "option_def_space", + "option_def_encapsulate", "$@77", "option_def_array", "option_data_list", + "$@78", "option_data_list_content", "not_empty_option_data_list", + "option_data_entry", "$@79", "sub_option_data", "$@80", "option_data_params", "not_empty_option_data_params", - "option_data_param", "option_data_name", "option_data_data", "$@82", + "option_data_param", "option_data_name", "option_data_data", "$@81", "option_data_code", "option_data_space", "option_data_csv_format", "option_data_always_send", "option_data_never_send", "pools_list", - "$@83", "pools_list_content", "not_empty_pools_list", "pool_list_entry", - "$@84", "sub_pool4", "$@85", "pool_params", "pool_param", "pool_entry", - "$@86", "pool_id", "user_context", "$@87", "comment", "$@88", - "reservations", "$@89", "reservations_list", - "not_empty_reservations_list", "reservation", "$@90", "sub_reservation", - "$@91", "reservation_params", "not_empty_reservation_params", - "reservation_param", "next_server", "$@92", "server_hostname", "$@93", - "boot_file_name", "$@94", "ip_address", "$@95", "duid", "$@96", - "hw_address", "$@97", "client_id_value", "$@98", "circuit_id_value", - "$@99", "flex_id_value", "$@100", "hostname", "$@101", - "reservation_client_classes", "$@102", "relay", "$@103", "relay_map", - "ip_addresses", "$@104", "client_classes", "$@105", - "client_classes_list", "client_class_entry", "$@106", + "$@82", "pools_list_content", "not_empty_pools_list", "pool_list_entry", + "$@83", "sub_pool4", "$@84", "pool_params", "pool_param", "pool_entry", + "$@85", "pool_id", "user_context", "$@86", "comment", "$@87", + "reservations", "$@88", "reservations_list", + "not_empty_reservations_list", "reservation", "$@89", "sub_reservation", + "$@90", "reservation_params", "not_empty_reservation_params", + "reservation_param", "next_server", "$@91", "server_hostname", "$@92", + "boot_file_name", "$@93", "ip_address", "$@94", "duid", "$@95", + "hw_address", "$@96", "client_id_value", "$@97", "circuit_id_value", + "$@98", "flex_id_value", "$@99", "hostname", "$@100", + "reservation_client_classes", "$@101", "relay", "$@102", "relay_map", + "ip_addresses", "$@103", "client_classes", "$@104", + "client_classes_list", "client_class_entry", "$@105", "client_class_params", "not_empty_client_class_params", - "client_class_param", "client_class_name", "client_class_test", "$@107", - "client_class_template_test", "$@108", "only_if_required", - "dhcp4o6_port", "control_socket", "$@109", "control_socket_params", - "control_socket_param", "control_socket_type", "$@110", - "control_socket_name", "$@111", "dhcp_queue_control", "$@112", + "client_class_param", "client_class_name", "client_class_test", "$@106", + "client_class_template_test", "$@107", "only_if_required", + "dhcp4o6_port", "control_socket", "$@108", "control_socket_params", + "control_socket_param", "control_socket_type", "$@109", + "control_socket_name", "$@110", "dhcp_queue_control", "$@111", "queue_control_params", "queue_control_param", "enable_queue", - "queue_type", "$@113", "capacity", "arbitrary_map_entry", "$@114", - "dhcp_ddns", "$@115", "sub_dhcp_ddns", "$@116", "dhcp_ddns_params", - "dhcp_ddns_param", "enable_updates", "server_ip", "$@117", "server_port", - "sender_ip", "$@118", "sender_port", "max_queue_size", "ncr_protocol", - "$@119", "ncr_protocol_value", "ncr_format", "$@120", "config_control", - "$@121", "sub_config_control", "$@122", "config_control_params", - "config_control_param", "config_databases", "$@123", - "config_fetch_wait_time", "loggers", "$@124", "loggers_entries", - "logger_entry", "$@125", "logger_params", "logger_param", "debuglevel", - "severity", "$@126", "output_options_list", "$@127", - "output_options_list_content", "output_entry", "$@128", - "output_params_list", "output_params", "output", "$@129", "flush", - "maxsize", "maxver", "pattern", "$@130", "compatibility", "$@131", + "queue_type", "$@112", "capacity", "arbitrary_map_entry", "$@113", + "dhcp_ddns", "$@114", "sub_dhcp_ddns", "$@115", "dhcp_ddns_params", + "dhcp_ddns_param", "enable_updates", "server_ip", "$@116", "server_port", + "sender_ip", "$@117", "sender_port", "max_queue_size", "ncr_protocol", + "$@118", "ncr_protocol_value", "ncr_format", "$@119", "config_control", + "$@120", "sub_config_control", "$@121", "config_control_params", + "config_control_param", "config_databases", "$@122", + "config_fetch_wait_time", "loggers", "$@123", "loggers_entries", + "logger_entry", "$@124", "logger_params", "logger_param", "debuglevel", + "severity", "$@125", "output_options_list", "$@126", + "output_options_list_content", "output_entry", "$@127", + "output_params_list", "output_params", "output", "$@128", "flush", + "maxsize", "maxver", "pattern", "$@129", "compatibility", "$@130", "compatibility_params", "compatibility_param", "lenient_option_parsing", "ignore_dhcp_server_identifier", "ignore_rai_link_selection", "exclude_first_last_24", YY_NULLPTR @@ -6210,91 +6147,91 @@ namespace isc { namespace dhcp { const short Dhcp4Parser::yyrline_[] = { - 0, 316, 316, 316, 317, 317, 318, 318, 319, 319, - 320, 320, 321, 321, 322, 322, 323, 323, 324, 324, - 325, 325, 326, 326, 327, 327, 328, 328, 336, 337, - 338, 339, 340, 341, 342, 345, 350, 350, 361, 364, - 365, 368, 373, 379, 384, 384, 391, 392, 395, 399, - 403, 409, 409, 416, 417, 420, 424, 428, 438, 447, - 447, 462, 462, 476, 479, 485, 485, 494, 495, 496, - 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, - 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, - 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, - 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, - 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, - 563, 564, 565, 566, 567, 568, 569, 570, 571, 574, - 580, 586, 592, 598, 604, 610, 616, 622, 628, 634, - 640, 640, 649, 655, 655, 664, 670, 676, 682, 688, - 694, 700, 700, 709, 712, 715, 718, 721, 727, 727, - 736, 736, 745, 754, 764, 764, 773, 776, 779, 782, - 787, 793, 793, 802, 802, 811, 817, 823, 829, 835, - 841, 847, 853, 859, 859, 871, 872, 873, 878, 879, - 880, 881, 882, 883, 884, 885, 886, 887, 890, 890, - 899, 899, 910, 910, 918, 919, 922, 922, 930, 932, - 936, 942, 948, 954, 960, 960, 973, 973, 984, 985, - 986, 991, 992, 995, 995, 1014, 1014, 1032, 1032, 1045, - 1045, 1056, 1057, 1060, 1061, 1062, 1067, 1067, 1077, 1078, - 1079, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, - 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, - 1103, 1104, 1105, 1106, 1109, 1109, 1117, 1118, 1119, 1122, - 1122, 1131, 1131, 1140, 1140, 1149, 1155, 1155, 1164, 1170, - 1176, 1182, 1188, 1194, 1200, 1206, 1212, 1218, 1218, 1226, - 1227, 1228, 1231, 1237, 1243, 1243, 1252, 1252, 1261, 1261, - 1270, 1270, 1279, 1279, 1290, 1291, 1292, 1297, 1298, 1299, - 1300, 1301, 1304, 1309, 1314, 1319, 1324, 1331, 1331, 1344, - 1345, 1346, 1351, 1352, 1353, 1354, 1355, 1356, 1359, 1365, - 1371, 1377, 1377, 1388, 1389, 1392, 1393, 1394, 1399, 1399, - 1409, 1409, 1419, 1420, 1421, 1424, 1427, 1428, 1431, 1431, - 1440, 1440, 1449, 1449, 1461, 1462, 1463, 1468, 1469, 1470, - 1471, 1472, 1473, 1476, 1482, 1488, 1494, 1500, 1506, 1515, - 1515, 1529, 1530, 1533, 1534, 1535, 1544, 1544, 1570, 1570, - 1581, 1582, 1583, 1589, 1590, 1591, 1592, 1593, 1594, 1595, - 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, - 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, - 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, - 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, - 1636, 1637, 1640, 1640, 1649, 1649, 1658, 1658, 1667, 1667, - 1676, 1676, 1685, 1685, 1694, 1694, 1705, 1711, 1717, 1723, - 1723, 1731, 1732, 1733, 1734, 1737, 1745, 1745, 1757, 1758, - 1762, 1763, 1764, 1769, 1769, 1777, 1778, 1779, 1784, 1785, - 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, - 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, - 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, - 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, - 1826, 1827, 1834, 1834, 1848, 1848, 1857, 1858, 1861, 1862, - 1863, 1870, 1870, 1885, 1885, 1899, 1900, 1903, 1904, 1905, - 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, - 1922, 1924, 1930, 1932, 1932, 1941, 1941, 1950, 1950, 1959, - 1961, 1961, 1970, 1980, 1980, 1993, 1994, 1999, 2000, 2001, - 2008, 2008, 2020, 2020, 2032, 2033, 2038, 2039, 2040, 2047, - 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2059, - 2061, 2061, 2070, 2072, 2074, 2080, 2086, 2095, 2095, 2108, - 2109, 2112, 2113, 2114, 2119, 2119, 2129, 2129, 2139, 2140, - 2141, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153, 2156, - 2156, 2165, 2171, 2171, 2196, 2196, 2226, 2226, 2237, 2238, - 2241, 2242, 2243, 2248, 2248, 2257, 2257, 2266, 2267, 2270, - 2271, 2272, 2278, 2279, 2280, 2281, 2282, 2283, 2284, 2285, - 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2295, 2295, 2304, - 2304, 2313, 2313, 2322, 2322, 2331, 2331, 2340, 2340, 2349, - 2349, 2358, 2358, 2367, 2367, 2376, 2376, 2385, 2385, 2399, - 2399, 2410, 2413, 2413, 2427, 2427, 2438, 2439, 2440, 2445, - 2445, 2455, 2456, 2459, 2460, 2461, 2466, 2467, 2468, 2469, - 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, - 2480, 2481, 2484, 2486, 2486, 2495, 2495, 2504, 2512, 2520, - 2520, 2531, 2532, 2533, 2538, 2539, 2540, 2541, 2542, 2545, - 2545, 2554, 2554, 2566, 2566, 2579, 2580, 2581, 2586, 2587, - 2588, 2589, 2590, 2591, 2594, 2600, 2600, 2609, 2615, 2615, - 2625, 2625, 2638, 2638, 2648, 2649, 2650, 2655, 2656, 2657, - 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2668, 2674, - 2674, 2683, 2689, 2689, 2698, 2704, 2710, 2710, 2719, 2720, - 2723, 2723, 2734, 2734, 2746, 2746, 2756, 2757, 2758, 2764, - 2765, 2768, 2768, 2779, 2787, 2787, 2800, 2801, 2802, 2808, - 2808, 2816, 2817, 2818, 2823, 2824, 2825, 2826, 2827, 2828, - 2829, 2832, 2838, 2838, 2847, 2847, 2858, 2859, 2860, 2865, - 2865, 2873, 2874, 2875, 2880, 2881, 2882, 2883, 2884, 2887, - 2887, 2896, 2902, 2908, 2914, 2914, 2923, 2923, 2934, 2935, - 2936, 2941, 2942, 2943, 2944, 2945, 2948, 2954, 2960, 2966 + 0, 310, 310, 310, 311, 311, 312, 312, 313, 313, + 314, 314, 315, 315, 316, 316, 317, 317, 318, 318, + 319, 319, 320, 320, 321, 321, 322, 322, 330, 331, + 332, 333, 334, 335, 336, 339, 344, 344, 355, 358, + 359, 362, 367, 373, 378, 378, 385, 386, 389, 393, + 397, 403, 403, 410, 411, 414, 418, 422, 432, 441, + 441, 456, 456, 470, 473, 479, 479, 488, 489, 490, + 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, + 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, + 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, + 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, + 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, + 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, + 557, 558, 559, 560, 561, 562, 563, 564, 567, 573, + 579, 585, 591, 597, 603, 609, 615, 621, 627, 633, + 633, 642, 648, 648, 657, 663, 669, 675, 681, 687, + 693, 693, 702, 705, 708, 711, 714, 720, 720, 729, + 729, 738, 747, 757, 757, 766, 769, 772, 775, 780, + 786, 786, 795, 795, 804, 810, 816, 822, 828, 834, + 840, 846, 852, 852, 864, 865, 866, 871, 872, 873, + 874, 875, 876, 877, 878, 879, 880, 883, 883, 892, + 892, 903, 903, 911, 912, 915, 915, 923, 925, 929, + 935, 941, 947, 953, 953, 966, 966, 977, 978, 979, + 984, 985, 988, 988, 1007, 1007, 1025, 1025, 1038, 1038, + 1049, 1050, 1053, 1054, 1055, 1060, 1060, 1070, 1071, 1072, + 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 1097, 1098, 1099, 1102, 1102, 1110, 1111, 1112, 1115, 1115, + 1124, 1124, 1133, 1133, 1142, 1148, 1148, 1157, 1163, 1169, + 1175, 1181, 1187, 1193, 1199, 1205, 1211, 1211, 1219, 1220, + 1221, 1224, 1230, 1236, 1236, 1245, 1245, 1254, 1254, 1263, + 1263, 1272, 1272, 1283, 1284, 1285, 1290, 1291, 1292, 1293, + 1294, 1297, 1302, 1307, 1312, 1317, 1324, 1324, 1337, 1338, + 1339, 1344, 1345, 1346, 1347, 1348, 1349, 1352, 1358, 1364, + 1370, 1370, 1381, 1382, 1385, 1386, 1387, 1392, 1392, 1402, + 1402, 1412, 1413, 1414, 1417, 1420, 1421, 1424, 1424, 1433, + 1433, 1442, 1442, 1454, 1455, 1456, 1461, 1462, 1463, 1464, + 1465, 1466, 1469, 1475, 1481, 1487, 1493, 1499, 1508, 1508, + 1522, 1523, 1526, 1527, 1528, 1537, 1537, 1563, 1563, 1574, + 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, + 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1632, 1632, 1641, 1641, 1650, 1650, 1659, 1659, 1668, 1668, + 1677, 1677, 1686, 1686, 1697, 1703, 1709, 1715, 1723, 1723, + 1735, 1736, 1740, 1741, 1742, 1747, 1747, 1755, 1756, 1757, + 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, + 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, + 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, + 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1801, + 1802, 1803, 1804, 1811, 1811, 1825, 1825, 1834, 1835, 1838, + 1839, 1840, 1847, 1847, 1862, 1862, 1876, 1877, 1880, 1881, + 1882, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, + 1896, 1899, 1901, 1907, 1909, 1909, 1918, 1918, 1927, 1927, + 1936, 1938, 1938, 1947, 1957, 1957, 1970, 1971, 1976, 1977, + 1978, 1985, 1985, 1997, 1997, 2009, 2010, 2015, 2016, 2017, + 2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033, + 2036, 2038, 2038, 2047, 2049, 2051, 2057, 2063, 2072, 2072, + 2085, 2086, 2089, 2090, 2091, 2096, 2096, 2106, 2106, 2116, + 2117, 2118, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, + 2133, 2133, 2142, 2148, 2148, 2173, 2173, 2203, 2203, 2214, + 2215, 2218, 2219, 2220, 2225, 2225, 2234, 2234, 2243, 2244, + 2247, 2248, 2249, 2255, 2256, 2257, 2258, 2259, 2260, 2261, + 2262, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2272, 2272, + 2281, 2281, 2290, 2290, 2299, 2299, 2308, 2308, 2317, 2317, + 2326, 2326, 2335, 2335, 2344, 2344, 2353, 2353, 2362, 2362, + 2376, 2376, 2387, 2390, 2390, 2404, 2404, 2415, 2416, 2417, + 2422, 2422, 2432, 2433, 2436, 2437, 2438, 2443, 2444, 2445, + 2446, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, + 2456, 2457, 2458, 2461, 2463, 2463, 2472, 2472, 2481, 2489, + 2497, 2497, 2508, 2509, 2510, 2515, 2516, 2517, 2518, 2519, + 2522, 2522, 2531, 2531, 2543, 2543, 2556, 2557, 2558, 2563, + 2564, 2565, 2566, 2567, 2568, 2571, 2577, 2577, 2586, 2592, + 2592, 2602, 2602, 2615, 2615, 2625, 2626, 2627, 2632, 2633, + 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2645, + 2651, 2651, 2660, 2666, 2666, 2675, 2681, 2687, 2687, 2696, + 2697, 2700, 2700, 2711, 2711, 2723, 2723, 2733, 2734, 2735, + 2741, 2742, 2745, 2745, 2756, 2764, 2764, 2777, 2778, 2779, + 2785, 2785, 2793, 2794, 2795, 2800, 2801, 2802, 2803, 2804, + 2805, 2806, 2809, 2815, 2815, 2824, 2824, 2835, 2836, 2837, + 2842, 2842, 2850, 2851, 2852, 2857, 2858, 2859, 2860, 2861, + 2864, 2864, 2873, 2879, 2885, 2891, 2891, 2900, 2900, 2911, + 2912, 2913, 2918, 2919, 2920, 2921, 2922, 2925, 2931, 2937, + 2943 }; void @@ -6327,9 +6264,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 6331 "dhcp4_parser.cc" +#line 6268 "dhcp4_parser.cc" -#line 2972 "dhcp4_parser.yy" +#line 2949 "dhcp4_parser.yy" void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index 52ee8cfd46..345088001c 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -433,7 +433,6 @@ namespace isc { namespace dhcp { // outbound_interface_value // db_type // on_fail_mode - // hr_mode // ncr_protocol_value char dummy1[sizeof (ElementPtr)]; @@ -619,105 +618,100 @@ namespace isc { namespace dhcp { TOKEN_SUBNET = 374, // "subnet" TOKEN_INTERFACE = 375, // "interface" TOKEN_ID = 376, // "id" - TOKEN_RESERVATION_MODE = 377, // "reservation-mode" - TOKEN_DISABLED = 378, // "disabled" - TOKEN_OUT_OF_POOL = 379, // "out-of-pool" - TOKEN_GLOBAL = 380, // "global" - TOKEN_ALL = 381, // "all" - TOKEN_RESERVATIONS_GLOBAL = 382, // "reservations-global" - TOKEN_RESERVATIONS_IN_SUBNET = 383, // "reservations-in-subnet" - TOKEN_RESERVATIONS_OUT_OF_POOL = 384, // "reservations-out-of-pool" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 385, // "host-reservation-identifiers" - TOKEN_CLIENT_CLASSES = 386, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 387, // "require-client-classes" - TOKEN_TEST = 388, // "test" - TOKEN_TEMPLATE_TEST = 389, // "template-test" - TOKEN_ONLY_IF_REQUIRED = 390, // "only-if-required" - TOKEN_CLIENT_CLASS = 391, // "client-class" - TOKEN_POOL_ID = 392, // "pool-id" - TOKEN_RESERVATIONS = 393, // "reservations" - TOKEN_IP_ADDRESS = 394, // "ip-address" - TOKEN_DUID = 395, // "duid" - TOKEN_HW_ADDRESS = 396, // "hw-address" - TOKEN_CIRCUIT_ID = 397, // "circuit-id" - TOKEN_CLIENT_ID = 398, // "client-id" - TOKEN_HOSTNAME = 399, // "hostname" - TOKEN_FLEX_ID = 400, // "flex-id" - TOKEN_RELAY = 401, // "relay" - TOKEN_IP_ADDRESSES = 402, // "ip-addresses" - TOKEN_HOOKS_LIBRARIES = 403, // "hooks-libraries" - TOKEN_LIBRARY = 404, // "library" - TOKEN_PARAMETERS = 405, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 406, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 407, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 408, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 409, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 410, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 411, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 412, // "unwarned-reclaim-cycles" - TOKEN_DHCP4O6_PORT = 413, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 414, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 415, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 416, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 417, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 418, // "control-socket" - TOKEN_SOCKET_TYPE = 419, // "socket-type" - TOKEN_SOCKET_NAME = 420, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 421, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 422, // "enable-queue" - TOKEN_QUEUE_TYPE = 423, // "queue-type" - TOKEN_CAPACITY = 424, // "capacity" - TOKEN_DHCP_DDNS = 425, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 426, // "enable-updates" - TOKEN_SERVER_IP = 427, // "server-ip" - TOKEN_SERVER_PORT = 428, // "server-port" - TOKEN_SENDER_IP = 429, // "sender-ip" - TOKEN_SENDER_PORT = 430, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 431, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 432, // "ncr-protocol" - TOKEN_NCR_FORMAT = 433, // "ncr-format" - TOKEN_TCP = 434, // "tcp" - TOKEN_JSON = 435, // "JSON" - TOKEN_WHEN_PRESENT = 436, // "when-present" - TOKEN_NEVER = 437, // "never" - TOKEN_ALWAYS = 438, // "always" - TOKEN_WHEN_NOT_PRESENT = 439, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 440, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 441, // "hostname-char-replacement" - TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 442, // "early-global-reservations-lookup" - TOKEN_IP_RESERVATIONS_UNIQUE = 443, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 444, // "reservations-lookup-first" - TOKEN_LOGGERS = 445, // "loggers" - TOKEN_OUTPUT_OPTIONS = 446, // "output-options" - TOKEN_OUTPUT = 447, // "output" - TOKEN_DEBUGLEVEL = 448, // "debuglevel" - TOKEN_SEVERITY = 449, // "severity" - TOKEN_FLUSH = 450, // "flush" - TOKEN_MAXSIZE = 451, // "maxsize" - TOKEN_MAXVER = 452, // "maxver" - TOKEN_PATTERN = 453, // "pattern" - TOKEN_COMPATIBILITY = 454, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 455, // "lenient-option-parsing" - TOKEN_IGNORE_DHCP_SERVER_ID = 456, // "ignore-dhcp-server-identifier" - TOKEN_IGNORE_RAI_LINK_SEL = 457, // "ignore-rai-link-selection" - TOKEN_EXCLUDE_FIRST_LAST_24 = 458, // "exclude-first-last-24" - TOKEN_TOPLEVEL_JSON = 459, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP4 = 460, // TOPLEVEL_DHCP4 - TOKEN_SUB_DHCP4 = 461, // SUB_DHCP4 - TOKEN_SUB_INTERFACES4 = 462, // SUB_INTERFACES4 - TOKEN_SUB_SUBNET4 = 463, // SUB_SUBNET4 - TOKEN_SUB_POOL4 = 464, // SUB_POOL4 - TOKEN_SUB_RESERVATION = 465, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 466, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 467, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 468, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 469, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 470, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 471, // SUB_CONFIG_CONTROL - TOKEN_STRING = 472, // "constant string" - TOKEN_INTEGER = 473, // "integer" - TOKEN_FLOAT = 474, // "floating point" - TOKEN_BOOLEAN = 475 // "boolean" + TOKEN_RESERVATIONS_GLOBAL = 377, // "reservations-global" + TOKEN_RESERVATIONS_IN_SUBNET = 378, // "reservations-in-subnet" + TOKEN_RESERVATIONS_OUT_OF_POOL = 379, // "reservations-out-of-pool" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 380, // "host-reservation-identifiers" + TOKEN_CLIENT_CLASSES = 381, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 382, // "require-client-classes" + TOKEN_TEST = 383, // "test" + TOKEN_TEMPLATE_TEST = 384, // "template-test" + TOKEN_ONLY_IF_REQUIRED = 385, // "only-if-required" + TOKEN_CLIENT_CLASS = 386, // "client-class" + TOKEN_POOL_ID = 387, // "pool-id" + TOKEN_RESERVATIONS = 388, // "reservations" + TOKEN_IP_ADDRESS = 389, // "ip-address" + TOKEN_DUID = 390, // "duid" + TOKEN_HW_ADDRESS = 391, // "hw-address" + TOKEN_CIRCUIT_ID = 392, // "circuit-id" + TOKEN_CLIENT_ID = 393, // "client-id" + TOKEN_HOSTNAME = 394, // "hostname" + TOKEN_FLEX_ID = 395, // "flex-id" + TOKEN_RELAY = 396, // "relay" + TOKEN_IP_ADDRESSES = 397, // "ip-addresses" + TOKEN_HOOKS_LIBRARIES = 398, // "hooks-libraries" + TOKEN_LIBRARY = 399, // "library" + TOKEN_PARAMETERS = 400, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 401, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 402, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 403, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 404, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 405, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 406, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 407, // "unwarned-reclaim-cycles" + TOKEN_DHCP4O6_PORT = 408, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 409, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 410, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 411, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 412, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 413, // "control-socket" + TOKEN_SOCKET_TYPE = 414, // "socket-type" + TOKEN_SOCKET_NAME = 415, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 416, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 417, // "enable-queue" + TOKEN_QUEUE_TYPE = 418, // "queue-type" + TOKEN_CAPACITY = 419, // "capacity" + TOKEN_DHCP_DDNS = 420, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 421, // "enable-updates" + TOKEN_SERVER_IP = 422, // "server-ip" + TOKEN_SERVER_PORT = 423, // "server-port" + TOKEN_SENDER_IP = 424, // "sender-ip" + TOKEN_SENDER_PORT = 425, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 426, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 427, // "ncr-protocol" + TOKEN_NCR_FORMAT = 428, // "ncr-format" + TOKEN_TCP = 429, // "tcp" + TOKEN_JSON = 430, // "JSON" + TOKEN_WHEN_PRESENT = 431, // "when-present" + TOKEN_NEVER = 432, // "never" + TOKEN_ALWAYS = 433, // "always" + TOKEN_WHEN_NOT_PRESENT = 434, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 435, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 436, // "hostname-char-replacement" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 437, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 438, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 439, // "reservations-lookup-first" + TOKEN_LOGGERS = 440, // "loggers" + TOKEN_OUTPUT_OPTIONS = 441, // "output-options" + TOKEN_OUTPUT = 442, // "output" + TOKEN_DEBUGLEVEL = 443, // "debuglevel" + TOKEN_SEVERITY = 444, // "severity" + TOKEN_FLUSH = 445, // "flush" + TOKEN_MAXSIZE = 446, // "maxsize" + TOKEN_MAXVER = 447, // "maxver" + TOKEN_PATTERN = 448, // "pattern" + TOKEN_COMPATIBILITY = 449, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 450, // "lenient-option-parsing" + TOKEN_IGNORE_DHCP_SERVER_ID = 451, // "ignore-dhcp-server-identifier" + TOKEN_IGNORE_RAI_LINK_SEL = 452, // "ignore-rai-link-selection" + TOKEN_EXCLUDE_FIRST_LAST_24 = 453, // "exclude-first-last-24" + TOKEN_TOPLEVEL_JSON = 454, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP4 = 455, // TOPLEVEL_DHCP4 + TOKEN_SUB_DHCP4 = 456, // SUB_DHCP4 + TOKEN_SUB_INTERFACES4 = 457, // SUB_INTERFACES4 + TOKEN_SUB_SUBNET4 = 458, // SUB_SUBNET4 + TOKEN_SUB_POOL4 = 459, // SUB_POOL4 + TOKEN_SUB_RESERVATION = 460, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 461, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 462, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 463, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 464, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 465, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 466, // SUB_CONFIG_CONTROL + TOKEN_STRING = 467, // "constant string" + TOKEN_INTEGER = 468, // "integer" + TOKEN_FLOAT = 469, // "floating point" + TOKEN_BOOLEAN = 470 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -734,7 +728,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 221, ///< Number of tokens. + YYNTOKENS = 216, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -858,536 +852,528 @@ namespace isc { namespace dhcp { S_SUBNET = 119, // "subnet" S_INTERFACE = 120, // "interface" S_ID = 121, // "id" - S_RESERVATION_MODE = 122, // "reservation-mode" - S_DISABLED = 123, // "disabled" - S_OUT_OF_POOL = 124, // "out-of-pool" - S_GLOBAL = 125, // "global" - S_ALL = 126, // "all" - S_RESERVATIONS_GLOBAL = 127, // "reservations-global" - S_RESERVATIONS_IN_SUBNET = 128, // "reservations-in-subnet" - S_RESERVATIONS_OUT_OF_POOL = 129, // "reservations-out-of-pool" - S_HOST_RESERVATION_IDENTIFIERS = 130, // "host-reservation-identifiers" - S_CLIENT_CLASSES = 131, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 132, // "require-client-classes" - S_TEST = 133, // "test" - S_TEMPLATE_TEST = 134, // "template-test" - S_ONLY_IF_REQUIRED = 135, // "only-if-required" - S_CLIENT_CLASS = 136, // "client-class" - S_POOL_ID = 137, // "pool-id" - S_RESERVATIONS = 138, // "reservations" - S_IP_ADDRESS = 139, // "ip-address" - S_DUID = 140, // "duid" - S_HW_ADDRESS = 141, // "hw-address" - S_CIRCUIT_ID = 142, // "circuit-id" - S_CLIENT_ID = 143, // "client-id" - S_HOSTNAME = 144, // "hostname" - S_FLEX_ID = 145, // "flex-id" - S_RELAY = 146, // "relay" - S_IP_ADDRESSES = 147, // "ip-addresses" - S_HOOKS_LIBRARIES = 148, // "hooks-libraries" - S_LIBRARY = 149, // "library" - S_PARAMETERS = 150, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 151, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 152, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 153, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 154, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 155, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 156, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 157, // "unwarned-reclaim-cycles" - S_DHCP4O6_PORT = 158, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 159, // "multi-threading" - S_ENABLE_MULTI_THREADING = 160, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 161, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 162, // "packet-queue-size" - S_CONTROL_SOCKET = 163, // "control-socket" - S_SOCKET_TYPE = 164, // "socket-type" - S_SOCKET_NAME = 165, // "socket-name" - S_DHCP_QUEUE_CONTROL = 166, // "dhcp-queue-control" - S_ENABLE_QUEUE = 167, // "enable-queue" - S_QUEUE_TYPE = 168, // "queue-type" - S_CAPACITY = 169, // "capacity" - S_DHCP_DDNS = 170, // "dhcp-ddns" - S_ENABLE_UPDATES = 171, // "enable-updates" - S_SERVER_IP = 172, // "server-ip" - S_SERVER_PORT = 173, // "server-port" - S_SENDER_IP = 174, // "sender-ip" - S_SENDER_PORT = 175, // "sender-port" - S_MAX_QUEUE_SIZE = 176, // "max-queue-size" - S_NCR_PROTOCOL = 177, // "ncr-protocol" - S_NCR_FORMAT = 178, // "ncr-format" - S_TCP = 179, // "tcp" - S_JSON = 180, // "JSON" - S_WHEN_PRESENT = 181, // "when-present" - S_NEVER = 182, // "never" - S_ALWAYS = 183, // "always" - S_WHEN_NOT_PRESENT = 184, // "when-not-present" - S_HOSTNAME_CHAR_SET = 185, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 186, // "hostname-char-replacement" - S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 187, // "early-global-reservations-lookup" - S_IP_RESERVATIONS_UNIQUE = 188, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 189, // "reservations-lookup-first" - S_LOGGERS = 190, // "loggers" - S_OUTPUT_OPTIONS = 191, // "output-options" - S_OUTPUT = 192, // "output" - S_DEBUGLEVEL = 193, // "debuglevel" - S_SEVERITY = 194, // "severity" - S_FLUSH = 195, // "flush" - S_MAXSIZE = 196, // "maxsize" - S_MAXVER = 197, // "maxver" - S_PATTERN = 198, // "pattern" - S_COMPATIBILITY = 199, // "compatibility" - S_LENIENT_OPTION_PARSING = 200, // "lenient-option-parsing" - S_IGNORE_DHCP_SERVER_ID = 201, // "ignore-dhcp-server-identifier" - S_IGNORE_RAI_LINK_SEL = 202, // "ignore-rai-link-selection" - S_EXCLUDE_FIRST_LAST_24 = 203, // "exclude-first-last-24" - S_TOPLEVEL_JSON = 204, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP4 = 205, // TOPLEVEL_DHCP4 - S_SUB_DHCP4 = 206, // SUB_DHCP4 - S_SUB_INTERFACES4 = 207, // SUB_INTERFACES4 - S_SUB_SUBNET4 = 208, // SUB_SUBNET4 - S_SUB_POOL4 = 209, // SUB_POOL4 - S_SUB_RESERVATION = 210, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 211, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 212, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 213, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 214, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 215, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 216, // SUB_CONFIG_CONTROL - S_STRING = 217, // "constant string" - S_INTEGER = 218, // "integer" - S_FLOAT = 219, // "floating point" - S_BOOLEAN = 220, // "boolean" - S_YYACCEPT = 221, // $accept - S_start = 222, // start - S_223_1 = 223, // $@1 - S_224_2 = 224, // $@2 - S_225_3 = 225, // $@3 - S_226_4 = 226, // $@4 - S_227_5 = 227, // $@5 - S_228_6 = 228, // $@6 - S_229_7 = 229, // $@7 - S_230_8 = 230, // $@8 - S_231_9 = 231, // $@9 - S_232_10 = 232, // $@10 - S_233_11 = 233, // $@11 - S_234_12 = 234, // $@12 - S_235_13 = 235, // $@13 - S_value = 236, // value - S_sub_json = 237, // sub_json - S_map2 = 238, // map2 - S_239_14 = 239, // $@14 - S_map_value = 240, // map_value - S_map_content = 241, // map_content - S_not_empty_map = 242, // not_empty_map - S_list_generic = 243, // list_generic - S_244_15 = 244, // $@15 - S_list_content = 245, // list_content - S_not_empty_list = 246, // not_empty_list - S_list_strings = 247, // list_strings - S_248_16 = 248, // $@16 - S_list_strings_content = 249, // list_strings_content - S_not_empty_list_strings = 250, // not_empty_list_strings - S_unknown_map_entry = 251, // unknown_map_entry - S_syntax_map = 252, // syntax_map - S_253_17 = 253, // $@17 - S_global_object = 254, // global_object - S_255_18 = 255, // $@18 - S_global_object_comma = 256, // global_object_comma - S_sub_dhcp4 = 257, // sub_dhcp4 - S_258_19 = 258, // $@19 - S_global_params = 259, // global_params - S_global_param = 260, // global_param - S_valid_lifetime = 261, // valid_lifetime - S_min_valid_lifetime = 262, // min_valid_lifetime - S_max_valid_lifetime = 263, // max_valid_lifetime - S_renew_timer = 264, // renew_timer - S_rebind_timer = 265, // rebind_timer - S_calculate_tee_times = 266, // calculate_tee_times - S_t1_percent = 267, // t1_percent - S_t2_percent = 268, // t2_percent - S_cache_threshold = 269, // cache_threshold - S_cache_max_age = 270, // cache_max_age - S_decline_probation_period = 271, // decline_probation_period - S_server_tag = 272, // server_tag - S_273_20 = 273, // $@20 - S_parked_packet_limit = 274, // parked_packet_limit - S_allocator = 275, // allocator - S_276_21 = 276, // $@21 - S_echo_client_id = 277, // echo_client_id - S_match_client_id = 278, // match_client_id - S_authoritative = 279, // authoritative - S_ddns_send_updates = 280, // ddns_send_updates - S_ddns_override_no_update = 281, // ddns_override_no_update - S_ddns_override_client_update = 282, // ddns_override_client_update - S_ddns_replace_client_name = 283, // ddns_replace_client_name - S_284_22 = 284, // $@22 - S_ddns_replace_client_name_value = 285, // ddns_replace_client_name_value - S_ddns_generated_prefix = 286, // ddns_generated_prefix - S_287_23 = 287, // $@23 - S_ddns_qualifying_suffix = 288, // ddns_qualifying_suffix - S_289_24 = 289, // $@24 - S_ddns_update_on_renew = 290, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 291, // ddns_use_conflict_resolution - S_ddns_conflict_resolution_mode = 292, // ddns_conflict_resolution_mode - S_293_25 = 293, // $@25 - S_ddns_conflict_resolution_mode_value = 294, // ddns_conflict_resolution_mode_value - S_ddns_ttl_percent = 295, // ddns_ttl_percent - S_hostname_char_set = 296, // hostname_char_set - S_297_26 = 297, // $@26 - S_hostname_char_replacement = 298, // hostname_char_replacement - S_299_27 = 299, // $@27 - S_store_extended_info = 300, // store_extended_info - S_statistic_default_sample_count = 301, // statistic_default_sample_count - S_statistic_default_sample_age = 302, // statistic_default_sample_age - S_early_global_reservations_lookup = 303, // early_global_reservations_lookup - S_ip_reservations_unique = 304, // ip_reservations_unique - S_reservations_lookup_first = 305, // reservations_lookup_first - S_offer_lifetime = 306, // offer_lifetime - S_stash_agent_options = 307, // stash_agent_options - S_interfaces_config = 308, // interfaces_config - S_309_28 = 309, // $@28 - S_interfaces_config_params = 310, // interfaces_config_params - S_interfaces_config_param = 311, // interfaces_config_param - S_sub_interfaces4 = 312, // sub_interfaces4 - S_313_29 = 313, // $@29 - S_interfaces_list = 314, // interfaces_list - S_315_30 = 315, // $@30 - S_dhcp_socket_type = 316, // dhcp_socket_type - S_317_31 = 317, // $@31 - S_socket_type = 318, // socket_type - S_outbound_interface = 319, // outbound_interface - S_320_32 = 320, // $@32 - S_outbound_interface_value = 321, // outbound_interface_value - S_re_detect = 322, // re_detect - S_service_sockets_require_all = 323, // service_sockets_require_all - S_service_sockets_retry_wait_time = 324, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 325, // service_sockets_max_retries - S_lease_database = 326, // lease_database - S_327_33 = 327, // $@33 - S_sanity_checks = 328, // sanity_checks - S_329_34 = 329, // $@34 - S_sanity_checks_params = 330, // sanity_checks_params - S_sanity_checks_param = 331, // sanity_checks_param - S_lease_checks = 332, // lease_checks - S_333_35 = 333, // $@35 - S_extended_info_checks = 334, // extended_info_checks - S_335_36 = 335, // $@36 - S_hosts_database = 336, // hosts_database - S_337_37 = 337, // $@37 - S_hosts_databases = 338, // hosts_databases - S_339_38 = 339, // $@38 - S_database_list = 340, // database_list - S_not_empty_database_list = 341, // not_empty_database_list - S_database = 342, // database - S_343_39 = 343, // $@39 - S_database_map_params = 344, // database_map_params - S_database_map_param = 345, // database_map_param - S_database_type = 346, // database_type - S_347_40 = 347, // $@40 - S_db_type = 348, // db_type - S_user = 349, // user - S_350_41 = 350, // $@41 - S_password = 351, // password - S_352_42 = 352, // $@42 - S_host = 353, // host - S_354_43 = 354, // $@43 - S_port = 355, // port - S_name = 356, // name - S_357_44 = 357, // $@44 - S_persist = 358, // persist - S_lfc_interval = 359, // lfc_interval - S_readonly = 360, // readonly - S_connect_timeout = 361, // connect_timeout - S_read_timeout = 362, // read_timeout - S_write_timeout = 363, // write_timeout - S_tcp_user_timeout = 364, // tcp_user_timeout - S_max_reconnect_tries = 365, // max_reconnect_tries - S_reconnect_wait_time = 366, // reconnect_wait_time - S_on_fail = 367, // on_fail - S_368_45 = 368, // $@45 - S_on_fail_mode = 369, // on_fail_mode - S_retry_on_startup = 370, // retry_on_startup - S_max_row_errors = 371, // max_row_errors - S_trust_anchor = 372, // trust_anchor - S_373_46 = 373, // $@46 - S_cert_file = 374, // cert_file - S_375_47 = 375, // $@47 - S_key_file = 376, // key_file - S_377_48 = 377, // $@48 - S_cipher_list = 378, // cipher_list - S_379_49 = 379, // $@49 - S_host_reservation_identifiers = 380, // host_reservation_identifiers - S_381_50 = 381, // $@50 - S_host_reservation_identifiers_list = 382, // host_reservation_identifiers_list - S_host_reservation_identifier = 383, // host_reservation_identifier - S_duid_id = 384, // duid_id - S_hw_address_id = 385, // hw_address_id - S_circuit_id = 386, // circuit_id - S_client_id = 387, // client_id - S_flex_id = 388, // flex_id - S_dhcp_multi_threading = 389, // dhcp_multi_threading - S_390_51 = 390, // $@51 - S_multi_threading_params = 391, // multi_threading_params - S_multi_threading_param = 392, // multi_threading_param - S_enable_multi_threading = 393, // enable_multi_threading - S_thread_pool_size = 394, // thread_pool_size - S_packet_queue_size = 395, // packet_queue_size - S_hooks_libraries = 396, // hooks_libraries - S_397_52 = 397, // $@52 - S_hooks_libraries_list = 398, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 399, // not_empty_hooks_libraries_list - S_hooks_library = 400, // hooks_library - S_401_53 = 401, // $@53 - S_sub_hooks_library = 402, // sub_hooks_library - S_403_54 = 403, // $@54 - S_hooks_params = 404, // hooks_params - S_hooks_param = 405, // hooks_param - S_library = 406, // library - S_407_55 = 407, // $@55 - S_parameters = 408, // parameters - S_409_56 = 409, // $@56 - S_expired_leases_processing = 410, // expired_leases_processing - S_411_57 = 411, // $@57 - S_expired_leases_params = 412, // expired_leases_params - S_expired_leases_param = 413, // expired_leases_param - S_reclaim_timer_wait_time = 414, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 415, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 416, // hold_reclaimed_time - S_max_reclaim_leases = 417, // max_reclaim_leases - S_max_reclaim_time = 418, // max_reclaim_time - S_unwarned_reclaim_cycles = 419, // unwarned_reclaim_cycles - S_subnet4_list = 420, // subnet4_list - S_421_58 = 421, // $@58 - S_subnet4_list_content = 422, // subnet4_list_content - S_not_empty_subnet4_list = 423, // not_empty_subnet4_list - S_subnet4 = 424, // subnet4 - S_425_59 = 425, // $@59 - S_sub_subnet4 = 426, // sub_subnet4 - S_427_60 = 427, // $@60 - S_subnet4_params = 428, // subnet4_params - S_subnet4_param = 429, // subnet4_param - S_subnet = 430, // subnet - S_431_61 = 431, // $@61 - S_subnet_4o6_interface = 432, // subnet_4o6_interface - S_433_62 = 433, // $@62 - S_subnet_4o6_interface_id = 434, // subnet_4o6_interface_id - S_435_63 = 435, // $@63 - S_subnet_4o6_subnet = 436, // subnet_4o6_subnet - S_437_64 = 437, // $@64 - S_interface = 438, // interface - S_439_65 = 439, // $@65 - S_client_class = 440, // client_class - S_441_66 = 441, // $@66 - S_require_client_classes = 442, // require_client_classes - S_443_67 = 443, // $@67 - S_reservations_global = 444, // reservations_global - S_reservations_in_subnet = 445, // reservations_in_subnet - S_reservations_out_of_pool = 446, // reservations_out_of_pool - S_reservation_mode = 447, // reservation_mode - S_448_68 = 448, // $@68 - S_hr_mode = 449, // hr_mode - S_id = 450, // id - S_shared_networks = 451, // shared_networks - S_452_69 = 452, // $@69 - S_shared_networks_content = 453, // shared_networks_content - S_shared_networks_list = 454, // shared_networks_list - S_shared_network = 455, // shared_network - S_456_70 = 456, // $@70 - S_shared_network_params = 457, // shared_network_params - S_shared_network_param = 458, // shared_network_param - S_option_def_list = 459, // option_def_list - S_460_71 = 460, // $@71 - S_sub_option_def_list = 461, // sub_option_def_list - S_462_72 = 462, // $@72 - S_option_def_list_content = 463, // option_def_list_content - S_not_empty_option_def_list = 464, // not_empty_option_def_list - S_option_def_entry = 465, // option_def_entry - S_466_73 = 466, // $@73 - S_sub_option_def = 467, // sub_option_def + S_RESERVATIONS_GLOBAL = 122, // "reservations-global" + S_RESERVATIONS_IN_SUBNET = 123, // "reservations-in-subnet" + S_RESERVATIONS_OUT_OF_POOL = 124, // "reservations-out-of-pool" + S_HOST_RESERVATION_IDENTIFIERS = 125, // "host-reservation-identifiers" + S_CLIENT_CLASSES = 126, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 127, // "require-client-classes" + S_TEST = 128, // "test" + S_TEMPLATE_TEST = 129, // "template-test" + S_ONLY_IF_REQUIRED = 130, // "only-if-required" + S_CLIENT_CLASS = 131, // "client-class" + S_POOL_ID = 132, // "pool-id" + S_RESERVATIONS = 133, // "reservations" + S_IP_ADDRESS = 134, // "ip-address" + S_DUID = 135, // "duid" + S_HW_ADDRESS = 136, // "hw-address" + S_CIRCUIT_ID = 137, // "circuit-id" + S_CLIENT_ID = 138, // "client-id" + S_HOSTNAME = 139, // "hostname" + S_FLEX_ID = 140, // "flex-id" + S_RELAY = 141, // "relay" + S_IP_ADDRESSES = 142, // "ip-addresses" + S_HOOKS_LIBRARIES = 143, // "hooks-libraries" + S_LIBRARY = 144, // "library" + S_PARAMETERS = 145, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 146, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 147, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 148, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 149, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 150, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 151, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 152, // "unwarned-reclaim-cycles" + S_DHCP4O6_PORT = 153, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 154, // "multi-threading" + S_ENABLE_MULTI_THREADING = 155, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 156, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 157, // "packet-queue-size" + S_CONTROL_SOCKET = 158, // "control-socket" + S_SOCKET_TYPE = 159, // "socket-type" + S_SOCKET_NAME = 160, // "socket-name" + S_DHCP_QUEUE_CONTROL = 161, // "dhcp-queue-control" + S_ENABLE_QUEUE = 162, // "enable-queue" + S_QUEUE_TYPE = 163, // "queue-type" + S_CAPACITY = 164, // "capacity" + S_DHCP_DDNS = 165, // "dhcp-ddns" + S_ENABLE_UPDATES = 166, // "enable-updates" + S_SERVER_IP = 167, // "server-ip" + S_SERVER_PORT = 168, // "server-port" + S_SENDER_IP = 169, // "sender-ip" + S_SENDER_PORT = 170, // "sender-port" + S_MAX_QUEUE_SIZE = 171, // "max-queue-size" + S_NCR_PROTOCOL = 172, // "ncr-protocol" + S_NCR_FORMAT = 173, // "ncr-format" + S_TCP = 174, // "tcp" + S_JSON = 175, // "JSON" + S_WHEN_PRESENT = 176, // "when-present" + S_NEVER = 177, // "never" + S_ALWAYS = 178, // "always" + S_WHEN_NOT_PRESENT = 179, // "when-not-present" + S_HOSTNAME_CHAR_SET = 180, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 181, // "hostname-char-replacement" + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 182, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 183, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 184, // "reservations-lookup-first" + S_LOGGERS = 185, // "loggers" + S_OUTPUT_OPTIONS = 186, // "output-options" + S_OUTPUT = 187, // "output" + S_DEBUGLEVEL = 188, // "debuglevel" + S_SEVERITY = 189, // "severity" + S_FLUSH = 190, // "flush" + S_MAXSIZE = 191, // "maxsize" + S_MAXVER = 192, // "maxver" + S_PATTERN = 193, // "pattern" + S_COMPATIBILITY = 194, // "compatibility" + S_LENIENT_OPTION_PARSING = 195, // "lenient-option-parsing" + S_IGNORE_DHCP_SERVER_ID = 196, // "ignore-dhcp-server-identifier" + S_IGNORE_RAI_LINK_SEL = 197, // "ignore-rai-link-selection" + S_EXCLUDE_FIRST_LAST_24 = 198, // "exclude-first-last-24" + S_TOPLEVEL_JSON = 199, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP4 = 200, // TOPLEVEL_DHCP4 + S_SUB_DHCP4 = 201, // SUB_DHCP4 + S_SUB_INTERFACES4 = 202, // SUB_INTERFACES4 + S_SUB_SUBNET4 = 203, // SUB_SUBNET4 + S_SUB_POOL4 = 204, // SUB_POOL4 + S_SUB_RESERVATION = 205, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 206, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 207, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 208, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 209, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 210, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 211, // SUB_CONFIG_CONTROL + S_STRING = 212, // "constant string" + S_INTEGER = 213, // "integer" + S_FLOAT = 214, // "floating point" + S_BOOLEAN = 215, // "boolean" + S_YYACCEPT = 216, // $accept + S_start = 217, // start + S_218_1 = 218, // $@1 + S_219_2 = 219, // $@2 + S_220_3 = 220, // $@3 + S_221_4 = 221, // $@4 + S_222_5 = 222, // $@5 + S_223_6 = 223, // $@6 + S_224_7 = 224, // $@7 + S_225_8 = 225, // $@8 + S_226_9 = 226, // $@9 + S_227_10 = 227, // $@10 + S_228_11 = 228, // $@11 + S_229_12 = 229, // $@12 + S_230_13 = 230, // $@13 + S_value = 231, // value + S_sub_json = 232, // sub_json + S_map2 = 233, // map2 + S_234_14 = 234, // $@14 + S_map_value = 235, // map_value + S_map_content = 236, // map_content + S_not_empty_map = 237, // not_empty_map + S_list_generic = 238, // list_generic + S_239_15 = 239, // $@15 + S_list_content = 240, // list_content + S_not_empty_list = 241, // not_empty_list + S_list_strings = 242, // list_strings + S_243_16 = 243, // $@16 + S_list_strings_content = 244, // list_strings_content + S_not_empty_list_strings = 245, // not_empty_list_strings + S_unknown_map_entry = 246, // unknown_map_entry + S_syntax_map = 247, // syntax_map + S_248_17 = 248, // $@17 + S_global_object = 249, // global_object + S_250_18 = 250, // $@18 + S_global_object_comma = 251, // global_object_comma + S_sub_dhcp4 = 252, // sub_dhcp4 + S_253_19 = 253, // $@19 + S_global_params = 254, // global_params + S_global_param = 255, // global_param + S_valid_lifetime = 256, // valid_lifetime + S_min_valid_lifetime = 257, // min_valid_lifetime + S_max_valid_lifetime = 258, // max_valid_lifetime + S_renew_timer = 259, // renew_timer + S_rebind_timer = 260, // rebind_timer + S_calculate_tee_times = 261, // calculate_tee_times + S_t1_percent = 262, // t1_percent + S_t2_percent = 263, // t2_percent + S_cache_threshold = 264, // cache_threshold + S_cache_max_age = 265, // cache_max_age + S_decline_probation_period = 266, // decline_probation_period + S_server_tag = 267, // server_tag + S_268_20 = 268, // $@20 + S_parked_packet_limit = 269, // parked_packet_limit + S_allocator = 270, // allocator + S_271_21 = 271, // $@21 + S_echo_client_id = 272, // echo_client_id + S_match_client_id = 273, // match_client_id + S_authoritative = 274, // authoritative + S_ddns_send_updates = 275, // ddns_send_updates + S_ddns_override_no_update = 276, // ddns_override_no_update + S_ddns_override_client_update = 277, // ddns_override_client_update + S_ddns_replace_client_name = 278, // ddns_replace_client_name + S_279_22 = 279, // $@22 + S_ddns_replace_client_name_value = 280, // ddns_replace_client_name_value + S_ddns_generated_prefix = 281, // ddns_generated_prefix + S_282_23 = 282, // $@23 + S_ddns_qualifying_suffix = 283, // ddns_qualifying_suffix + S_284_24 = 284, // $@24 + S_ddns_update_on_renew = 285, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 286, // ddns_use_conflict_resolution + S_ddns_conflict_resolution_mode = 287, // ddns_conflict_resolution_mode + S_288_25 = 288, // $@25 + S_ddns_conflict_resolution_mode_value = 289, // ddns_conflict_resolution_mode_value + S_ddns_ttl_percent = 290, // ddns_ttl_percent + S_hostname_char_set = 291, // hostname_char_set + S_292_26 = 292, // $@26 + S_hostname_char_replacement = 293, // hostname_char_replacement + S_294_27 = 294, // $@27 + S_store_extended_info = 295, // store_extended_info + S_statistic_default_sample_count = 296, // statistic_default_sample_count + S_statistic_default_sample_age = 297, // statistic_default_sample_age + S_early_global_reservations_lookup = 298, // early_global_reservations_lookup + S_ip_reservations_unique = 299, // ip_reservations_unique + S_reservations_lookup_first = 300, // reservations_lookup_first + S_offer_lifetime = 301, // offer_lifetime + S_stash_agent_options = 302, // stash_agent_options + S_interfaces_config = 303, // interfaces_config + S_304_28 = 304, // $@28 + S_interfaces_config_params = 305, // interfaces_config_params + S_interfaces_config_param = 306, // interfaces_config_param + S_sub_interfaces4 = 307, // sub_interfaces4 + S_308_29 = 308, // $@29 + S_interfaces_list = 309, // interfaces_list + S_310_30 = 310, // $@30 + S_dhcp_socket_type = 311, // dhcp_socket_type + S_312_31 = 312, // $@31 + S_socket_type = 313, // socket_type + S_outbound_interface = 314, // outbound_interface + S_315_32 = 315, // $@32 + S_outbound_interface_value = 316, // outbound_interface_value + S_re_detect = 317, // re_detect + S_service_sockets_require_all = 318, // service_sockets_require_all + S_service_sockets_retry_wait_time = 319, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 320, // service_sockets_max_retries + S_lease_database = 321, // lease_database + S_322_33 = 322, // $@33 + S_sanity_checks = 323, // sanity_checks + S_324_34 = 324, // $@34 + S_sanity_checks_params = 325, // sanity_checks_params + S_sanity_checks_param = 326, // sanity_checks_param + S_lease_checks = 327, // lease_checks + S_328_35 = 328, // $@35 + S_extended_info_checks = 329, // extended_info_checks + S_330_36 = 330, // $@36 + S_hosts_database = 331, // hosts_database + S_332_37 = 332, // $@37 + S_hosts_databases = 333, // hosts_databases + S_334_38 = 334, // $@38 + S_database_list = 335, // database_list + S_not_empty_database_list = 336, // not_empty_database_list + S_database = 337, // database + S_338_39 = 338, // $@39 + S_database_map_params = 339, // database_map_params + S_database_map_param = 340, // database_map_param + S_database_type = 341, // database_type + S_342_40 = 342, // $@40 + S_db_type = 343, // db_type + S_user = 344, // user + S_345_41 = 345, // $@41 + S_password = 346, // password + S_347_42 = 347, // $@42 + S_host = 348, // host + S_349_43 = 349, // $@43 + S_port = 350, // port + S_name = 351, // name + S_352_44 = 352, // $@44 + S_persist = 353, // persist + S_lfc_interval = 354, // lfc_interval + S_readonly = 355, // readonly + S_connect_timeout = 356, // connect_timeout + S_read_timeout = 357, // read_timeout + S_write_timeout = 358, // write_timeout + S_tcp_user_timeout = 359, // tcp_user_timeout + S_max_reconnect_tries = 360, // max_reconnect_tries + S_reconnect_wait_time = 361, // reconnect_wait_time + S_on_fail = 362, // on_fail + S_363_45 = 363, // $@45 + S_on_fail_mode = 364, // on_fail_mode + S_retry_on_startup = 365, // retry_on_startup + S_max_row_errors = 366, // max_row_errors + S_trust_anchor = 367, // trust_anchor + S_368_46 = 368, // $@46 + S_cert_file = 369, // cert_file + S_370_47 = 370, // $@47 + S_key_file = 371, // key_file + S_372_48 = 372, // $@48 + S_cipher_list = 373, // cipher_list + S_374_49 = 374, // $@49 + S_host_reservation_identifiers = 375, // host_reservation_identifiers + S_376_50 = 376, // $@50 + S_host_reservation_identifiers_list = 377, // host_reservation_identifiers_list + S_host_reservation_identifier = 378, // host_reservation_identifier + S_duid_id = 379, // duid_id + S_hw_address_id = 380, // hw_address_id + S_circuit_id = 381, // circuit_id + S_client_id = 382, // client_id + S_flex_id = 383, // flex_id + S_dhcp_multi_threading = 384, // dhcp_multi_threading + S_385_51 = 385, // $@51 + S_multi_threading_params = 386, // multi_threading_params + S_multi_threading_param = 387, // multi_threading_param + S_enable_multi_threading = 388, // enable_multi_threading + S_thread_pool_size = 389, // thread_pool_size + S_packet_queue_size = 390, // packet_queue_size + S_hooks_libraries = 391, // hooks_libraries + S_392_52 = 392, // $@52 + S_hooks_libraries_list = 393, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 394, // not_empty_hooks_libraries_list + S_hooks_library = 395, // hooks_library + S_396_53 = 396, // $@53 + S_sub_hooks_library = 397, // sub_hooks_library + S_398_54 = 398, // $@54 + S_hooks_params = 399, // hooks_params + S_hooks_param = 400, // hooks_param + S_library = 401, // library + S_402_55 = 402, // $@55 + S_parameters = 403, // parameters + S_404_56 = 404, // $@56 + S_expired_leases_processing = 405, // expired_leases_processing + S_406_57 = 406, // $@57 + S_expired_leases_params = 407, // expired_leases_params + S_expired_leases_param = 408, // expired_leases_param + S_reclaim_timer_wait_time = 409, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 410, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 411, // hold_reclaimed_time + S_max_reclaim_leases = 412, // max_reclaim_leases + S_max_reclaim_time = 413, // max_reclaim_time + S_unwarned_reclaim_cycles = 414, // unwarned_reclaim_cycles + S_subnet4_list = 415, // subnet4_list + S_416_58 = 416, // $@58 + S_subnet4_list_content = 417, // subnet4_list_content + S_not_empty_subnet4_list = 418, // not_empty_subnet4_list + S_subnet4 = 419, // subnet4 + S_420_59 = 420, // $@59 + S_sub_subnet4 = 421, // sub_subnet4 + S_422_60 = 422, // $@60 + S_subnet4_params = 423, // subnet4_params + S_subnet4_param = 424, // subnet4_param + S_subnet = 425, // subnet + S_426_61 = 426, // $@61 + S_subnet_4o6_interface = 427, // subnet_4o6_interface + S_428_62 = 428, // $@62 + S_subnet_4o6_interface_id = 429, // subnet_4o6_interface_id + S_430_63 = 430, // $@63 + S_subnet_4o6_subnet = 431, // subnet_4o6_subnet + S_432_64 = 432, // $@64 + S_interface = 433, // interface + S_434_65 = 434, // $@65 + S_client_class = 435, // client_class + S_436_66 = 436, // $@66 + S_require_client_classes = 437, // require_client_classes + S_438_67 = 438, // $@67 + S_reservations_global = 439, // reservations_global + S_reservations_in_subnet = 440, // reservations_in_subnet + S_reservations_out_of_pool = 441, // reservations_out_of_pool + S_id = 442, // id + S_shared_networks = 443, // shared_networks + S_444_68 = 444, // $@68 + S_shared_networks_content = 445, // shared_networks_content + S_shared_networks_list = 446, // shared_networks_list + S_shared_network = 447, // shared_network + S_448_69 = 448, // $@69 + S_shared_network_params = 449, // shared_network_params + S_shared_network_param = 450, // shared_network_param + S_option_def_list = 451, // option_def_list + S_452_70 = 452, // $@70 + S_sub_option_def_list = 453, // sub_option_def_list + S_454_71 = 454, // $@71 + S_option_def_list_content = 455, // option_def_list_content + S_not_empty_option_def_list = 456, // not_empty_option_def_list + S_option_def_entry = 457, // option_def_entry + S_458_72 = 458, // $@72 + S_sub_option_def = 459, // sub_option_def + S_460_73 = 460, // $@73 + S_option_def_params = 461, // option_def_params + S_not_empty_option_def_params = 462, // not_empty_option_def_params + S_option_def_param = 463, // option_def_param + S_option_def_name = 464, // option_def_name + S_code = 465, // code + S_option_def_code = 466, // option_def_code + S_option_def_type = 467, // option_def_type S_468_74 = 468, // $@74 - S_option_def_params = 469, // option_def_params - S_not_empty_option_def_params = 470, // not_empty_option_def_params - S_option_def_param = 471, // option_def_param - S_option_def_name = 472, // option_def_name - S_code = 473, // code - S_option_def_code = 474, // option_def_code - S_option_def_type = 475, // option_def_type - S_476_75 = 476, // $@75 - S_option_def_record_types = 477, // option_def_record_types - S_478_76 = 478, // $@76 - S_space = 479, // space - S_480_77 = 480, // $@77 - S_option_def_space = 481, // option_def_space - S_option_def_encapsulate = 482, // option_def_encapsulate - S_483_78 = 483, // $@78 - S_option_def_array = 484, // option_def_array - S_option_data_list = 485, // option_data_list - S_486_79 = 486, // $@79 - S_option_data_list_content = 487, // option_data_list_content - S_not_empty_option_data_list = 488, // not_empty_option_data_list - S_option_data_entry = 489, // option_data_entry - S_490_80 = 490, // $@80 - S_sub_option_data = 491, // sub_option_data - S_492_81 = 492, // $@81 - S_option_data_params = 493, // option_data_params - S_not_empty_option_data_params = 494, // not_empty_option_data_params - S_option_data_param = 495, // option_data_param - S_option_data_name = 496, // option_data_name - S_option_data_data = 497, // option_data_data - S_498_82 = 498, // $@82 - S_option_data_code = 499, // option_data_code - S_option_data_space = 500, // option_data_space - S_option_data_csv_format = 501, // option_data_csv_format - S_option_data_always_send = 502, // option_data_always_send - S_option_data_never_send = 503, // option_data_never_send - S_pools_list = 504, // pools_list - S_505_83 = 505, // $@83 - S_pools_list_content = 506, // pools_list_content - S_not_empty_pools_list = 507, // not_empty_pools_list - S_pool_list_entry = 508, // pool_list_entry - S_509_84 = 509, // $@84 - S_sub_pool4 = 510, // sub_pool4 - S_511_85 = 511, // $@85 - S_pool_params = 512, // pool_params - S_pool_param = 513, // pool_param - S_pool_entry = 514, // pool_entry - S_515_86 = 515, // $@86 - S_pool_id = 516, // pool_id - S_user_context = 517, // user_context - S_518_87 = 518, // $@87 - S_comment = 519, // comment - S_520_88 = 520, // $@88 - S_reservations = 521, // reservations - S_522_89 = 522, // $@89 - S_reservations_list = 523, // reservations_list - S_not_empty_reservations_list = 524, // not_empty_reservations_list - S_reservation = 525, // reservation - S_526_90 = 526, // $@90 - S_sub_reservation = 527, // sub_reservation - S_528_91 = 528, // $@91 - S_reservation_params = 529, // reservation_params - S_not_empty_reservation_params = 530, // not_empty_reservation_params - S_reservation_param = 531, // reservation_param - S_next_server = 532, // next_server - S_533_92 = 533, // $@92 - S_server_hostname = 534, // server_hostname - S_535_93 = 535, // $@93 - S_boot_file_name = 536, // boot_file_name - S_537_94 = 537, // $@94 - S_ip_address = 538, // ip_address - S_539_95 = 539, // $@95 - S_duid = 540, // duid - S_541_96 = 541, // $@96 - S_hw_address = 542, // hw_address - S_543_97 = 543, // $@97 - S_client_id_value = 544, // client_id_value - S_545_98 = 545, // $@98 - S_circuit_id_value = 546, // circuit_id_value - S_547_99 = 547, // $@99 - S_flex_id_value = 548, // flex_id_value - S_549_100 = 549, // $@100 - S_hostname = 550, // hostname - S_551_101 = 551, // $@101 - S_reservation_client_classes = 552, // reservation_client_classes - S_553_102 = 553, // $@102 - S_relay = 554, // relay - S_555_103 = 555, // $@103 - S_relay_map = 556, // relay_map - S_ip_addresses = 557, // ip_addresses - S_558_104 = 558, // $@104 - S_client_classes = 559, // client_classes - S_560_105 = 560, // $@105 - S_client_classes_list = 561, // client_classes_list - S_client_class_entry = 562, // client_class_entry - S_563_106 = 563, // $@106 - S_client_class_params = 564, // client_class_params - S_not_empty_client_class_params = 565, // not_empty_client_class_params - S_client_class_param = 566, // client_class_param - S_client_class_name = 567, // client_class_name - S_client_class_test = 568, // client_class_test - S_569_107 = 569, // $@107 - S_client_class_template_test = 570, // client_class_template_test - S_571_108 = 571, // $@108 - S_only_if_required = 572, // only_if_required - S_dhcp4o6_port = 573, // dhcp4o6_port - S_control_socket = 574, // control_socket - S_575_109 = 575, // $@109 - S_control_socket_params = 576, // control_socket_params - S_control_socket_param = 577, // control_socket_param - S_control_socket_type = 578, // control_socket_type - S_579_110 = 579, // $@110 - S_control_socket_name = 580, // control_socket_name - S_581_111 = 581, // $@111 - S_dhcp_queue_control = 582, // dhcp_queue_control - S_583_112 = 583, // $@112 - S_queue_control_params = 584, // queue_control_params - S_queue_control_param = 585, // queue_control_param - S_enable_queue = 586, // enable_queue - S_queue_type = 587, // queue_type - S_588_113 = 588, // $@113 - S_capacity = 589, // capacity - S_arbitrary_map_entry = 590, // arbitrary_map_entry - S_591_114 = 591, // $@114 - S_dhcp_ddns = 592, // dhcp_ddns - S_593_115 = 593, // $@115 - S_sub_dhcp_ddns = 594, // sub_dhcp_ddns - S_595_116 = 595, // $@116 - S_dhcp_ddns_params = 596, // dhcp_ddns_params - S_dhcp_ddns_param = 597, // dhcp_ddns_param - S_enable_updates = 598, // enable_updates - S_server_ip = 599, // server_ip - S_600_117 = 600, // $@117 - S_server_port = 601, // server_port - S_sender_ip = 602, // sender_ip - S_603_118 = 603, // $@118 - S_sender_port = 604, // sender_port - S_max_queue_size = 605, // max_queue_size - S_ncr_protocol = 606, // ncr_protocol - S_607_119 = 607, // $@119 - S_ncr_protocol_value = 608, // ncr_protocol_value - S_ncr_format = 609, // ncr_format - S_610_120 = 610, // $@120 - S_config_control = 611, // config_control - S_612_121 = 612, // $@121 - S_sub_config_control = 613, // sub_config_control - S_614_122 = 614, // $@122 - S_config_control_params = 615, // config_control_params - S_config_control_param = 616, // config_control_param - S_config_databases = 617, // config_databases - S_618_123 = 618, // $@123 - S_config_fetch_wait_time = 619, // config_fetch_wait_time - S_loggers = 620, // loggers - S_621_124 = 621, // $@124 - S_loggers_entries = 622, // loggers_entries - S_logger_entry = 623, // logger_entry - S_624_125 = 624, // $@125 - S_logger_params = 625, // logger_params - S_logger_param = 626, // logger_param - S_debuglevel = 627, // debuglevel - S_severity = 628, // severity - S_629_126 = 629, // $@126 - S_output_options_list = 630, // output_options_list - S_631_127 = 631, // $@127 - S_output_options_list_content = 632, // output_options_list_content - S_output_entry = 633, // output_entry - S_634_128 = 634, // $@128 - S_output_params_list = 635, // output_params_list - S_output_params = 636, // output_params - S_output = 637, // output - S_638_129 = 638, // $@129 - S_flush = 639, // flush - S_maxsize = 640, // maxsize - S_maxver = 641, // maxver - S_pattern = 642, // pattern - S_643_130 = 643, // $@130 - S_compatibility = 644, // compatibility - S_645_131 = 645, // $@131 - S_compatibility_params = 646, // compatibility_params - S_compatibility_param = 647, // compatibility_param - S_lenient_option_parsing = 648, // lenient_option_parsing - S_ignore_dhcp_server_identifier = 649, // ignore_dhcp_server_identifier - S_ignore_rai_link_selection = 650, // ignore_rai_link_selection - S_exclude_first_last_24 = 651 // exclude_first_last_24 + S_option_def_record_types = 469, // option_def_record_types + S_470_75 = 470, // $@75 + S_space = 471, // space + S_472_76 = 472, // $@76 + S_option_def_space = 473, // option_def_space + S_option_def_encapsulate = 474, // option_def_encapsulate + S_475_77 = 475, // $@77 + S_option_def_array = 476, // option_def_array + S_option_data_list = 477, // option_data_list + S_478_78 = 478, // $@78 + S_option_data_list_content = 479, // option_data_list_content + S_not_empty_option_data_list = 480, // not_empty_option_data_list + S_option_data_entry = 481, // option_data_entry + S_482_79 = 482, // $@79 + S_sub_option_data = 483, // sub_option_data + S_484_80 = 484, // $@80 + S_option_data_params = 485, // option_data_params + S_not_empty_option_data_params = 486, // not_empty_option_data_params + S_option_data_param = 487, // option_data_param + S_option_data_name = 488, // option_data_name + S_option_data_data = 489, // option_data_data + S_490_81 = 490, // $@81 + S_option_data_code = 491, // option_data_code + S_option_data_space = 492, // option_data_space + S_option_data_csv_format = 493, // option_data_csv_format + S_option_data_always_send = 494, // option_data_always_send + S_option_data_never_send = 495, // option_data_never_send + S_pools_list = 496, // pools_list + S_497_82 = 497, // $@82 + S_pools_list_content = 498, // pools_list_content + S_not_empty_pools_list = 499, // not_empty_pools_list + S_pool_list_entry = 500, // pool_list_entry + S_501_83 = 501, // $@83 + S_sub_pool4 = 502, // sub_pool4 + S_503_84 = 503, // $@84 + S_pool_params = 504, // pool_params + S_pool_param = 505, // pool_param + S_pool_entry = 506, // pool_entry + S_507_85 = 507, // $@85 + S_pool_id = 508, // pool_id + S_user_context = 509, // user_context + S_510_86 = 510, // $@86 + S_comment = 511, // comment + S_512_87 = 512, // $@87 + S_reservations = 513, // reservations + S_514_88 = 514, // $@88 + S_reservations_list = 515, // reservations_list + S_not_empty_reservations_list = 516, // not_empty_reservations_list + S_reservation = 517, // reservation + S_518_89 = 518, // $@89 + S_sub_reservation = 519, // sub_reservation + S_520_90 = 520, // $@90 + S_reservation_params = 521, // reservation_params + S_not_empty_reservation_params = 522, // not_empty_reservation_params + S_reservation_param = 523, // reservation_param + S_next_server = 524, // next_server + S_525_91 = 525, // $@91 + S_server_hostname = 526, // server_hostname + S_527_92 = 527, // $@92 + S_boot_file_name = 528, // boot_file_name + S_529_93 = 529, // $@93 + S_ip_address = 530, // ip_address + S_531_94 = 531, // $@94 + S_duid = 532, // duid + S_533_95 = 533, // $@95 + S_hw_address = 534, // hw_address + S_535_96 = 535, // $@96 + S_client_id_value = 536, // client_id_value + S_537_97 = 537, // $@97 + S_circuit_id_value = 538, // circuit_id_value + S_539_98 = 539, // $@98 + S_flex_id_value = 540, // flex_id_value + S_541_99 = 541, // $@99 + S_hostname = 542, // hostname + S_543_100 = 543, // $@100 + S_reservation_client_classes = 544, // reservation_client_classes + S_545_101 = 545, // $@101 + S_relay = 546, // relay + S_547_102 = 547, // $@102 + S_relay_map = 548, // relay_map + S_ip_addresses = 549, // ip_addresses + S_550_103 = 550, // $@103 + S_client_classes = 551, // client_classes + S_552_104 = 552, // $@104 + S_client_classes_list = 553, // client_classes_list + S_client_class_entry = 554, // client_class_entry + S_555_105 = 555, // $@105 + S_client_class_params = 556, // client_class_params + S_not_empty_client_class_params = 557, // not_empty_client_class_params + S_client_class_param = 558, // client_class_param + S_client_class_name = 559, // client_class_name + S_client_class_test = 560, // client_class_test + S_561_106 = 561, // $@106 + S_client_class_template_test = 562, // client_class_template_test + S_563_107 = 563, // $@107 + S_only_if_required = 564, // only_if_required + S_dhcp4o6_port = 565, // dhcp4o6_port + S_control_socket = 566, // control_socket + S_567_108 = 567, // $@108 + S_control_socket_params = 568, // control_socket_params + S_control_socket_param = 569, // control_socket_param + S_control_socket_type = 570, // control_socket_type + S_571_109 = 571, // $@109 + S_control_socket_name = 572, // control_socket_name + S_573_110 = 573, // $@110 + S_dhcp_queue_control = 574, // dhcp_queue_control + S_575_111 = 575, // $@111 + S_queue_control_params = 576, // queue_control_params + S_queue_control_param = 577, // queue_control_param + S_enable_queue = 578, // enable_queue + S_queue_type = 579, // queue_type + S_580_112 = 580, // $@112 + S_capacity = 581, // capacity + S_arbitrary_map_entry = 582, // arbitrary_map_entry + S_583_113 = 583, // $@113 + S_dhcp_ddns = 584, // dhcp_ddns + S_585_114 = 585, // $@114 + S_sub_dhcp_ddns = 586, // sub_dhcp_ddns + S_587_115 = 587, // $@115 + S_dhcp_ddns_params = 588, // dhcp_ddns_params + S_dhcp_ddns_param = 589, // dhcp_ddns_param + S_enable_updates = 590, // enable_updates + S_server_ip = 591, // server_ip + S_592_116 = 592, // $@116 + S_server_port = 593, // server_port + S_sender_ip = 594, // sender_ip + S_595_117 = 595, // $@117 + S_sender_port = 596, // sender_port + S_max_queue_size = 597, // max_queue_size + S_ncr_protocol = 598, // ncr_protocol + S_599_118 = 599, // $@118 + S_ncr_protocol_value = 600, // ncr_protocol_value + S_ncr_format = 601, // ncr_format + S_602_119 = 602, // $@119 + S_config_control = 603, // config_control + S_604_120 = 604, // $@120 + S_sub_config_control = 605, // sub_config_control + S_606_121 = 606, // $@121 + S_config_control_params = 607, // config_control_params + S_config_control_param = 608, // config_control_param + S_config_databases = 609, // config_databases + S_610_122 = 610, // $@122 + S_config_fetch_wait_time = 611, // config_fetch_wait_time + S_loggers = 612, // loggers + S_613_123 = 613, // $@123 + S_loggers_entries = 614, // loggers_entries + S_logger_entry = 615, // logger_entry + S_616_124 = 616, // $@124 + S_logger_params = 617, // logger_params + S_logger_param = 618, // logger_param + S_debuglevel = 619, // debuglevel + S_severity = 620, // severity + S_621_125 = 621, // $@125 + S_output_options_list = 622, // output_options_list + S_623_126 = 623, // $@126 + S_output_options_list_content = 624, // output_options_list_content + S_output_entry = 625, // output_entry + S_626_127 = 626, // $@127 + S_output_params_list = 627, // output_params_list + S_output_params = 628, // output_params + S_output = 629, // output + S_630_128 = 630, // $@128 + S_flush = 631, // flush + S_maxsize = 632, // maxsize + S_maxver = 633, // maxver + S_pattern = 634, // pattern + S_635_129 = 635, // $@129 + S_compatibility = 636, // compatibility + S_637_130 = 637, // $@130 + S_compatibility_params = 638, // compatibility_params + S_compatibility_param = 639, // compatibility_param + S_lenient_option_parsing = 640, // lenient_option_parsing + S_ignore_dhcp_server_identifier = 641, // ignore_dhcp_server_identifier + S_ignore_rai_link_selection = 642, // ignore_rai_link_selection + S_exclude_first_last_24 = 643 // exclude_first_last_24 }; }; @@ -1432,7 +1418,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (std::move (that.value)); break; @@ -1578,7 +1563,6 @@ switch (yykind) case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.template destroy< ElementPtr > (); break; @@ -3626,81 +3610,6 @@ switch (yykind) return symbol_type (token::TOKEN_ID, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_RESERVATION_MODE (location_type l) - { - return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l)); - } -#else - static - symbol_type - make_RESERVATION_MODE (const location_type& l) - { - return symbol_type (token::TOKEN_RESERVATION_MODE, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_DISABLED (location_type l) - { - return symbol_type (token::TOKEN_DISABLED, std::move (l)); - } -#else - static - symbol_type - make_DISABLED (const location_type& l) - { - return symbol_type (token::TOKEN_DISABLED, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_OUT_OF_POOL (location_type l) - { - return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l)); - } -#else - static - symbol_type - make_OUT_OF_POOL (const location_type& l) - { - return symbol_type (token::TOKEN_OUT_OF_POOL, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_GLOBAL (location_type l) - { - return symbol_type (token::TOKEN_GLOBAL, std::move (l)); - } -#else - static - symbol_type - make_GLOBAL (const location_type& l) - { - return symbol_type (token::TOKEN_GLOBAL, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_ALL (location_type l) - { - return symbol_type (token::TOKEN_ALL, std::move (l)); - } -#else - static - symbol_type - make_ALL (const location_type& l) - { - return symbol_type (token::TOKEN_ALL, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5441,8 +5350,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1335, ///< Last index in yytable_. - yynnts_ = 431, ///< Number of nonterminal symbols. + yylast_ = 1310, ///< Last index in yytable_. + yynnts_ = 428, ///< Number of nonterminal symbols. yyfinal_ = 28 ///< Termination state number. }; @@ -5509,10 +5418,10 @@ switch (yykind) 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220 + 215 }; // Last valid token kind. - const int code_max = 475; + const int code_max = 470; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5539,7 +5448,6 @@ switch (yykind) case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.copy< ElementPtr > (YY_MOVE (that.value)); break; @@ -5599,7 +5507,6 @@ switch (yykind) case symbol_kind::S_outbound_interface_value: // outbound_interface_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (s.value)); break; @@ -5687,7 +5594,7 @@ switch (yykind) #line 14 "dhcp4_parser.yy" } } // isc::dhcp -#line 5691 "dhcp4_parser.h" +#line 5598 "dhcp4_parser.h" diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 38ee2f3f1a..6dd87afdc7 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ (yy_c_buf_p) = yy_cp; /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ -#define YY_NUM_RULES 232 -#define YY_END_OF_BUFFER 233 +#define YY_NUM_RULES 226 +#define YY_END_OF_BUFFER 227 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,45 +700,45 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[2236] = +static const flex_int16_t yy_accept[2202] = { 0, - 225, 225, 0, 0, 0, 0, 0, 0, 0, 0, - 233, 231, 10, 11, 231, 1, 225, 222, 225, 225, - 231, 224, 223, 231, 231, 231, 231, 231, 218, 219, - 231, 231, 231, 220, 221, 5, 5, 5, 231, 231, - 231, 10, 11, 0, 0, 213, 0, 0, 0, 0, + 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, + 227, 225, 10, 11, 225, 1, 219, 216, 219, 219, + 225, 218, 217, 225, 225, 225, 225, 225, 212, 213, + 225, 225, 225, 214, 215, 5, 5, 5, 225, 225, + 225, 10, 11, 0, 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 225, 225, 0, 224, 225, 3, 2, 6, 0, 225, - 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 219, + 219, 0, 218, 219, 3, 2, 6, 0, 219, 0, + 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 216, 0, 0, + 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 0, 0, 0, + 0, 0, 8, 0, 0, 0, 176, 0, 0, 177, - 182, 0, 0, 183, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 217, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 209, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, + 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 224, 222, 0, 221, 220, 0, 0, + 0, 0, 0, 0, 175, 0, 0, 23, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 230, 228, 0, 227, 226, 0, 0, 0, 0, 0, - 0, 181, 0, 0, 23, 0, 22, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -746,208 +746,205 @@ static const flex_int16_t yy_accept[2236] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 229, 226, 0, 0, 0, 0, - 0, 24, 0, 0, 26, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 139, 0, 0, 0, - 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, - 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 223, 220, 0, 0, 0, 0, 0, 24, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, + 0, 111, 0, 0, 0, 0, 0, 0, 0, 161, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 121, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 121, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 161, 0, 186, - 0, 50, 0, 54, 0, 0, 0, 0, 0, 0, + 0, 0, 155, 0, 180, 0, 50, 0, 54, 0, + 0, 0, 0, 0, 0, 32, 29, 28, 0, 0, + 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, - 32, 29, 28, 0, 0, 0, 0, 0, 175, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 152, 0, 0, 0, 0, - 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, - 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 30, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, + 0, 0, 0, 0, 0, 0, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 52, 0, 0, 27, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 170, 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, 134, 0, 0, 0, + 7, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 170, 0, 0, 0, 0, + 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 179, 148, 0, 0, 0, 0, 0, 0, - 0, 153, 51, 0, 0, 0, 0, 0, 0, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, - 0, 0, 58, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 206, 0, + + 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 173, 142, 0, 0, 0, 0, 0, 0, 0, 147, + 51, 0, 0, 0, 0, 0, 0, 65, 0, 0, + 0, 0, 0, 0, 0, 0, 149, 0, 0, 58, + 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 169, - 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 55, 0, 115, 0, 0, 0, - 166, 0, 0, 0, 0, 49, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 200, 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, - 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, - 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, + 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, + 0, 115, 0, 0, 0, 160, 0, 0, 0, 0, + 49, 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, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 87, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, 180, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 201, 0, 0, 0, 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, - 0, 0, 0, 0, 172, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 168, 184, 0, 35, 0, + 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, + 174, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 19, 0, 113, 0, - 0, 108, 0, 0, 0, 0, 178, 0, 0, 53, - 0, 117, 205, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 85, 0, - 0, 0, 0, 0, 0, 0, 144, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 166, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, - 0, 112, 0, 0, 0, 75, 0, 0, 0, 0, + 178, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 19, 0, 113, 0, 0, 108, 0, 0, 0, 172, + 0, 0, 53, 0, 117, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 174, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 85, 0, 0, 0, 0, 0, 0, 0, 138, + 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 112, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 109, 133, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 82, 0, 0, - 0, 0, 0, 16, 0, 14, 0, 0, 202, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 25, 0, 0, 0, 160, + 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, + 0, 0, 0, 0, 16, 0, 14, 0, 0, 196, + 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 127, 0, 165, 0, 41, - 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 0, 88, - 0, 129, 61, 83, 0, 0, 173, 0, 0, 0, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 72, 0, 123, 0, 0, 0, - 0, 0, 0, 0, 147, 0, 0, 0, 211, 0, + 0, 189, 0, 0, 198, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 127, 0, 159, 0, + 41, 0, 0, 59, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, + 88, 0, 129, 61, 83, 0, 0, 167, 0, 0, + 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 72, 0, 123, 0, 0, 0, + 0, 0, 0, 0, 141, 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 0, 0, 0, 0, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 156, 0, + 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, + 152, 46, 0, 0, 0, 194, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 40, 0, 0, 0, 0, 0, 0, 0, 0, 162, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 158, 46, 0, 0, 0, 200, 33, 0, 0, + 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 44, 0, 0, 0, 43, 0, 0, 17, 0, + 0, 0, 71, 0, 0, 0, 0, 0, 144, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 44, 0, 0, 0, 43, 0, 0, 17, - 0, 0, 0, 71, 0, 0, 0, 0, 0, 150, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, - 146, 0, 0, 0, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, - 0, 0, 0, 0, 0, 177, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 107, 0, - 66, 0, 0, 0, 0, 0, 100, 0, 0, 31, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 79, 0, 0, 0, 0, 0, 140, 0, + 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, + 0, 0, 0, 171, 0, 0, 0, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 193, 0, 0, 0, 0, 163, 0, 0, 0, 0, - 0, 0, 0, 130, 0, 0, 0, 0, 69, 0, - 67, 0, 0, 0, 0, 63, 198, 0, 0, 0, + 0, 0, 0, 0, 0, 107, 0, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, + 0, 0, 0, 100, 0, 0, 31, 0, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 20, 34, 0, 0, 0, 0, 0, - 0, 0, 0, 199, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 157, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 69, 0, 67, 0, 0, 0, + 0, 63, 192, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 91, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, + 34, 0, 0, 0, 0, 0, 0, 0, 0, 193, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 192, 0, 81, - 0, 80, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 101, 0, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 119, 0, 0, 0, 191, - 0, 0, 0, 0, 0, 70, 0, 86, 0, 64, - 0, 0, 136, 0, 0, 0, 0, 0, 0, 0, - 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 97, 0, 0, 0, 0, 0, 42, 0, + 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 186, 0, 81, 0, 80, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 101, 0, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - + 0, 119, 0, 0, 0, 185, 0, 0, 0, 0, + 0, 70, 0, 86, 0, 64, 0, 0, 130, 0, + + 0, 0, 0, 0, 0, 0, 0, 106, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, + 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 103, 48, 0, 0, 0, 96, 0, 0, 0, - 0, 197, 0, 0, 0, 0, 209, 212, 78, 77, - 0, 141, 159, 137, 0, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 92, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 0, - 194, 0, 0, 94, 0, 84, 0, 0, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 188, 0, 0, 21, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 93, 0, 0, 0, 0, 39, 37, - 0, 0, 0, 0, 98, 0, 0, 142, 0, 90, - 0, 99, 0, 0, 0, 0, 0, 0, 0, 89, - 0, 190, 38, 208, 0 + 0, 0, 0, 0, 0, 0, 0, 103, 48, 0, + 0, 0, 96, 0, 0, 0, 0, 191, 0, 0, + 0, 0, 203, 206, 78, 77, 0, 135, 153, 131, + + 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, + 92, 0, 0, 0, 0, 0, 0, 0, 0, 183, + 0, 0, 0, 0, 0, 0, 188, 0, 0, 94, + 0, 84, 0, 0, 0, 0, 0, 0, 132, 0, + 0, 0, 0, 0, 0, 0, 0, 182, 0, 0, + 21, 204, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 39, 37, 0, 0, 0, 0, + 98, 0, 0, 136, 0, 90, 0, 99, 0, 0, + 0, 0, 0, 0, 0, 89, 0, 184, 38, 202, + + 0 } ; static const YY_CHAR yy_ec[256] = @@ -994,296 +991,292 @@ static const YY_CHAR yy_meta[77] = 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[2244] = +static const flex_int16_t yy_base[2210] = { 0, 0, 75, 21, 28, 39, 47, 53, 61, 95, 103, - 2684, 2685, 31, 2680, 151, 0, 216, 2685, 223, 230, - 13, 237, 2685, 2660, 124, 17, 4, 34, 2685, 2685, - 23, 43, 64, 2685, 2685, 2685, 56, 2668, 2618, 0, - 2658, 106, 2675, 2, 268, 2685, 85, 90, 2621, 2642, - 98, 77, 2642, 235, 231, 97, 207, 298, 226, 312, - 293, 62, 254, 2614, 203, 223, 2620, 252, 321, 336, - 289, 339, 2603, 21, 344, 394, 354, 2622, 330, 0, - 408, 422, 448, 456, 462, 2685, 0, 2685, 438, 470, - 240, 256, 189, 280, 321, 278, 2685, 2619, 2663, 2685, - - 266, 2685, 484, 313, 329, 2617, 2661, 343, 17, 389, - 357, 2655, 337, 364, 347, 388, 2659, 0, 548, 372, - 2598, 431, 2597, 2598, 2604, 368, 2590, 2591, 2596, 76, - 2606, 2589, 2598, 2588, 216, 430, 63, 2590, 433, 2579, - 2640, 16, 2582, 2638, 2575, 443, 2596, 2596, 2590, 209, - 2583, 2581, 2582, 2574, 2579, 2573, 376, 2584, 447, 2569, - 2568, 450, 2624, 2568, 436, 2580, 2579, 2567, 518, 2568, - 442, 2580, 2577, 2578, 457, 2576, 2614, 2613, 475, 381, - 2557, 2561, 473, 2557, 2549, 2566, 2558, 2560, 0, 476, - 477, 391, 481, 489, 494, 2556, 2685, 502, 506, 2551, - - 2685, 488, 494, 2685, 2608, 505, 508, 2607, 508, 2606, - 526, 2605, 2685, 2685, 589, 518, 521, 2561, 2553, 2557, - 2558, 2538, 2549, 2551, 2550, 518, 556, 2591, 2552, 2533, - 2530, 2538, 2544, 2532, 2546, 2542, 2533, 2542, 2542, 2537, - 2529, 2531, 2534, 2514, 2518, 2534, 2531, 2523, 2513, 2516, - 2530, 2685, 2516, 2524, 82, 2565, 2508, 2517, 2562, 2506, - 2516, 2559, 525, 2515, 2557, 2499, 2501, 2512, 2553, 566, - 2557, 2508, 2488, 2503, 530, 2500, 528, 2491, 2489, 547, - 2489, 2495, 2486, 2485, 2498, 2482, 2493, 2497, 2496, 2490, - 560, 2497, 2492, 2475, 2490, 2476, 2484, 2488, 2469, 2485, - - 2471, 2477, 2484, 2466, 214, 2471, 2468, 2467, 534, 2466, - 2461, 2475, 2474, 581, 2473, 2476, 2458, 2466, 2454, 582, - 2685, 2685, 594, 2685, 2685, 2452, 578, 593, 2502, 600, - 2513, 2685, 589, 600, 2685, 2512, 2685, 2506, 643, 2685, - 2465, 589, 2442, 2461, 2444, 2461, 2500, 2457, 2447, 2502, - 2454, 2457, 2448, 2451, 2437, 2448, 578, 2490, 2445, 2442, - 2443, 619, 2447, 2490, 2422, 2434, 2429, 2426, 2422, 2424, - 2427, 2477, 2431, 2437, 2474, 2417, 638, 2430, 2430, 2413, - 2414, 2427, 2425, 2423, 2423, 2422, 2417, 2424, 2419, 2404, - 608, 2413, 2416, 2411, 567, 2410, 2406, 2459, 600, 609, - - 2685, 2415, 2452, 2399, 2398, 2391, 2406, 2397, 2404, 2385, - 2402, 2394, 2390, 2395, 639, 2445, 2395, 470, 2396, 2396, - 2394, 50, 2384, 2396, 566, 2371, 2372, 2385, 2375, 2367, - 2371, 2385, 623, 2371, 2383, 2382, 2381, 2376, 2421, 2378, - 2377, 2376, 2375, 2358, 2366, 2419, 2375, 2417, 2354, 2415, - 2354, 671, 2367, 2365, 2685, 2685, 2365, 641, 2405, 2409, - 2408, 2685, 2407, 636, 2685, 647, 698, 2363, 650, 2405, - 2399, 2349, 2351, 2353, 2340, 2337, 2685, 2342, 2335, 2347, - 2350, 2337, 2336, 2685, 2346, 676, 2337, 2334, 2346, 633, - 2331, 2333, 2685, 2381, 2338, 2323, 2325, 2336, 2334, 2334, - - 2328, 680, 2324, 2317, 2371, 2685, 2315, 2331, 2368, 2372, - 2325, 2319, 2321, 2322, 2306, 2315, 2360, 2308, 2307, 2302, - 2301, 2303, 2299, 2295, 657, 2314, 2288, 2295, 2300, 2293, - 2309, 2346, 2350, 2685, 2292, 2288, 693, 2296, 2295, 2289, - 2296, 2281, 2280, 2294, 2294, 2282, 2278, 2283, 2279, 2274, - 2685, 2283, 2333, 2685, 2272, 2271, 2264, 2324, 2323, 2265, - 2264, 2269, 2278, 2272, 2266, 2275, 696, 2315, 2259, 2254, - 2312, 2249, 2255, 690, 2269, 2262, 2266, 2249, 2310, 2248, - 2248, 2302, 2244, 2245, 2244, 2242, 2259, 2685, 2255, 2685, - 2295, 2685, 2243, 2685, 2253, 2292, 2291, 2248, 2294, 711, - - 2685, 2685, 2685, 678, 655, 691, 2231, 724, 2685, 672, - 2249, 2229, 2239, 2284, 2283, 2225, 2235, 2280, 2222, 2229, - 2222, 2230, 2223, 2232, 2214, 2214, 2229, 2228, 2212, 620, - 2226, 2225, 2209, 2224, 2206, 2256, 2220, 2217, 2260, 2201, - 2203, 2215, 2215, 2213, 2213, 2685, 2198, 2257, 2209, 2201, - 2207, 2198, 2206, 2685, 2191, 2202, 2206, 2188, 2200, 2192, - 539, 2183, 2182, 2176, 2181, 2178, 2193, 2192, 2193, 2172, - 2182, 2188, 2234, 2186, 2185, 2177, 2168, 2685, 2169, 2171, - 2685, 2166, 2172, 2177, 2219, 2218, 726, 2217, 2159, 2215, - 2159, 2162, 2160, 2162, 2153, 2168, 2685, 2166, 2152, 748, - - 2149, 2165, 2162, 2157, 2153, 2201, 2150, 2157, 2198, 2685, - 2141, 2139, 2153, 2156, 2141, 2192, 2191, 2135, 2189, 2146, - 2130, 2186, 2185, 2685, 2127, 2141, 2140, 728, 2141, 2140, - 2137, 2121, 2177, 2138, 2129, 179, 201, 211, 2685, 2685, - 693, 728, 728, 716, 735, 294, 310, 420, 609, 651, - 688, 703, 706, 716, 762, 719, 719, 761, 764, 715, - 711, 716, 717, 727, 732, 719, 724, 729, 738, 738, - 722, 782, 741, 733, 743, 786, 746, 739, 739, 742, - 746, 753, 795, 755, 803, 757, 2685, 760, 755, 746, - 761, 766, 763, 760, 767, 766, 754, 768, 766, 774, - - 813, 772, 820, 821, 762, 775, 761, 771, 821, 776, - 829, 2685, 830, 783, 781, 783, 779, 773, 789, 837, - 833, 793, 782, 2685, 784, 785, 784, 797, 787, 800, - 847, 803, 788, 850, 851, 791, 806, 2685, 800, 794, - 789, 800, 813, 804, 793, 799, 857, 818, 802, 802, - 815, 862, 806, 813, 825, 820, 825, 822, 869, 808, - 820, 821, 828, 819, 816, 2685, 885, 839, 840, 828, - 842, 832, 835, 846, 837, 843, 844, 872, 864, 893, - 894, 868, 841, 855, 837, 844, 858, 906, 860, 857, - 855, 2685, 859, 854, 869, 866, 852, 854, 873, 870, - - 870, 872, 860, 867, 868, 878, 920, 884, 923, 883, - 873, 886, 872, 871, 877, 936, 880, 875, 876, 882, - 898, 881, 938, 890, 940, 2685, 901, 893, 904, 902, - 950, 889, 891, 906, 907, 895, 893, 958, 912, 898, - 904, 902, 2685, 2685, 918, 917, 918, 923, 911, 921, - 923, 2685, 2685, 923, 925, 912, 930, 917, 919, 2685, - 916, 934, 921, 921, 922, 919, 923, 941, 985, 2685, - 943, 987, 2685, 2685, 929, 943, 943, 991, 934, 938, - 932, 948, 996, 946, 936, 937, 933, 943, 947, 958, - 953, 1000, 956, 949, 951, 947, 964, 954, 969, 952, - - 1014, 968, 973, 950, 973, 959, 958, 2685, 965, 967, - 1019, 1020, 969, 982, 1023, 967, 982, 976, 1000, 1010, - 998, 1006, 1018, 1035, 981, 1033, 993, 1036, 2685, 1042, - 982, 1001, 991, 990, 985, 986, 998, 993, 989, 1007, - 999, 994, 995, 1005, 1014, 1053, 1001, 1000, 1021, 1013, - 1008, 1064, 1070, 1024, 1015, 2685, 1029, 1020, 1028, 1030, - 1015, 1031, 1021, 1033, 1030, 1028, 1040, 1024, 1025, 2685, - 1041, 1044, 1027, 1029, 1090, 1030, 1049, 2685, 1048, 1051, - 1038, 1033, 1051, 1039, 1095, 1050, 1046, 1043, 1099, 1045, - 1101, 1060, 1046, 1064, 1064, 1064, 1050, 1065, 1057, 1053, - - 1054, 1070, 1057, 1074, 2685, 1058, 2685, 1067, 1117, 1067, - 2685, 1077, 1070, 1126, 1070, 2685, 1073, 1078, 1125, 1073, - 1074, 1086, 1080, 1078, 1075, 1090, 1138, 1079, 1080, 1141, - 1142, 1083, 1095, 1088, 2685, 1084, 1092, 1090, 1144, 1083, - 1105, 1091, 1092, 1093, 1094, 1100, 1108, 1099, 1113, 1114, - 1115, 1130, 1159, 1142, 1134, 1139, 2685, 1122, 1126, 1109, - 1109, 2685, 1110, 1112, 1123, 1113, 1133, 1132, 1123, 1134, - 1180, 1119, 1131, 1140, 1133, 1137, 1141, 1124, 1141, 1142, - 1133, 1191, 1139, 1143, 2685, 1193, 1139, 1157, 1139, 1139, - 1160, 1157, 1200, 1146, 1164, 1152, 1166, 1159, 1168, 1148, - - 1163, 1170, 1215, 1216, 2685, 1166, 1218, 1172, 1158, 1168, - 1178, 1162, 1182, 1165, 1167, 1167, 1174, 1183, 1171, 1178, - 1173, 1180, 1192, 1236, 1180, 1238, 1180, 1197, 1241, 1188, - 1192, 1193, 1182, 1246, 1194, 1191, 1249, 1196, 1251, 1252, - 1202, 2685, 1191, 1208, 1201, 1192, 1211, 1205, 1200, 1210, - 1206, 1201, 1219, 2685, 1203, 1199, 2685, 2685, 1205, 1268, - 1224, 1205, 1224, 1225, 1227, 1269, 1219, 1276, 1277, 1227, - 1232, 1226, 1224, 1235, 1217, 1222, 1228, 1254, 1267, 1255, - 1269, 1256, 1291, 1243, 1243, 1247, 1295, 1235, 1235, 1238, - 1255, 1250, 1254, 1249, 2685, 1246, 1259, 1243, 1260, 1240, - - 1261, 1251, 1250, 1306, 1256, 2685, 1270, 1272, 1275, 1259, - 1268, 1272, 1277, 1263, 1326, 1276, 1281, 1268, 1282, 1280, - 1277, 1273, 1291, 1292, 1293, 2685, 2685, 1291, 2685, 1293, - 1278, 1289, 1280, 1299, 1292, 1290, 1345, 1299, 1296, 1343, - 1304, 1293, 1300, 1305, 1302, 1308, 2685, 1301, 2685, 1293, - 1357, 2685, 1358, 1302, 1303, 1314, 2685, 1315, 1303, 2685, - 1313, 2685, 2685, 1303, 1304, 1307, 1321, 1326, 1309, 1320, - 1372, 1326, 1369, 1332, 1323, 1377, 1373, 1379, 2685, 1327, - 1324, 1382, 1383, 1337, 1338, 1340, 2685, 2685, 1332, 1327, - 1384, 1330, 1346, 1330, 1342, 1331, 1390, 1373, 1374, 1366, - - 1399, 2685, 1353, 1344, 1355, 2685, 1403, 1337, 1348, 1363, - 1402, 1351, 1362, 1350, 1349, 1365, 1366, 1363, 1410, 1370, - 1372, 1361, 1371, 1377, 1365, 1365, 1425, 1421, 1423, 1429, - 1384, 2685, 1386, 1385, 1387, 1378, 1381, 1390, 1387, 1377, - 1380, 1380, 1442, 1386, 1444, 1388, 1446, 1386, 1391, 1449, - 2685, 1405, 1384, 1399, 1392, 1395, 1408, 1411, 1410, 1408, - 1460, 1411, 2685, 2685, 1407, 1408, 1460, 1404, 1467, 1420, - 1469, 1470, 1471, 1412, 1422, 1474, 1428, 2685, 1420, 1422, - 1478, 1419, 1419, 2685, 1437, 2685, 1434, 1425, 2685, 2685, - 1438, 1421, 1441, 1442, 1428, 1430, 1492, 1439, 1494, 1440, - - 1434, 1461, 1479, 1494, 1480, 2685, 1500, 1448, 1498, 2685, - 1443, 1505, 1452, 1446, 1443, 1446, 1448, 1444, 1507, 1467, - 1509, 1459, 1471, 1474, 1471, 1463, 1466, 1459, 1522, 1469, - 2685, 1468, 1467, 2685, 1469, 1531, 1481, 1472, 1529, 1488, - 1490, 1490, 1487, 1534, 1493, 2685, 1485, 2685, 1486, 2685, - 1496, 1488, 2685, 1540, 1499, 1500, 1497, 1544, 1489, 1505, - 1548, 1507, 1499, 2685, 1496, 1496, 1497, 1498, 1555, 2685, - 1514, 2685, 2685, 2685, 1557, 1501, 2685, 1518, 1503, 1509, - 2685, 1518, 1506, 1570, 1514, 1507, 1512, 1523, 1534, 1527, - 1533, 1523, 1581, 1531, 2685, 1540, 2685, 1537, 1585, 1562, - - 1563, 1569, 1554, 1562, 2685, 1545, 1530, 1593, 2685, 1594, - 1548, 1553, 1535, 1598, 1599, 1540, 1596, 1560, 1553, 1549, - 1542, 1550, 1602, 1557, 1558, 2685, 1548, 1564, 1562, 1619, - 2685, 1554, 1616, 1577, 1577, 1619, 1564, 1569, 1567, 1629, - 1582, 1570, 1632, 1628, 1580, 1635, 1593, 1582, 1576, 1639, - 1578, 1587, 1580, 1594, 1597, 1645, 1646, 1596, 1594, 1587, - 1585, 1646, 1647, 1648, 1608, 1601, 1600, 1600, 1595, 1596, - 2685, 1604, 1610, 1601, 1602, 1601, 1603, 1661, 1604, 2685, - 1600, 1618, 1670, 2685, 1638, 1652, 1651, 1640, 1642, 1676, - 1626, 2685, 2685, 1617, 1628, 1680, 2685, 2685, 1634, 1624, - - 1629, 1627, 1680, 1635, 1640, 1626, 1629, 1646, 1635, 1633, - 1633, 1635, 2685, 1703, 1638, 1647, 1694, 1643, 1706, 1651, - 1662, 1663, 2685, 1711, 1661, 1708, 2685, 1656, 1664, 2685, - 1655, 1670, 1658, 2685, 1668, 1669, 1670, 1722, 1677, 2685, - 2685, 1656, 1674, 1675, 1684, 1666, 1672, 1685, 1684, 1675, - 1728, 1677, 1673, 1678, 1675, 1676, 1734, 1740, 1687, 1742, - 1692, 1682, 1698, 1691, 2685, 1724, 1748, 1730, 1745, 1751, - 2685, 1697, 1753, 1692, 2685, 1694, 1696, 1706, 1753, 1698, - 1713, 1700, 1762, 1716, 1702, 1709, 1709, 1720, 1721, 2685, - 1715, 1710, 1724, 1710, 1722, 2685, 1771, 1719, 1716, 2685, - - 1730, 1717, 1738, 1734, 1736, 1784, 1734, 1731, 1739, 1733, - 2685, 1789, 1743, 1736, 1737, 1742, 1743, 1737, 1742, 1797, - 1754, 1738, 1747, 1796, 1802, 1752, 1804, 1750, 2685, 1744, - 2685, 1751, 1808, 1809, 1806, 1807, 2685, 1789, 1795, 2685, - 1767, 2685, 1811, 1760, 1771, 1772, 1757, 1758, 1766, 1823, - 2685, 1768, 1820, 1821, 1773, 1768, 1786, 1783, 1774, 1787, - 1782, 1779, 1784, 1782, 1837, 1838, 1783, 1782, 1796, 1783, - 2685, 1798, 1799, 1800, 1801, 2685, 1849, 1799, 1804, 1790, - 1798, 1792, 1812, 2685, 1813, 1794, 1795, 1802, 2685, 1804, - 2685, 1818, 1815, 1858, 1816, 2685, 2685, 1820, 1846, 1847, - - 1845, 1808, 1808, 1817, 1824, 1817, 1816, 1827, 1814, 2685, - 1830, 1818, 1821, 1880, 1817, 1836, 1827, 1839, 1832, 1831, - 1840, 1842, 1846, 2685, 2685, 1839, 1830, 1832, 1896, 1836, - 1898, 1837, 1900, 2685, 1839, 1902, 1898, 1857, 1854, 1845, - 1853, 1864, 1851, 1862, 1848, 1846, 1854, 1853, 1858, 1850, - 1895, 1919, 1901, 1921, 1871, 1860, 1873, 1863, 1880, 1879, - 1923, 1864, 1883, 1884, 2685, 1889, 1882, 1934, 1888, 1875, - 1890, 1938, 1892, 1895, 1882, 1891, 1892, 2685, 1944, 2685, - 1896, 2685, 1948, 2685, 1887, 1950, 1894, 1891, 1953, 1898, - 1950, 1951, 1910, 1953, 1896, 1900, 1918, 1962, 1918, 1945, - - 2685, 1941, 2685, 1911, 1905, 1902, 1964, 1927, 1920, 1916, - 1973, 1913, 1915, 1914, 1921, 2685, 1917, 1979, 1920, 2685, - 1925, 1935, 1920, 1928, 1930, 2685, 1931, 2685, 1936, 2685, - 1932, 1942, 2685, 1944, 1945, 1936, 1995, 1936, 1946, 1931, - 1944, 2685, 1946, 1977, 1983, 1955, 1953, 2005, 1943, 1945, - 1942, 1966, 2685, 1953, 1960, 1961, 1964, 1953, 2685, 2010, - 1954, 1962, 1971, 1970, 1973, 1974, 1967, 1962, 1963, 1963, - 1975, 1970, 2685, 1983, 1971, 2027, 1975, 1987, 2015, 2036, - 2037, 1981, 2685, 1981, 1993, 2041, 1987, 1989, 1987, 1988, - 2046, 1996, 1983, 1998, 2003, 2051, 2052, 2053, 2054, 2008, - - 2056, 2057, 2058, 1999, 2003, 2000, 2016, 1999, 2011, 2005, - 2067, 2685, 2685, 2012, 2023, 2070, 2685, 2024, 2009, 2027, - 2018, 2685, 2019, 2033, 2029, 2022, 2685, 2685, 2685, 2685, - 2079, 2685, 2685, 2685, 2019, 2027, 2022, 2078, 2041, 2038, - 2086, 2685, 2082, 2045, 2685, 2089, 2028, 2091, 2031, 2044, - 2043, 2044, 2034, 2685, 2035, 2098, 2048, 2057, 2050, 2097, - 2685, 2048, 2042, 2685, 2054, 2685, 2101, 2107, 2046, 2062, - 2110, 2111, 2685, 2065, 2059, 2052, 2072, 2059, 2071, 2062, - 2066, 2685, 2116, 2062, 2685, 2685, 2062, 2070, 2120, 2077, - 2070, 2082, 2129, 2074, 2074, 2070, 2072, 2134, 2135, 2074, - - 2090, 2075, 2092, 2685, 2140, 2084, 2091, 2143, 2685, 2685, - 2093, 2145, 2090, 2147, 2685, 2095, 2094, 2685, 2095, 2685, - 2089, 2685, 2089, 2106, 2107, 2155, 2098, 2157, 2158, 2685, - 2159, 2685, 2685, 2685, 2685, 2165, 2168, 2171, 2172, 2174, - 2177, 2180, 2183 + 2648, 2649, 31, 2644, 151, 0, 216, 2649, 223, 230, + 13, 237, 2649, 2624, 124, 17, 4, 34, 2649, 2649, + 23, 43, 64, 2649, 2649, 2649, 56, 2632, 2582, 0, + 2622, 106, 2639, 2, 268, 2649, 85, 90, 2585, 2606, + 98, 77, 2606, 235, 231, 97, 207, 298, 226, 294, + 293, 62, 254, 203, 223, 2585, 252, 306, 338, 196, + 319, 2568, 21, 339, 361, 332, 2587, 324, 0, 405, + 421, 435, 445, 450, 2649, 0, 2649, 464, 469, 240, + 256, 244, 323, 336, 272, 2649, 2584, 2628, 2649, 272, + + 2649, 463, 339, 347, 2582, 2626, 337, 17, 372, 372, + 2620, 379, 376, 390, 377, 2624, 0, 527, 428, 2563, + 440, 2562, 2563, 2569, 379, 2555, 2556, 2561, 76, 2571, + 2564, 2554, 422, 438, 63, 434, 2546, 2607, 16, 2549, + 2605, 2542, 180, 2563, 2563, 2557, 424, 2550, 2548, 2549, + 2541, 2546, 2540, 451, 395, 2537, 2536, 444, 2592, 2536, + 362, 2548, 2547, 2535, 497, 2536, 452, 2548, 2545, 2546, + 218, 2544, 2582, 2581, 471, 459, 2525, 2529, 465, 2525, + 2517, 2534, 2526, 2528, 0, 489, 503, 466, 499, 507, + 496, 2524, 2649, 535, 535, 2519, 2649, 501, 527, 2649, + + 2576, 542, 545, 2575, 544, 2574, 538, 2573, 2649, 2649, + 587, 2515, 550, 2528, 2520, 2524, 2525, 2505, 2516, 2518, + 2517, 521, 462, 2558, 2519, 2500, 2497, 2505, 2511, 2499, + 2510, 2501, 2510, 2510, 2505, 2497, 2499, 2502, 2482, 2486, + 2500, 2492, 2482, 2485, 2499, 2649, 2485, 2493, 82, 2534, + 2477, 2486, 2531, 2475, 2485, 2528, 563, 2484, 2526, 2468, + 2470, 2481, 2522, 556, 2478, 2458, 2473, 2465, 2469, 479, + 2460, 2458, 360, 2458, 2464, 2455, 2454, 2467, 2451, 2462, + 2466, 2465, 2459, 527, 2466, 2461, 2444, 2459, 2445, 2453, + 2457, 2438, 2454, 2440, 2446, 2453, 2435, 527, 2440, 2437, + + 2436, 610, 2435, 2430, 2444, 2443, 565, 2442, 2445, 2427, + 2435, 2423, 567, 2649, 2649, 571, 2649, 2649, 2421, 544, + 575, 2471, 592, 2482, 2649, 569, 593, 2649, 2481, 2649, + 2475, 636, 2434, 582, 2411, 2430, 2413, 2430, 2469, 2426, + 2416, 2471, 2423, 2426, 2417, 2420, 2406, 2417, 617, 2459, + 2414, 2411, 2412, 614, 2460, 2392, 2404, 2399, 2396, 2392, + 2394, 2397, 2447, 2401, 2445, 2388, 636, 2401, 2401, 2384, + 2385, 2398, 2396, 2394, 2394, 2393, 2388, 2395, 2390, 2375, + 601, 2384, 2387, 2382, 604, 2381, 2377, 2430, 592, 592, + 2386, 2423, 2370, 2363, 2378, 2369, 2376, 2357, 2374, 2366, + + 2362, 2367, 637, 2417, 2367, 616, 2368, 2368, 2366, 50, + 2356, 2368, 610, 2343, 2344, 2357, 2347, 2339, 2343, 2357, + 622, 2343, 2355, 2354, 2353, 2348, 2393, 2350, 2349, 2348, + 2347, 2330, 2338, 2391, 2347, 2389, 2326, 2387, 2326, 671, + 2339, 2337, 2649, 2649, 2337, 632, 2377, 2381, 2380, 2649, + 2379, 630, 2649, 644, 695, 2335, 657, 2377, 2371, 2321, + 2323, 2325, 2312, 2309, 2649, 2314, 2307, 2319, 2322, 2309, + 2308, 2649, 2318, 674, 2309, 2306, 2318, 629, 2303, 2649, + 2354, 2311, 2296, 2298, 2309, 2307, 2307, 2301, 685, 2291, + 2345, 2649, 2289, 2305, 2342, 2346, 2299, 2293, 2295, 2296, + + 2280, 2289, 2334, 2282, 2281, 2276, 2275, 2277, 2273, 2269, + 639, 2288, 2262, 2269, 2274, 2267, 2283, 2320, 2324, 2649, + 2266, 2262, 694, 2270, 2269, 2263, 2256, 2255, 2269, 2269, + 2257, 2253, 2258, 2254, 2249, 2649, 2258, 2308, 2649, 2247, + 2246, 2239, 2299, 2298, 2240, 2239, 2244, 2253, 2247, 2241, + 2250, 720, 2290, 2234, 2229, 2287, 2224, 2230, 686, 2244, + 2237, 2241, 2224, 2285, 2223, 2223, 2277, 2219, 2220, 2219, + 2217, 2234, 2649, 2230, 2649, 2270, 2649, 2218, 2649, 2228, + 2267, 2266, 2223, 2269, 708, 2649, 2649, 2649, 676, 693, + 670, 2206, 727, 2649, 211, 2224, 2204, 2214, 2259, 2258, + + 2200, 2210, 2255, 2197, 2204, 2197, 2205, 2198, 2207, 2189, + 2189, 2204, 2203, 2187, 650, 2201, 2200, 2184, 2199, 2181, + 2231, 2193, 2236, 2177, 2179, 2191, 2191, 2189, 2189, 2649, + 2174, 2186, 2178, 2184, 2175, 2183, 2649, 2168, 2179, 2183, + 2165, 2177, 2169, 664, 2160, 2159, 2153, 2158, 2155, 2170, + 2169, 2170, 2149, 2159, 2165, 2211, 2163, 2162, 2154, 2145, + 2649, 2146, 2148, 2649, 2143, 2149, 2154, 2196, 747, 2195, + 2137, 2193, 2137, 2140, 2138, 2140, 2131, 2146, 2649, 2144, + 2130, 748, 2127, 2143, 2140, 2135, 2131, 2179, 2128, 2135, + 2176, 2649, 2119, 2117, 2131, 2134, 2119, 2170, 2169, 2113, + + 2167, 2124, 2108, 2164, 2163, 2649, 2105, 2119, 2118, 387, + 2119, 2118, 2115, 2099, 2155, 2116, 2111, 2100, 2102, 2093, + 2649, 2649, 691, 700, 719, 716, 733, 2097, 2092, 2109, + 2101, 2088, 2082, 2094, 2093, 2101, 2145, 2096, 713, 26, + 27, 200, 214, 278, 385, 403, 466, 511, 546, 567, + 592, 631, 623, 721, 709, 704, 715, 758, 710, 711, + 711, 716, 722, 764, 725, 775, 729, 732, 728, 720, + 735, 740, 737, 734, 741, 740, 728, 743, 741, 749, + 788, 747, 796, 797, 738, 751, 737, 747, 797, 752, + 805, 2649, 806, 759, 757, 759, 755, 749, 765, 813, + + 809, 769, 2649, 759, 760, 759, 772, 762, 775, 822, + 778, 763, 825, 826, 766, 781, 2649, 775, 769, 764, + 775, 788, 779, 768, 774, 832, 793, 777, 777, 790, + 837, 781, 788, 800, 795, 800, 797, 844, 783, 795, + 796, 803, 794, 791, 2649, 860, 814, 815, 803, 817, + 807, 810, 821, 812, 818, 819, 847, 839, 868, 869, + 843, 816, 830, 812, 819, 833, 881, 835, 832, 830, + 2649, 834, 829, 844, 841, 827, 829, 848, 845, 845, + 847, 835, 842, 843, 853, 895, 859, 898, 858, 848, + 861, 847, 846, 852, 854, 849, 850, 856, 872, 855, + + 912, 864, 914, 2649, 875, 867, 878, 876, 924, 863, + 865, 880, 881, 869, 867, 932, 886, 872, 878, 876, + 2649, 2649, 892, 891, 892, 897, 885, 895, 897, 2649, + 2649, 897, 899, 886, 904, 891, 893, 2649, 890, 908, + 894, 895, 891, 896, 914, 958, 2649, 916, 960, 2649, + 2649, 902, 916, 916, 964, 907, 911, 905, 921, 969, + 919, 909, 910, 906, 916, 920, 931, 926, 973, 929, + 922, 924, 920, 937, 927, 942, 925, 987, 941, 946, + 923, 946, 932, 931, 2649, 938, 940, 992, 993, 942, + 955, 996, 940, 955, 949, 973, 983, 971, 979, 991, + + 1008, 954, 1006, 966, 1009, 2649, 1015, 955, 974, 964, + 963, 958, 959, 971, 966, 962, 980, 972, 967, 968, + 978, 987, 1026, 974, 973, 994, 986, 981, 1037, 1043, + 997, 988, 1002, 993, 1001, 1003, 988, 1004, 994, 1006, + 1003, 1001, 1013, 997, 998, 2649, 1014, 1017, 1000, 1002, + 1063, 1003, 1022, 2649, 1021, 1024, 1011, 1006, 1024, 1012, + 1068, 1023, 1019, 1016, 1072, 1018, 1074, 1033, 1019, 1037, + 1037, 1037, 1023, 1038, 1025, 1026, 1042, 1029, 1046, 2649, + 1030, 2649, 1039, 1089, 1039, 2649, 1049, 1042, 1098, 1042, + 2649, 1045, 1050, 1097, 1045, 1046, 1058, 1052, 1050, 1047, + + 1062, 1110, 1051, 1052, 1113, 1114, 1055, 1067, 1060, 2649, + 1056, 1064, 1062, 1116, 1055, 1076, 1063, 1064, 1065, 1066, + 1072, 1080, 1071, 1085, 1086, 1087, 1102, 1131, 1114, 1106, + 1111, 2649, 1094, 1098, 1081, 1081, 2649, 1082, 1084, 1095, + 1085, 1105, 1104, 1095, 1106, 1152, 1091, 1103, 1112, 1105, + 1109, 1113, 1096, 1113, 1114, 1105, 1163, 1111, 1115, 2649, + 1165, 1111, 1129, 1111, 1111, 1132, 1129, 1172, 1118, 1136, + 1124, 1138, 1131, 1140, 1120, 1135, 1142, 1187, 1188, 2649, + 1138, 1190, 1144, 1130, 1140, 1150, 1134, 1154, 1137, 1139, + 1139, 1146, 1155, 1143, 1150, 1145, 1152, 1164, 1208, 1152, + + 1210, 1152, 1169, 1213, 1163, 1164, 1153, 1217, 1165, 1162, + 1220, 1167, 1222, 1223, 1173, 2649, 1162, 1179, 1172, 1163, + 1182, 1176, 1171, 1181, 1177, 1172, 1190, 2649, 1174, 1170, + 2649, 2649, 1176, 1239, 1195, 1176, 1195, 1196, 1198, 1240, + 1190, 1247, 1248, 1198, 1203, 1197, 1195, 1206, 1188, 1193, + 1199, 1225, 1238, 1226, 1240, 1227, 1262, 1214, 1214, 1218, + 1266, 1206, 1206, 1209, 1226, 1221, 1225, 1220, 2649, 1217, + 1230, 1214, 1231, 1211, 1232, 1222, 1221, 1277, 1227, 2649, + 1241, 1243, 1246, 1230, 1239, 1243, 1248, 1234, 1297, 1247, + 1252, 1239, 1253, 1251, 1248, 1244, 1262, 1263, 1264, 2649, + + 2649, 1262, 2649, 1264, 1249, 1260, 1251, 1270, 1263, 1261, + 1316, 1270, 1267, 1314, 1275, 1264, 1271, 1276, 1273, 1279, + 2649, 1272, 2649, 1264, 1328, 2649, 1272, 1273, 1284, 2649, + 1285, 1273, 2649, 1283, 2649, 2649, 1273, 1274, 1277, 1291, + 1296, 1279, 1290, 1342, 1296, 1283, 1302, 1293, 1347, 1343, + 1349, 2649, 1297, 1294, 1352, 1353, 1307, 1308, 1310, 2649, + 2649, 1302, 1297, 1354, 1300, 1316, 1300, 1312, 1301, 1360, + 1343, 1344, 1336, 1369, 2649, 1323, 1314, 1325, 2649, 1373, + 1307, 1318, 1333, 1372, 1321, 1332, 1320, 1319, 1335, 1336, + 1333, 1380, 1340, 1342, 1331, 1341, 1347, 1335, 1335, 1395, + + 1391, 1393, 1399, 1353, 2649, 1355, 1354, 1356, 1347, 1350, + 1359, 1356, 1346, 1349, 1349, 1411, 1355, 1413, 1357, 1415, + 1355, 1360, 1418, 2649, 1373, 1353, 1368, 1361, 1364, 1377, + 1380, 1379, 1377, 1429, 1380, 2649, 1376, 1377, 1429, 1373, + 1436, 1389, 1438, 1439, 1440, 1381, 1391, 1443, 1397, 2649, + 1389, 1446, 1387, 1387, 2649, 1405, 2649, 1402, 1393, 2649, + 2649, 1406, 1389, 1409, 1410, 1396, 1398, 1460, 1407, 1462, + 1408, 1402, 1429, 1447, 1462, 1448, 2649, 1468, 1416, 1466, + 2649, 1411, 1473, 1420, 1414, 1411, 1414, 1416, 1412, 1475, + 1435, 1477, 1427, 1439, 1442, 1439, 1431, 1434, 1427, 1490, + + 1437, 2649, 1436, 1435, 2649, 1437, 1499, 1449, 1440, 1497, + 1456, 1458, 1458, 1455, 1502, 1461, 2649, 1453, 2649, 1454, + 2649, 1464, 1456, 2649, 1508, 1467, 1468, 1465, 1512, 1457, + 1473, 1516, 1475, 1467, 2649, 1464, 1464, 1465, 1466, 1523, + 2649, 1482, 2649, 2649, 2649, 1525, 1469, 2649, 1486, 1471, + 2649, 1485, 1473, 1537, 1481, 1474, 1479, 1490, 1501, 1494, + 1500, 1490, 1548, 1498, 2649, 1507, 2649, 1504, 1552, 1529, + 1530, 1536, 1521, 1529, 2649, 1512, 1497, 1560, 2649, 1561, + 1515, 1520, 1502, 1565, 1566, 1507, 1563, 1527, 1520, 1516, + 1509, 1517, 1569, 1524, 1525, 2649, 1515, 1531, 1529, 1586, + + 2649, 1521, 1583, 1544, 1544, 1586, 1531, 1536, 1534, 1596, + 1549, 1537, 1599, 1595, 1547, 1602, 1560, 1549, 1543, 1606, + 1545, 1554, 1547, 1561, 1564, 1612, 1613, 1563, 1561, 1554, + 1552, 1613, 1614, 1615, 1567, 1566, 1566, 1561, 1562, 2649, + 1570, 1576, 1567, 1568, 1567, 1569, 1627, 1570, 2649, 1566, + 1584, 1636, 2649, 1604, 1618, 1617, 1606, 1608, 1642, 1592, + 2649, 2649, 1583, 1594, 1646, 2649, 2649, 1600, 1590, 1595, + 1593, 1646, 1601, 1606, 1592, 1595, 1611, 1601, 1599, 1599, + 1601, 2649, 1669, 1604, 1613, 1660, 1609, 1672, 1617, 1628, + 1629, 2649, 1677, 1627, 1674, 2649, 1622, 1630, 2649, 1621, + + 1636, 1624, 2649, 1634, 1635, 1636, 1688, 1643, 2649, 2649, + 1622, 1640, 1641, 1650, 1632, 1638, 1651, 1640, 1693, 1642, + 1638, 1643, 1640, 1641, 1699, 1705, 1652, 1707, 1657, 1647, + 1663, 1656, 2649, 1689, 1713, 1695, 1710, 1716, 2649, 1662, + 1718, 1657, 2649, 1659, 1661, 1671, 1718, 1663, 1678, 1665, + 1727, 1681, 1667, 1674, 1674, 1685, 1686, 2649, 1680, 1675, + 1689, 1675, 1687, 2649, 1736, 1684, 1681, 2649, 1695, 1682, + 1703, 1699, 1701, 1749, 1699, 1696, 1704, 1698, 2649, 1754, + 1708, 1701, 1702, 1707, 1708, 1702, 1707, 1718, 1702, 1711, + 1760, 1766, 1716, 1768, 1714, 2649, 1708, 2649, 1715, 1772, + + 1773, 1770, 1771, 2649, 1753, 1759, 2649, 1731, 2649, 1775, + 1724, 1735, 1736, 1721, 1722, 1730, 1787, 2649, 1732, 1784, + 1785, 1737, 1732, 1750, 1747, 1738, 1751, 1746, 1743, 1748, + 1746, 1801, 1802, 1747, 1746, 1760, 1747, 2649, 1762, 1763, + 1764, 1765, 2649, 1813, 1763, 1768, 1754, 1762, 1756, 1776, + 1777, 1758, 1759, 1766, 2649, 1768, 2649, 1782, 1779, 1822, + 1780, 2649, 2649, 1784, 1810, 1811, 1809, 1772, 1772, 1781, + 1788, 1781, 1780, 1791, 1778, 2649, 1794, 1782, 1785, 1844, + 1781, 1800, 1791, 1803, 1796, 1795, 1804, 1806, 1810, 2649, + 2649, 1803, 1794, 1796, 1860, 1800, 1862, 1801, 1864, 2649, + + 1803, 1866, 1862, 1821, 1818, 1809, 1817, 1828, 1815, 1826, + 1812, 1810, 1818, 1817, 1822, 1814, 1859, 1883, 1865, 1885, + 1835, 1824, 1837, 1827, 1844, 1843, 1887, 1828, 1847, 1848, + 2649, 1853, 1846, 1898, 1852, 1839, 1854, 1902, 1856, 1859, + 1846, 1855, 1856, 2649, 1908, 2649, 1860, 2649, 1912, 2649, + 1851, 1914, 1858, 1855, 1917, 1862, 1914, 1915, 1874, 1917, + 1860, 1864, 1882, 1926, 1882, 1909, 2649, 1905, 2649, 1875, + 1869, 1866, 1928, 1891, 1884, 1880, 1937, 1877, 1879, 1878, + 1885, 2649, 1881, 1943, 1884, 2649, 1889, 1899, 1884, 1892, + 1894, 2649, 1895, 2649, 1900, 2649, 1896, 1906, 2649, 1908, + + 1909, 1900, 1959, 1900, 1910, 1895, 1908, 2649, 1910, 1941, + 1947, 1919, 1917, 1969, 1907, 1909, 1906, 1930, 2649, 1917, + 1924, 1925, 1928, 1917, 2649, 1974, 1918, 1926, 1935, 1934, + 1937, 1938, 1931, 1926, 1927, 1927, 1939, 1934, 2649, 1947, + 1935, 1991, 1939, 1951, 1979, 2000, 2001, 1945, 2649, 1945, + 1957, 2005, 1951, 1953, 1951, 1952, 2010, 1960, 1947, 1962, + 1967, 2015, 2016, 2017, 2018, 1972, 2020, 2021, 2022, 1963, + 1967, 1964, 1980, 1963, 1975, 1969, 2031, 2649, 2649, 1976, + 1987, 2034, 2649, 1988, 1973, 1991, 1982, 2649, 1983, 1997, + 1993, 1986, 2649, 2649, 2649, 2649, 2043, 2649, 2649, 2649, + + 1983, 1991, 1986, 2042, 2005, 2002, 2050, 2649, 2046, 2009, + 2649, 2053, 1992, 2055, 1995, 2008, 2007, 2008, 1998, 2649, + 1999, 2062, 2012, 2021, 2014, 2061, 2649, 2012, 2006, 2649, + 2018, 2649, 2065, 2071, 2010, 2026, 2074, 2075, 2649, 2029, + 2023, 2016, 2036, 2023, 2035, 2026, 2030, 2649, 2080, 2026, + 2649, 2649, 2026, 2034, 2084, 2041, 2034, 2046, 2093, 2038, + 2038, 2034, 2036, 2098, 2099, 2038, 2054, 2039, 2056, 2649, + 2104, 2048, 2055, 2107, 2649, 2649, 2057, 2109, 2054, 2111, + 2649, 2059, 2058, 2649, 2059, 2649, 2053, 2649, 2053, 2070, + 2071, 2119, 2062, 2121, 2122, 2649, 2123, 2649, 2649, 2649, + + 2649, 2129, 2132, 2135, 2136, 2138, 2141, 2144, 2147 } ; -static const flex_int16_t yy_def[2244] = +static const flex_int16_t yy_def[2210] = { 0, - 2236, 2236, 2237, 2237, 2236, 2236, 2236, 2236, 2236, 2236, - 2235, 2235, 2235, 2235, 2235, 2238, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2239, - 2235, 2235, 2235, 2240, 15, 2235, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2241, 45, 45, + 2202, 2202, 2203, 2203, 2202, 2202, 2202, 2202, 2202, 2202, + 2201, 2201, 2201, 2201, 2201, 2204, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2205, + 2201, 2201, 2201, 2206, 15, 2201, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2207, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2238, - 2235, 2235, 2235, 2235, 2235, 2235, 2242, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2239, 2235, + 45, 45, 45, 45, 45, 45, 45, 45, 2204, 2201, + 2201, 2201, 2201, 2201, 2201, 2208, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2205, 2201, 2206, - 2240, 2235, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2243, 45, 2241, 45, + 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2209, 45, 2207, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2242, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 45, 45, 45, + 45, 45, 45, 45, 2208, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 45, 45, 45, 2201, 45, 45, 2201, - 2235, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 2243, 2235, 2235, 119, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2209, 2201, 2201, + 118, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 45, 45, 45, 45, - 45, 2235, 45, 45, 2235, 45, 2235, 45, 119, 2235, + 45, 45, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 45, + 45, 45, 45, 45, 2201, 45, 45, 2201, 45, 2201, + 45, 118, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, @@ -1291,537 +1284,529 @@ static const flex_int16_t yy_def[2244] = 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 2235, 2235, 45, 45, 45, - 45, 2235, 45, 45, 2235, 45, 119, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2201, 2201, 2201, 45, 45, 45, 45, 2201, + 45, 45, 2201, 45, 118, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 2235, - 45, 2235, 45, 2235, 45, 45, 45, 2235, 45, 45, + 45, 45, 2201, 45, 2201, 45, 2201, 45, 2201, 45, + 45, 45, 2201, 45, 45, 2201, 2201, 2201, 45, 45, + 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, - 2235, 2235, 2235, 45, 45, 45, 45, 45, 2235, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2235, 2235, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2201, 45, 45, 2201, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, + 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 2235, 45, 45, 45, 45, 45, 45, - 45, 2235, 2235, 45, 45, 45, 45, 45, 45, 2235, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, - 45, 45, 2235, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2235, 45, + + 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 2201, + 2201, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 45, 45, 45, 45, 45, 45, 2201, 45, 45, 2201, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 2235, 45, 45, 45, - 2235, 45, 45, 45, 45, 2235, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, + 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 2201, 45, 45, 45, 2201, 45, 45, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 2235, 2235, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 2235, 45, 2235, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 2235, 45, 2235, 45, - 45, 2235, 45, 45, 45, 45, 2235, 45, 45, 2235, - 45, 2235, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2235, 45, - 45, 45, 45, 45, 45, 45, 2235, 2235, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, - 45, 2235, 45, 45, 45, 2235, 45, 45, 45, 45, + 2201, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 2201, 45, 2201, 45, 45, 2201, 45, 45, 45, 2201, + 45, 45, 2201, 45, 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 2201, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, - 45, 45, 45, 2235, 45, 2235, 45, 45, 2235, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 2235, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 2201, 45, 2201, 45, 45, 2201, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 2235, 45, 2235, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 2235, - 45, 2235, 2235, 2235, 45, 45, 2235, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 2235, 45, 45, 45, - - 45, 45, 45, 45, 2235, 45, 45, 45, 2235, 45, + + 45, 2201, 45, 45, 2201, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 2201, 45, 2201, 45, + 2201, 45, 45, 2201, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, + 2201, 45, 2201, 2201, 2201, 45, 45, 2201, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 2201, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, + + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, + 2201, 2201, 45, 45, 45, 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 2235, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 45, 2235, 2235, 45, 45, 45, 2235, 2235, 45, 45, + 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 2201, 45, 45, 2201, 45, + 45, 45, 2201, 45, 45, 45, 45, 45, 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 2235, 45, 45, 2235, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 2235, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 2235, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 2235, - + 45, 45, 2201, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 45, 45, 45, 2201, 45, 45, 45, 2201, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 2235, 45, - 2235, 45, 45, 45, 45, 45, 2235, 45, 45, 2235, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 2201, 45, 45, + + 45, 45, 45, 2201, 45, 45, 2201, 45, 2201, 45, + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 45, 45, 2235, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 2235, 45, - 2235, 45, 45, 45, 45, 2235, 2235, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 2201, 45, 2201, 45, 45, 45, + 45, 2201, 2201, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 2201, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 2235, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 2235, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 2235, 45, 2235, - 45, 2235, 45, 2235, 45, 45, 45, 45, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 2201, 45, 2201, 45, 2201, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 2235, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 2235, 45, 45, 45, 2235, - 45, 45, 45, 45, 45, 2235, 45, 2235, 45, 2235, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 2235, 45, + 45, 45, 45, 45, 45, 45, 2201, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, + 45, 2201, 45, 45, 45, 2201, 45, 45, 45, 45, + 45, 2201, 45, 2201, 45, 2201, 45, 45, 2201, 45, + + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 2235, 45, 45, 45, 2235, 45, 45, 45, - 45, 2235, 45, 45, 45, 45, 2235, 2235, 2235, 2235, - 45, 2235, 2235, 2235, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 2235, 45, 45, 45, 45, 45, - 45, 45, 45, 2235, 45, 45, 45, 45, 45, 45, - 2235, 45, 45, 2235, 45, 2235, 45, 45, 45, 45, - 45, 45, 2235, 45, 45, 45, 45, 45, 45, 45, - 45, 2235, 45, 45, 2235, 2235, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 2235, 45, 45, 45, 45, 2235, 2235, - 45, 45, 45, 45, 2235, 45, 45, 2235, 45, 2235, - 45, 2235, 45, 45, 45, 45, 45, 45, 45, 2235, - 45, 2235, 2235, 2235, 0, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235 + 45, 45, 45, 45, 45, 45, 45, 2201, 2201, 45, + 45, 45, 2201, 45, 45, 45, 45, 2201, 45, 45, + 45, 45, 2201, 2201, 2201, 2201, 45, 2201, 2201, 2201, + + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 2201, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 45, 45, 2201, 45, 45, 2201, + 45, 2201, 45, 45, 45, 45, 45, 45, 2201, 45, + 45, 45, 45, 45, 45, 45, 45, 2201, 45, 45, + 2201, 2201, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 2201, + 45, 45, 45, 45, 2201, 2201, 45, 45, 45, 45, + 2201, 45, 45, 2201, 45, 2201, 45, 2201, 45, 45, + 45, 45, 45, 45, 45, 2201, 45, 2201, 2201, 2201, + + 0, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201 } ; -static const flex_int16_t yy_nxt[2762] = +static const flex_int16_t yy_nxt[2726] = { 0, - 2235, 13, 14, 13, 2235, 15, 16, 102, 17, 18, + 2201, 13, 14, 13, 2201, 15, 16, 101, 17, 18, 19, 20, 21, 22, 22, 22, 22, 22, 23, 24, - 86, 252, 37, 14, 37, 87, 25, 26, 38, 37, - 14, 37, 42, 27, 42, 38, 2235, 2235, 28, 91, - 13, 14, 13, 92, 29, 91, 30, 103, 13, 14, - 13, 203, 25, 31, 13, 14, 13, 42, 40, 42, - 561, 32, 13, 14, 13, 91, 40, 33, 253, 168, - 93, 94, 92, 169, 34, 35, 13, 14, 13, 203, - 15, 16, 92, 17, 18, 19, 20, 21, 22, 22, - 22, 22, 22, 23, 24, 39, 13, 14, 13, 93, - - 93, 25, 26, 39, 13, 14, 13, 42, 27, 42, - 134, 95, 562, 28, 109, 244, 41, 104, 105, 29, - 108, 30, 115, 135, 41, 231, 232, 25, 31, 96, - 382, 245, 89, 136, 89, 233, 32, 90, 90, 90, - 90, 90, 33, 109, 104, 105, 108, 383, 115, 34, + 85, 246, 37, 14, 37, 86, 25, 26, 38, 37, + 14, 37, 42, 27, 42, 38, 876, 877, 28, 90, + 13, 14, 13, 91, 29, 90, 30, 102, 13, 14, + 13, 199, 25, 31, 13, 14, 13, 42, 40, 42, + 546, 32, 13, 14, 13, 90, 40, 33, 247, 164, + 92, 93, 91, 165, 34, 35, 13, 14, 13, 199, + 15, 16, 91, 17, 18, 19, 20, 21, 22, 22, + 22, 22, 22, 23, 24, 39, 13, 14, 13, 92, + + 92, 25, 26, 39, 13, 14, 13, 42, 27, 42, + 132, 94, 547, 28, 108, 239, 41, 103, 104, 29, + 107, 30, 114, 133, 41, 227, 228, 25, 31, 95, + 372, 240, 88, 134, 88, 229, 32, 89, 89, 89, + 89, 89, 33, 108, 103, 104, 107, 373, 114, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 48, 49, 50, 51, 45, 45, 52, 45, 53, 54, 45, 45, 45, 45, 55, 56, 45, 57, 45, 45, 45, 58, 45, 45, 59, - 45, 60, 61, 62, 63, 64, 65, 66, 52, 67, - 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, - 78, 79, 45, 45, 45, 45, 45, 81, 192, 82, - 82, 82, 82, 82, 81, 116, 84, 84, 84, 84, - 84, 875, 83, 85, 85, 85, 85, 85, 81, 83, - 84, 84, 84, 84, 84, 113, 83, 192, 104, 262, - 876, 111, 116, 83, 238, 139, 239, 114, 83, 112, - 140, 102, 190, 141, 142, 83, 108, 439, 877, 440, - 263, 113, 83, 240, 143, 120, 144, 111, 191, 83, - 45, 121, 45, 45, 45, 45, 114, 112, 45, 190, - - 45, 45, 108, 118, 146, 147, 45, 45, 148, 45, - 45, 103, 190, 137, 149, 191, 45, 192, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 193, - 105, 128, 158, 45, 129, 130, 195, 45, 131, 132, - 159, 45, 160, 191, 198, 199, 883, 161, 116, 45, - 122, 133, 111, 45, 123, 45, 119, 105, 124, 150, - 112, 125, 208, 151, 126, 202, 884, 152, 127, 115, - 194, 199, 210, 198, 155, 116, 156, 162, 157, 153, - 163, 164, 170, 154, 204, 188, 171, 206, 112, 172, - - 208, 165, 202, 209, 166, 115, 173, 174, 177, 178, - 210, 175, 176, 198, 211, 185, 206, 322, 113, 225, - 186, 85, 85, 85, 85, 85, 206, 205, 226, 227, - 114, 216, 209, 81, 83, 82, 82, 82, 82, 82, - 211, 310, 217, 322, 179, 270, 180, 311, 83, 181, - 182, 90, 90, 90, 90, 90, 89, 272, 89, 183, - 83, 90, 90, 90, 90, 90, 184, 81, 885, 84, - 84, 84, 84, 84, 83, 85, 85, 85, 85, 85, - 241, 219, 83, 90, 90, 90, 90, 90, 83, 101, - 220, 257, 247, 242, 221, 248, 101, 243, 282, 249, - - 276, 283, 284, 298, 258, 304, 273, 299, 83, 321, - 208, 300, 209, 320, 83, 277, 278, 279, 320, 305, - 322, 321, 556, 340, 327, 330, 557, 331, 288, 101, - 328, 333, 334, 101, 336, 391, 321, 101, 309, 335, - 405, 314, 320, 327, 444, 101, 325, 323, 324, 101, - 327, 101, 101, 214, 330, 331, 328, 333, 334, 338, - 336, 215, 215, 215, 215, 215, 289, 290, 291, 342, - 215, 215, 215, 215, 215, 215, 408, 292, 351, 293, - 341, 352, 294, 484, 295, 296, 409, 338, 485, 799, - 800, 392, 333, 406, 393, 412, 215, 215, 215, 215, - - 215, 215, 339, 339, 339, 339, 339, 336, 455, 353, - 413, 339, 339, 339, 339, 339, 339, 354, 400, 424, - 455, 458, 425, 355, 459, 463, 461, 565, 464, 490, - 530, 566, 458, 336, 455, 491, 531, 339, 339, 339, - 339, 339, 339, 506, 551, 463, 456, 449, 507, 552, - 458, 459, 461, 535, 463, 464, 467, 467, 467, 467, - 467, 469, 604, 536, 886, 467, 467, 467, 467, 467, - 467, 523, 524, 525, 537, 574, 594, 526, 599, 575, - 605, 595, 606, 769, 634, 646, 770, 599, 604, 744, - 647, 467, 467, 467, 467, 467, 467, 635, 681, 508, - - 718, 710, 743, 682, 509, 553, 711, 599, 605, 669, - 606, 45, 45, 45, 45, 45, 608, 744, 887, 670, - 45, 45, 45, 45, 45, 45, 623, 745, 743, 740, - 624, 824, 748, 866, 747, 878, 825, 741, 625, 749, - 626, 627, 628, 629, 630, 867, 45, 45, 45, 45, - 45, 45, 742, 838, 881, 719, 745, 879, 839, 880, - 888, 882, 889, 741, 878, 890, 891, 892, 893, 894, - 895, 897, 896, 826, 898, 899, 900, 901, 902, 903, - 904, 742, 905, 881, 879, 906, 880, 882, 907, 908, - 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, - - 840, 921, 922, 919, 923, 924, 925, 920, 926, 927, - 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, - 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, - 948, 950, 951, 949, 952, 953, 954, 955, 956, 957, - 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, - 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, - 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, - 988, 989, 990, 991, 992, 993, 994, 996, 997, 1000, - 1001, 1002, 1003, 995, 1005, 998, 1006, 1007, 1004, 999, - 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, - - 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, - 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1019, 1046, - 1047, 1020, 1048, 1049, 1023, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, - 1065, 1066, 1067, 1068, 1069, 1070, 1072, 1073, 1074, 1075, - 1071, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, - 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, - 1095, 1096, 1097, 1099, 1100, 1101, 1098, 1102, 1103, 1104, - 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, - - 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1131, 1143, 1144, - 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, - 1157, 1155, 1158, 1159, 1156, 1160, 1161, 1162, 1163, 1164, - 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, - 1175, 1176, 1177, 1178, 1179, 1153, 1152, 1180, 1154, 1155, - 1156, 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, 1208, 1209, 1210, 1211, - - 1206, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, - 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, - 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, - 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, 1207, 1267, 1268, 1269, - 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1281, 1280, 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, 1278, 1280, 1281, - - 1282, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, - 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, - 1326, 1327, 1328, 1329, 1331, 1332, 1333, 1334, 1330, 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, 1401, 1400, 1402, 1403, 1404, 1405, - - 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, - 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1398, 1424, - 1397, 1400, 1399, 1401, 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, 1467, 1468, 1469, 1470, - 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, - 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, - 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, - - 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1512, - 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1503, 1504, - 1531, 1532, 1505, 1533, 1534, 1481, 1535, 1536, 1537, 1538, - 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, - 1549, 1550, 1551, 1552, 1553, 1511, 1554, 1555, 1556, 1558, - 1559, 1560, 1561, 1562, 1563, 1564, 1557, 1565, 1566, 1567, - 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, - 1578, 1579, 1580, 1581, 1583, 1584, 1587, 1585, 1582, 1586, - 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, - - 1598, 1599, 1600, 1601, 1602, 1605, 1604, 1606, 1607, 1608, - 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, - 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1603, 1601, - 1627, 1600, 1604, 1628, 1629, 1630, 1631, 1632, 1633, 1634, - 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1647, 1648, 1649, 1650, 1603, 1651, 1652, 1653, - 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, - 1664, 1665, 1666, 1670, 1667, 1671, 1672, 1668, 1673, 1674, - 1669, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, - 1684, 1685, 1686, 1688, 1687, 1689, 1690, 1691, 1692, 1693, - - 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1703, 1704, 1705, - 1701, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1685, 1686, - 1687, 1702, 1688, 1689, 1713, 1714, 1715, 1716, 1717, 1718, - 1719, 1720, 1721, 1722, 1723, 1725, 1726, 1727, 1728, 1729, - 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, - 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, - 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, - 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1769, 1768, - 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, - 1780, 1781, 1782, 1783, 1784, 1724, 1785, 1786, 1787, 1788, - - 1789, 1792, 1793, 1767, 1794, 1766, 1768, 1769, 1790, 1770, - 1795, 1796, 1797, 1791, 1798, 1799, 1800, 1801, 1802, 1803, - 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, - 1814, 1815, 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, - 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, + 45, 60, 61, 62, 63, 45, 64, 65, 52, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 45, 45, 45, 45, 45, 80, 251, 81, + 81, 81, 81, 81, 80, 115, 83, 83, 83, 83, + 83, 252, 82, 84, 84, 84, 84, 84, 80, 82, + 83, 83, 83, 83, 83, 112, 82, 155, 103, 156, + 878, 110, 115, 82, 157, 136, 297, 113, 82, 111, + 137, 730, 186, 138, 139, 82, 107, 101, 731, 879, + 298, 112, 82, 188, 140, 119, 141, 110, 187, 82, + 45, 120, 45, 45, 45, 45, 113, 111, 45, 186, + + 45, 45, 107, 117, 143, 144, 45, 45, 145, 45, + 45, 188, 188, 135, 146, 187, 45, 102, 45, 45, + 45, 45, 104, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 880, + 191, 127, 121, 45, 128, 129, 122, 45, 130, 104, + 123, 45, 115, 124, 147, 186, 125, 114, 148, 45, + 126, 131, 149, 45, 110, 45, 118, 158, 187, 198, + 159, 160, 111, 195, 150, 173, 174, 200, 151, 115, + 194, 161, 189, 114, 162, 112, 152, 166, 153, 184, + 154, 167, 845, 181, 168, 190, 198, 113, 182, 195, + + 111, 169, 170, 207, 846, 265, 171, 172, 400, 194, + 201, 175, 202, 176, 204, 205, 177, 178, 84, 84, + 84, 84, 84, 401, 275, 206, 179, 276, 277, 207, + 221, 82, 80, 180, 81, 81, 81, 81, 81, 222, + 223, 202, 204, 88, 205, 88, 881, 82, 89, 89, + 89, 89, 89, 206, 266, 882, 80, 82, 83, 83, + 83, 83, 83, 84, 84, 84, 84, 84, 100, 194, + 233, 82, 234, 82, 256, 100, 82, 89, 89, 89, + 89, 89, 89, 89, 89, 89, 89, 212, 236, 235, + 215, 202, 315, 241, 269, 257, 242, 82, 213, 216, + + 243, 237, 82, 217, 205, 238, 204, 281, 100, 270, + 271, 272, 100, 291, 883, 345, 100, 292, 315, 303, + 264, 293, 315, 346, 100, 304, 313, 396, 100, 347, + 100, 100, 210, 307, 302, 314, 313, 397, 323, 314, + 211, 211, 211, 211, 211, 282, 283, 284, 318, 211, + 211, 211, 211, 211, 211, 313, 285, 320, 286, 321, + 324, 287, 314, 288, 289, 316, 317, 323, 326, 327, + 329, 331, 320, 381, 884, 211, 211, 211, 211, 211, + 211, 343, 326, 320, 344, 321, 412, 446, 324, 413, + 427, 329, 428, 443, 326, 327, 329, 443, 334, 331, + + 332, 332, 332, 332, 332, 451, 447, 885, 390, 332, + 332, 332, 332, 332, 332, 328, 446, 329, 449, 443, + 432, 452, 472, 444, 478, 446, 886, 473, 451, 382, + 479, 437, 383, 447, 451, 332, 332, 332, 332, 332, + 332, 492, 536, 887, 449, 521, 493, 537, 452, 455, + 455, 455, 455, 455, 457, 522, 589, 523, 455, 455, + 455, 455, 455, 455, 509, 510, 511, 516, 541, 584, + 512, 550, 542, 517, 559, 551, 579, 590, 560, 591, + 619, 580, 589, 888, 455, 455, 455, 455, 455, 455, + 630, 652, 889, 620, 584, 631, 700, 494, 584, 664, + + 725, 653, 495, 538, 665, 590, 727, 591, 45, 45, + 45, 45, 45, 751, 779, 780, 752, 45, 45, 45, + 45, 45, 45, 593, 608, 692, 725, 726, 609, 858, + 693, 890, 722, 857, 723, 727, 610, 729, 611, 612, + 613, 614, 615, 45, 45, 45, 45, 45, 45, 724, + 859, 701, 803, 817, 860, 726, 858, 804, 818, 861, + 723, 891, 857, 873, 874, 892, 875, 893, 894, 895, + 899, 896, 900, 901, 902, 897, 903, 859, 724, 898, + 904, 905, 906, 860, 907, 861, 908, 909, 910, 911, + 912, 913, 914, 915, 805, 916, 917, 918, 919, 920, + + 819, 921, 922, 923, 924, 925, 926, 928, 929, 927, + 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, + 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, + 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, + 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, + 970, 971, 973, 974, 977, 978, 979, 980, 972, 982, + 975, 983, 984, 981, 976, 985, 986, 987, 988, 989, + 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, + 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + + 1020, 1021, 1022, 996, 1023, 1024, 997, 1025, 1026, 1000, + 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, + 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, + 1048, 1049, 1050, 1051, 1047, 1052, 1053, 1054, 1055, 1056, + 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, + 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1075, 1076, 1077, + 1074, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, + 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, + 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1107, + 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, + + 1106, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, + 1127, 1128, 1129, 1132, 1130, 1133, 1134, 1131, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, + 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1128, 1127, + 1155, 1129, 1130, 1131, 1156, 1157, 1158, 1159, 1160, 1161, + 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, + 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1183, + 1184, 1185, 1186, 1181, 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, 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, 1182, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1255, 1254, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1252, + 1254, 1255, 1256, 1281, 1282, 1283, 1284, 1285, 1286, 1287, + 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, + 1298, 1299, 1300, 1301, 1302, 1303, 1305, 1306, 1307, 1308, + + 1304, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1338, 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, 1374, 1373, 1375, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, + 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1371, + 1397, 1370, 1373, 1372, 1374, 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, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1483, + 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, + 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1474, 1475, + + 1502, 1503, 1476, 1504, 1505, 1506, 1507, 1508, 1509, 1510, + 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, + 1521, 1522, 1523, 1524, 1525, 1482, 1526, 1527, 1529, 1530, + 1531, 1532, 1533, 1534, 1535, 1528, 1536, 1537, 1538, 1539, + 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1553, 1554, 1557, 1555, 1552, 1556, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, + 1570, 1571, 1572, 1575, 1574, 1576, 1577, 1578, 1579, 1580, + 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, + 1591, 1592, 1593, 1594, 1595, 1596, 1573, 1571, 1597, 1570, + + 1574, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, + 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, + 1617, 1618, 1619, 1620, 1573, 1621, 1622, 1623, 1624, 1625, + 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, + 1639, 1636, 1640, 1641, 1637, 1642, 1643, 1638, 1644, 1645, + 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, + 1657, 1656, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, + 1666, 1667, 1668, 1669, 1672, 1673, 1674, 1670, 1675, 1676, + 1677, 1678, 1679, 1680, 1681, 1654, 1655, 1656, 1671, 1657, + 1658, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, + + 1691, 1692, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, + 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, + 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, + 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, + 1732, 1733, 1734, 1735, 1737, 1736, 1738, 1739, 1740, 1741, + 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, + 1752, 1753, 1693, 1754, 1755, 1756, 1757, 1760, 1761, 1735, + 1762, 1734, 1736, 1737, 1758, 1738, 1763, 1764, 1765, 1759, + 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, + 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, + + 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, + 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, + 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, + 1816, 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, + 1826, 1827, 1828, 1829, 1803, 1805, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, - 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1836, - 1838, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1870, 1871, - 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, + 1854, 1855, 1856, 1857, 1858, 1860, 1861, 1862, 1863, 1859, + 1864, 1865, 1866, 1868, 1867, 1869, 1870, 1871, 1872, 1873, + 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, - 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, - 1892, 1894, 1895, 1896, 1897, 1893, 1898, 1899, 1900, 1902, - 1901, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, + 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1866, + 1867, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, + 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, - 1922, 1923, 1924, 1925, 1926, 1900, 1901, 1927, 1928, 1929, - 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, - 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, - 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, - 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, - 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1951, 1952, 1977, - - 1953, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, - 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, - 1998, 1996, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, + 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, + 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, + 1942, 1917, 1918, 1943, 1919, 1944, 1945, 1946, 1947, 1948, + 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, + 1959, 1960, 1961, 1963, 1964, 1962, 1965, 1966, 1967, 1968, + 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, + + 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, + 1989, 1990, 1991, 1992, 1966, 1968, 1993, 1994, 1995, 1996, + 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, - 2000, 2002, 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, - 2035, 2036, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, - 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, + 2027, 2028, 2029, 2030, 2031, 2032, 2033, 2034, 2035, 2010, + 2036, 2011, 2037, 2038, 2039, 2040, 2041, 2042, 2043, 2044, + 2045, 2047, 2046, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, - 2065, 2066, 2067, 2068, 2069, 2044, 2070, 2045, 2071, 2072, + 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2045, 2046, 2072, - 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2081, 2080, 2082, + 2073, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, - 2103, 2104, 2105, 2079, 2080, 2106, 2107, 2108, 2109, 2110, - 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, - 2121, 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, - 2131, 2132, 2133, 2134, 2135, 2136, 2111, 2137, 2138, 2139, - 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, - 2150, 2151, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, - 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, - - 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, - 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, - 2190, 2192, 2191, 2193, 2194, 2195, 2196, 2197, 2198, 2199, - 2200, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, - 2210, 2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, - 2220, 2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, - 2230, 2231, 2232, 2233, 2234, 12, 12, 12, 36, 36, - 36, 80, 99, 80, 101, 101, 101, 117, 117, 117, - 189, 874, 189, 212, 212, 212, 873, 872, 871, 870, - 869, 868, 865, 864, 863, 862, 861, 860, 859, 858, - - 857, 856, 855, 854, 853, 852, 851, 850, 849, 848, - 847, 846, 845, 844, 843, 842, 841, 837, 836, 835, - 834, 833, 832, 831, 830, 829, 828, 827, 823, 822, - 821, 820, 819, 818, 817, 816, 815, 814, 813, 812, - 811, 810, 809, 808, 807, 806, 805, 804, 803, 802, - 801, 798, 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, 768, - 767, 766, 765, 764, 763, 762, 761, 760, 759, 758, - 757, 756, 755, 754, 753, 752, 751, 750, 746, 740, - - 739, 738, 737, 736, 735, 734, 733, 732, 731, 730, - 729, 728, 727, 726, 725, 724, 723, 722, 721, 720, - 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, 689, 688, 687, 686, - 685, 684, 683, 680, 679, 678, 677, 676, 675, 674, - 673, 672, 671, 668, 667, 666, 665, 664, 663, 662, - 661, 660, 659, 658, 657, 656, 655, 654, 653, 652, - 651, 650, 649, 648, 645, 644, 643, 642, 641, 640, - 639, 638, 637, 636, 633, 632, 631, 622, 621, 620, - - 619, 618, 617, 616, 615, 614, 613, 612, 611, 610, - 609, 607, 603, 602, 601, 600, 598, 597, 596, 593, - 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, - 582, 581, 580, 579, 578, 577, 576, 573, 572, 571, - 570, 569, 568, 567, 564, 563, 560, 559, 558, 555, - 554, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 534, 533, 532, 529, 528, 527, - 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, - 512, 511, 510, 505, 504, 503, 502, 501, 500, 499, - 498, 497, 496, 495, 494, 493, 492, 489, 488, 487, - - 486, 483, 482, 481, 480, 479, 478, 477, 476, 475, - 474, 473, 472, 471, 470, 468, 466, 465, 462, 460, - 457, 454, 453, 452, 451, 450, 448, 447, 446, 445, - 443, 442, 441, 438, 437, 436, 435, 434, 433, 432, - 431, 430, 429, 428, 427, 426, 423, 422, 421, 420, - 419, 418, 417, 416, 415, 414, 411, 410, 407, 404, - 403, 402, 401, 399, 398, 397, 396, 395, 394, 390, - 389, 388, 387, 386, 385, 384, 381, 380, 379, 378, - 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, - 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, - - 357, 356, 350, 349, 348, 347, 346, 345, 344, 343, - 213, 337, 335, 332, 329, 326, 319, 318, 317, 316, - 315, 313, 312, 308, 307, 306, 303, 302, 301, 297, - 287, 286, 285, 281, 280, 275, 274, 271, 269, 268, - 267, 266, 265, 264, 261, 260, 259, 256, 255, 254, - 251, 250, 246, 237, 236, 235, 234, 230, 229, 228, - 224, 223, 222, 218, 213, 207, 201, 200, 197, 196, - 187, 167, 145, 138, 110, 107, 106, 43, 100, 98, - 97, 88, 43, 2235, 11, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235 + 2077, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, + 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, + 2122, 2123, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, + 2132, 2133, 2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, + 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, + 2152, 2153, 2154, 2155, 2156, 2158, 2157, 2159, 2160, 2161, + 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, + + 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, + 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, + 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 12, + 12, 12, 36, 36, 36, 79, 98, 79, 100, 100, + 100, 116, 116, 116, 185, 872, 185, 208, 208, 208, + 871, 870, 869, 868, 867, 866, 865, 864, 863, 862, + 856, 855, 854, 853, 852, 851, 850, 849, 848, 847, + 844, 843, 842, 841, 840, 839, 838, 837, 836, 835, + 834, 833, 832, 831, 830, 829, 828, 827, 826, 825, + 824, 823, 822, 821, 820, 816, 815, 814, 813, 812, + + 811, 810, 809, 808, 807, 806, 802, 801, 800, 799, + 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, + 788, 787, 786, 785, 784, 783, 782, 781, 778, 777, + 776, 775, 774, 773, 772, 771, 770, 769, 768, 767, + 766, 765, 764, 763, 762, 761, 760, 759, 758, 757, + 756, 755, 754, 753, 750, 749, 748, 747, 746, 745, + 744, 743, 742, 741, 740, 739, 738, 737, 736, 735, + 734, 733, 732, 728, 722, 721, 720, 719, 718, 717, + 716, 715, 714, 713, 712, 711, 710, 709, 708, 707, + 706, 705, 704, 703, 702, 699, 698, 697, 696, 695, + + 694, 691, 690, 689, 688, 687, 686, 685, 684, 683, + 682, 681, 680, 679, 678, 677, 676, 675, 674, 673, + 672, 671, 670, 669, 668, 667, 666, 663, 662, 661, + 660, 659, 658, 657, 656, 655, 654, 651, 650, 649, + 648, 647, 646, 645, 644, 643, 642, 641, 640, 639, + 638, 637, 636, 635, 634, 633, 632, 629, 628, 627, + 626, 625, 624, 623, 622, 621, 618, 617, 616, 607, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, + 596, 595, 594, 592, 588, 587, 586, 585, 583, 582, + 581, 578, 577, 576, 575, 574, 573, 572, 571, 570, + + 569, 568, 567, 566, 565, 564, 563, 562, 561, 558, + 557, 556, 555, 554, 553, 552, 549, 548, 545, 544, + 543, 540, 539, 535, 534, 533, 532, 531, 530, 529, + 528, 527, 526, 525, 524, 520, 519, 518, 515, 514, + 513, 508, 507, 506, 505, 504, 503, 502, 501, 500, + 499, 498, 497, 496, 491, 490, 489, 488, 487, 486, + 485, 484, 483, 482, 481, 480, 477, 476, 475, 474, + 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, + 461, 460, 459, 458, 456, 454, 453, 450, 448, 445, + 442, 441, 440, 439, 438, 436, 435, 434, 433, 431, + + 430, 429, 426, 425, 424, 423, 422, 421, 420, 419, + 418, 417, 416, 415, 414, 411, 410, 409, 408, 407, + 406, 405, 404, 403, 402, 399, 398, 395, 394, 393, + 392, 391, 389, 388, 387, 386, 385, 384, 380, 379, + 378, 377, 376, 375, 374, 371, 370, 369, 368, 367, + 366, 365, 364, 363, 362, 361, 360, 359, 358, 357, + 356, 355, 354, 353, 352, 351, 350, 349, 348, 342, + 341, 340, 339, 338, 337, 336, 335, 333, 209, 330, + 328, 325, 322, 319, 312, 311, 310, 309, 308, 306, + 305, 301, 300, 299, 296, 295, 294, 290, 280, 279, + + 278, 274, 273, 268, 267, 263, 262, 261, 260, 259, + 258, 255, 254, 253, 250, 249, 248, 245, 244, 232, + 231, 230, 226, 225, 224, 220, 219, 218, 214, 209, + 203, 197, 196, 193, 192, 183, 163, 142, 109, 106, + 105, 43, 99, 97, 96, 87, 43, 2201, 11, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201 } ; -static const flex_int16_t yy_chk[2762] = +static const flex_int16_t yy_chk[2726] = { 0, 0, 1, 1, 1, 0, 1, 1, 44, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 21, 142, 3, 3, 3, 21, 1, 1, 3, 4, - 4, 4, 13, 1, 13, 4, 0, 0, 1, 26, + 21, 139, 3, 3, 3, 21, 1, 1, 3, 4, + 4, 4, 13, 1, 13, 4, 740, 741, 1, 26, 5, 5, 5, 27, 1, 31, 1, 44, 6, 6, - 6, 109, 1, 1, 7, 7, 7, 37, 7, 37, - 422, 1, 8, 8, 8, 26, 8, 1, 142, 74, - 28, 31, 27, 74, 1, 1, 2, 2, 2, 109, + 6, 108, 1, 1, 7, 7, 7, 37, 7, 37, + 410, 1, 8, 8, 8, 26, 8, 1, 139, 73, + 28, 31, 27, 73, 1, 1, 2, 2, 2, 108, 2, 2, 32, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 9, 9, 9, 28, 33, 2, 2, 6, 10, 10, 10, 42, 2, 42, - 62, 32, 422, 2, 52, 137, 9, 47, 48, 2, - 51, 2, 56, 62, 10, 130, 130, 2, 2, 33, - 255, 137, 25, 62, 25, 130, 2, 25, 25, 25, - 25, 25, 2, 52, 47, 48, 51, 255, 56, 2, + 62, 32, 410, 2, 52, 135, 9, 47, 48, 2, + 51, 2, 56, 62, 10, 129, 129, 2, 2, 33, + 249, 135, 25, 62, 25, 129, 2, 25, 25, 25, + 25, 25, 2, 52, 47, 48, 51, 249, 56, 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, @@ -1830,286 +1815,282 @@ static const flex_int16_t yy_chk[2762] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 17, 93, 17, + 15, 15, 15, 15, 15, 15, 15, 17, 143, 17, 17, 17, 17, 17, 19, 57, 19, 19, 19, 19, - 19, 736, 17, 20, 20, 20, 20, 20, 22, 19, - 22, 22, 22, 22, 22, 55, 20, 93, 59, 150, - 737, 54, 57, 22, 135, 65, 135, 55, 17, 54, - 65, 101, 91, 65, 66, 19, 63, 305, 738, 305, - 150, 55, 20, 135, 66, 59, 66, 54, 92, 22, - 45, 59, 45, 45, 45, 45, 55, 54, 45, 91, - - 45, 45, 63, 58, 68, 68, 45, 45, 68, 45, - 58, 101, 94, 63, 68, 92, 45, 96, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 94, - 60, 61, 71, 58, 61, 61, 96, 58, 61, 61, - 71, 58, 71, 95, 104, 105, 746, 71, 79, 58, - 60, 61, 70, 58, 60, 58, 58, 60, 60, 69, - 70, 60, 113, 69, 60, 108, 747, 69, 60, 77, - 95, 105, 115, 104, 70, 79, 70, 72, 70, 69, - 72, 72, 75, 69, 110, 79, 75, 111, 70, 75, - - 113, 72, 108, 114, 72, 77, 75, 75, 76, 76, - 115, 75, 75, 120, 116, 77, 157, 192, 76, 126, - 77, 81, 81, 81, 81, 81, 111, 110, 126, 126, - 76, 120, 114, 82, 81, 82, 82, 82, 82, 82, - 116, 180, 120, 192, 76, 157, 76, 180, 82, 76, - 76, 89, 89, 89, 89, 89, 83, 159, 83, 76, - 81, 83, 83, 83, 83, 83, 76, 84, 748, 84, - 84, 84, 84, 84, 82, 85, 85, 85, 85, 85, - 136, 122, 84, 90, 90, 90, 90, 90, 85, 103, - 122, 146, 139, 136, 122, 139, 103, 136, 165, 139, - - 162, 165, 165, 171, 146, 175, 159, 171, 84, 191, - 179, 171, 183, 190, 85, 162, 162, 162, 193, 175, - 195, 194, 418, 216, 198, 202, 418, 203, 169, 103, - 199, 206, 207, 103, 209, 263, 191, 103, 179, 309, - 275, 183, 190, 217, 309, 103, 195, 193, 194, 103, - 198, 103, 103, 119, 202, 203, 199, 206, 207, 211, - 209, 119, 119, 119, 119, 119, 169, 169, 169, 217, - 119, 119, 119, 119, 119, 119, 277, 169, 226, 169, - 216, 226, 169, 357, 169, 169, 277, 211, 357, 661, - 661, 263, 270, 275, 263, 280, 119, 119, 119, 119, - - 119, 119, 215, 215, 215, 215, 215, 314, 320, 227, - 280, 215, 215, 215, 215, 215, 215, 227, 270, 291, - 323, 327, 291, 227, 328, 333, 330, 425, 334, 362, - 395, 425, 342, 314, 320, 362, 395, 215, 215, 215, - 215, 215, 215, 377, 415, 400, 323, 314, 377, 415, - 327, 328, 330, 399, 333, 334, 339, 339, 339, 339, - 339, 342, 464, 399, 749, 339, 339, 339, 339, 339, - 339, 391, 391, 391, 400, 433, 452, 391, 458, 433, - 466, 452, 466, 630, 490, 502, 630, 469, 464, 605, - 502, 339, 339, 339, 339, 339, 339, 490, 537, 377, - - 574, 567, 604, 537, 377, 415, 567, 458, 466, 525, - 466, 467, 467, 467, 467, 467, 469, 605, 750, 525, - 467, 467, 467, 467, 467, 467, 486, 606, 604, 608, - 486, 687, 610, 728, 608, 741, 687, 600, 486, 610, - 486, 486, 486, 486, 486, 728, 467, 467, 467, 467, - 467, 467, 600, 700, 744, 574, 606, 742, 700, 743, - 751, 745, 752, 600, 741, 753, 754, 755, 756, 757, - 757, 758, 757, 687, 759, 760, 761, 762, 763, 764, - 765, 600, 766, 744, 742, 767, 743, 745, 768, 769, - 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, - - 700, 780, 781, 779, 782, 783, 784, 779, 785, 786, - 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, - 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, - 808, 809, 810, 808, 811, 813, 814, 815, 816, 817, - 818, 819, 820, 821, 822, 823, 825, 826, 827, 828, - 829, 830, 831, 832, 833, 834, 835, 836, 837, 839, - 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, - 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, - 860, 861, 862, 856, 863, 858, 864, 865, 862, 858, - 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, 893, 894, 895, 896, 897, - 898, 899, 900, 901, 902, 903, 904, 905, 878, 906, - 907, 879, 908, 909, 882, 910, 911, 912, 913, 914, - 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, - 925, 927, 928, 929, 930, 931, 932, 933, 934, 935, - 931, 936, 937, 938, 939, 940, 941, 942, 945, 946, - 947, 948, 949, 950, 951, 954, 955, 956, 957, 958, - 959, 961, 962, 963, 964, 965, 962, 966, 967, 968, - 969, 971, 972, 975, 976, 977, 978, 979, 980, 981, - - 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, - 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, - 1002, 1003, 1004, 1005, 1006, 1007, 1009, 997, 1010, 1011, - 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, - 1024, 1022, 1025, 1026, 1023, 1027, 1028, 1030, 1031, 1032, - 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, - 1043, 1044, 1045, 1046, 1047, 1020, 1019, 1048, 1021, 1022, - 1023, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1057, 1058, - 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1079, 1080, - - 1075, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, - 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, - 1100, 1101, 1102, 1103, 1104, 1106, 1108, 1109, 1110, 1112, - 1113, 1114, 1115, 1117, 1118, 1119, 1120, 1121, 1122, 1123, - 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, - 1134, 1136, 1137, 1138, 1139, 1140, 1075, 1141, 1142, 1143, - 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1155, 1154, 1156, 1158, 1159, 1160, 1161, 1163, 1164, 1165, + 19, 143, 17, 20, 20, 20, 20, 20, 22, 19, + 22, 22, 22, 22, 22, 55, 20, 70, 59, 70, + 742, 54, 57, 22, 70, 64, 171, 55, 17, 54, + 64, 595, 90, 64, 65, 19, 63, 100, 595, 743, + 171, 55, 20, 92, 65, 59, 65, 54, 91, 22, + 45, 59, 45, 45, 45, 45, 55, 54, 45, 90, + + 45, 45, 63, 58, 67, 67, 45, 45, 67, 45, + 58, 95, 92, 63, 67, 91, 45, 100, 45, 45, + 45, 45, 60, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 744, + 95, 61, 60, 58, 61, 61, 60, 58, 61, 60, + 60, 58, 78, 60, 68, 93, 60, 76, 68, 58, + 60, 61, 68, 58, 69, 58, 58, 71, 94, 107, + 71, 71, 69, 104, 68, 75, 75, 109, 68, 78, + 103, 71, 93, 76, 71, 75, 69, 74, 69, 78, + 69, 74, 710, 76, 74, 94, 107, 75, 76, 104, + + 69, 74, 74, 115, 710, 155, 74, 74, 273, 103, + 109, 75, 110, 75, 112, 113, 75, 75, 80, 80, + 80, 80, 80, 273, 161, 114, 75, 161, 161, 115, + 125, 80, 81, 75, 81, 81, 81, 81, 81, 125, + 125, 110, 112, 82, 113, 82, 745, 81, 82, 82, + 82, 82, 82, 114, 155, 746, 83, 80, 83, 83, + 83, 83, 83, 84, 84, 84, 84, 84, 102, 119, + 133, 83, 133, 81, 147, 102, 84, 88, 88, 88, + 88, 88, 89, 89, 89, 89, 89, 119, 134, 133, + 121, 154, 188, 136, 158, 147, 136, 83, 119, 121, + + 136, 134, 84, 121, 179, 134, 175, 165, 102, 158, + 158, 158, 102, 167, 747, 223, 102, 167, 188, 176, + 154, 167, 191, 223, 102, 176, 186, 270, 102, 223, + 102, 102, 118, 179, 175, 187, 189, 270, 198, 190, + 118, 118, 118, 118, 118, 165, 165, 165, 191, 118, + 118, 118, 118, 118, 118, 186, 165, 194, 165, 195, + 199, 165, 187, 165, 165, 189, 190, 198, 202, 203, + 205, 207, 213, 257, 748, 118, 118, 118, 118, 118, + 118, 222, 264, 194, 222, 195, 284, 320, 199, 284, + 298, 307, 298, 313, 202, 203, 205, 316, 213, 207, + + 211, 211, 211, 211, 211, 326, 321, 749, 264, 211, + 211, 211, 211, 211, 211, 302, 320, 307, 323, 313, + 302, 327, 349, 316, 354, 334, 750, 349, 390, 257, + 354, 307, 257, 321, 326, 211, 211, 211, 211, 211, + 211, 367, 403, 751, 323, 389, 367, 403, 327, 332, + 332, 332, 332, 332, 334, 389, 452, 390, 332, 332, + 332, 332, 332, 332, 381, 381, 381, 385, 406, 446, + 381, 413, 406, 385, 421, 413, 440, 454, 421, 454, + 478, 440, 452, 752, 332, 332, 332, 332, 332, 332, + 489, 511, 753, 478, 457, 489, 559, 367, 446, 523, + + 589, 511, 367, 403, 523, 454, 591, 454, 455, 455, + 455, 455, 455, 615, 644, 644, 615, 455, 455, 455, + 455, 455, 455, 457, 474, 552, 589, 590, 474, 724, + 552, 754, 593, 723, 585, 591, 474, 593, 474, 474, + 474, 474, 474, 455, 455, 455, 455, 455, 455, 585, + 725, 559, 669, 682, 726, 590, 724, 669, 682, 727, + 585, 755, 723, 739, 739, 756, 739, 757, 758, 759, + 761, 760, 762, 763, 764, 760, 765, 725, 585, 760, + 766, 767, 768, 726, 769, 727, 770, 771, 772, 773, + 774, 775, 776, 777, 669, 778, 779, 780, 781, 782, + + 682, 783, 784, 785, 786, 787, 788, 789, 790, 788, + 791, 793, 794, 795, 796, 797, 798, 799, 800, 801, + 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, + 813, 814, 815, 816, 818, 819, 820, 821, 822, 823, + 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, + 834, 835, 836, 837, 838, 839, 840, 841, 835, 842, + 837, 843, 844, 841, 837, 846, 847, 848, 849, 850, + 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, + 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, + 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, + + 882, 883, 884, 857, 885, 886, 858, 887, 888, 861, + 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, + 899, 900, 901, 902, 903, 905, 906, 907, 908, 909, + 910, 911, 912, 913, 909, 914, 915, 916, 917, 918, + 919, 920, 923, 924, 925, 926, 927, 928, 929, 932, + 933, 934, 935, 936, 937, 939, 940, 941, 942, 943, + 940, 944, 945, 946, 948, 949, 952, 953, 954, 955, + 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, + 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, + 976, 977, 978, 979, 980, 981, 982, 983, 984, 986, + + 974, 987, 988, 989, 990, 991, 992, 993, 994, 995, + 996, 997, 998, 1001, 999, 1002, 1003, 1000, 1004, 1005, + 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, + 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 997, 996, + 1025, 998, 999, 1000, 1026, 1027, 1028, 1029, 1030, 1031, + 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, + 1042, 1043, 1044, 1045, 1047, 1048, 1049, 1050, 1051, 1052, + 1053, 1055, 1056, 1051, 1057, 1058, 1059, 1060, 1061, 1062, + 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, + 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1081, 1083, 1084, + + 1085, 1087, 1088, 1089, 1090, 1092, 1093, 1094, 1095, 1096, + 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, + 1107, 1108, 1109, 1111, 1112, 1113, 1114, 1115, 1116, 1051, + 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, + 1127, 1128, 1130, 1129, 1131, 1133, 1134, 1135, 1136, 1138, + 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, + 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1127, + 1129, 1130, 1131, 1158, 1159, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, - 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1152, 1154, 1155, - - 1156, 1183, 1184, 1186, 1187, 1188, 1189, 1190, 1191, 1192, - 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1204, 1206, 1207, 1208, 1209, 1210, 1211, 1207, 1212, - 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, - 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, - 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, - 1255, 1256, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1282, 1281, 1283, 1284, 1285, 1286, - - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1296, 1297, - 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1279, 1307, - 1278, 1281, 1280, 1282, 1308, 1309, 1310, 1311, 1312, 1313, - 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, - 1324, 1325, 1328, 1330, 1331, 1332, 1333, 1334, 1335, 1336, + 1176, 1177, 1178, 1179, 1181, 1182, 1183, 1184, 1185, 1186, + + 1182, 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, 1214, 1215, + 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, + 1227, 1229, 1230, 1233, 1234, 1235, 1236, 1237, 1238, 1239, + 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, + 1250, 1251, 1252, 1253, 1254, 1256, 1255, 1257, 1258, 1259, + 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1270, + 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1253, + 1281, 1252, 1255, 1254, 1256, 1282, 1283, 1284, 1285, 1286, + + 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1299, 1302, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, + 1320, 1322, 1324, 1325, 1327, 1328, 1329, 1331, 1332, 1334, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, - 1348, 1350, 1351, 1353, 1354, 1355, 1356, 1358, 1359, 1361, - 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, - 1374, 1375, 1376, 1377, 1378, 1380, 1381, 1382, 1383, 1384, - 1385, 1386, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - - 1397, 1398, 1399, 1400, 1401, 1403, 1404, 1405, 1407, 1408, - 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, - 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1398, 1399, - 1427, 1428, 1400, 1429, 1430, 1373, 1431, 1433, 1434, 1435, - 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, - 1446, 1447, 1448, 1449, 1450, 1407, 1452, 1453, 1454, 1455, - 1456, 1457, 1458, 1459, 1460, 1461, 1454, 1462, 1465, 1466, - 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, - 1477, 1479, 1480, 1481, 1482, 1483, 1487, 1485, 1481, 1485, - 1488, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, - - 1500, 1501, 1502, 1503, 1504, 1507, 1505, 1508, 1509, 1511, - 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, - 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1504, 1503, - 1530, 1502, 1505, 1532, 1533, 1535, 1536, 1537, 1538, 1539, - 1540, 1541, 1542, 1543, 1544, 1545, 1547, 1549, 1551, 1552, - 1554, 1555, 1556, 1557, 1558, 1559, 1504, 1560, 1561, 1562, - 1563, 1565, 1566, 1567, 1568, 1569, 1571, 1575, 1576, 1578, - 1579, 1580, 1582, 1583, 1582, 1584, 1585, 1582, 1586, 1587, - 1582, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1596, 1598, - 1599, 1600, 1601, 1603, 1602, 1604, 1606, 1607, 1608, 1610, - - 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1619, 1620, 1621, - 1618, 1622, 1623, 1624, 1625, 1627, 1628, 1629, 1600, 1601, - 1602, 1618, 1603, 1604, 1630, 1632, 1633, 1634, 1635, 1636, - 1637, 1638, 1639, 1639, 1640, 1641, 1642, 1643, 1644, 1645, - 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, - 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, - 1666, 1667, 1668, 1669, 1670, 1672, 1673, 1674, 1675, 1676, - 1677, 1678, 1679, 1681, 1682, 1683, 1685, 1686, 1688, 1687, - 1689, 1690, 1691, 1694, 1695, 1696, 1699, 1700, 1701, 1702, - 1703, 1704, 1705, 1706, 1707, 1640, 1708, 1709, 1710, 1711, - - 1712, 1715, 1716, 1686, 1717, 1685, 1687, 1688, 1714, 1689, - 1718, 1719, 1720, 1714, 1721, 1722, 1724, 1725, 1726, 1728, - 1729, 1731, 1732, 1733, 1735, 1736, 1737, 1738, 1739, 1742, - 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, - 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, - 1763, 1764, 1766, 1767, 1768, 1769, 1770, 1772, 1773, 1774, - 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, - 1786, 1787, 1788, 1789, 1791, 1792, 1793, 1794, 1795, 1766, - 1768, 1797, 1798, 1799, 1801, 1802, 1803, 1804, 1805, 1806, - 1807, 1808, 1809, 1810, 1812, 1813, 1814, 1815, 1816, 1817, - - 1818, 1819, 1820, 1821, 1822, 1823, 1824, 1825, 1826, 1827, - 1828, 1830, 1832, 1833, 1834, 1828, 1835, 1836, 1838, 1841, - 1839, 1843, 1844, 1845, 1846, 1847, 1848, 1849, 1850, 1852, - 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861, 1862, - 1863, 1864, 1865, 1866, 1867, 1838, 1839, 1868, 1869, 1870, - 1872, 1873, 1874, 1875, 1877, 1878, 1879, 1880, 1881, 1882, - 1883, 1885, 1886, 1887, 1888, 1890, 1892, 1893, 1894, 1895, - 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, - 1908, 1909, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, - 1919, 1920, 1921, 1922, 1923, 1926, 1927, 1899, 1900, 1928, - - 1901, 1929, 1930, 1931, 1932, 1933, 1935, 1936, 1937, 1938, - 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, - 1949, 1947, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, - 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1966, 1967, 1968, - 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1979, - 1951, 1953, 1981, 1983, 1985, 1986, 1987, 1988, 1989, 1990, - 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2002, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, - 2013, 2014, 2015, 2017, 2018, 2019, 2021, 2022, 2023, 2024, - 2025, 2027, 2029, 2031, 2032, 2000, 2034, 2002, 2035, 2036, - - 2037, 2038, 2039, 2040, 2041, 2043, 2044, 2046, 2045, 2047, - 2048, 2049, 2050, 2051, 2052, 2054, 2055, 2056, 2057, 2058, - 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, - 2070, 2071, 2072, 2044, 2045, 2074, 2075, 2076, 2077, 2078, - 2079, 2080, 2081, 2082, 2084, 2085, 2086, 2087, 2088, 2089, - 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, - 2100, 2101, 2102, 2103, 2104, 2105, 2079, 2106, 2107, 2108, - 2109, 2110, 2111, 2114, 2115, 2116, 2118, 2119, 2120, 2121, - 2123, 2124, 2125, 2126, 2131, 2135, 2136, 2137, 2138, 2139, - 2140, 2141, 2143, 2144, 2146, 2147, 2148, 2149, 2150, 2151, - - 2152, 2153, 2155, 2156, 2157, 2158, 2159, 2160, 2162, 2163, - 2165, 2167, 2168, 2169, 2170, 2171, 2172, 2174, 2175, 2176, - 2177, 2178, 2177, 2179, 2180, 2181, 2183, 2184, 2187, 2188, - 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2196, 2197, 2198, - 2199, 2200, 2201, 2202, 2203, 2205, 2206, 2207, 2208, 2211, - 2212, 2213, 2214, 2216, 2217, 2219, 2221, 2223, 2224, 2225, - 2226, 2227, 2228, 2229, 2231, 2236, 2236, 2236, 2237, 2237, - 2237, 2238, 2239, 2238, 2240, 2240, 2240, 2241, 2241, 2241, - 2242, 735, 2242, 2243, 2243, 2243, 734, 733, 732, 731, - 730, 729, 727, 726, 725, 723, 722, 721, 720, 719, - - 718, 717, 716, 715, 714, 713, 712, 711, 709, 708, - 707, 706, 705, 704, 703, 702, 701, 699, 698, 696, - 695, 694, 693, 692, 691, 690, 689, 688, 686, 685, - 684, 683, 682, 680, 679, 677, 676, 675, 674, 673, - 672, 671, 670, 669, 668, 667, 666, 665, 664, 663, - 662, 660, 659, 658, 657, 656, 655, 653, 652, 651, - 650, 649, 648, 647, 645, 644, 643, 642, 641, 640, - 639, 638, 637, 636, 635, 634, 633, 632, 631, 629, - 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, - 618, 617, 616, 615, 614, 613, 612, 611, 607, 599, - - 598, 597, 596, 595, 593, 591, 589, 587, 586, 585, - 584, 583, 582, 581, 580, 579, 578, 577, 576, 575, - 573, 572, 571, 570, 569, 568, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 553, 552, - 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, - 540, 539, 538, 536, 535, 533, 532, 531, 530, 529, - 528, 527, 526, 524, 523, 522, 521, 520, 519, 518, - 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, - 507, 505, 504, 503, 501, 500, 499, 498, 497, 496, - 495, 494, 492, 491, 489, 488, 487, 485, 483, 482, - - 481, 480, 479, 478, 476, 475, 474, 473, 472, 471, - 470, 468, 463, 461, 460, 459, 457, 454, 453, 451, - 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, - 440, 439, 438, 437, 436, 435, 434, 432, 431, 430, - 429, 428, 427, 426, 424, 423, 421, 420, 419, 417, - 416, 414, 413, 412, 411, 410, 409, 408, 407, 406, - 405, 404, 403, 402, 398, 397, 396, 394, 393, 392, - 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, - 380, 379, 378, 376, 375, 374, 373, 372, 371, 370, - 369, 368, 367, 366, 365, 364, 363, 361, 360, 359, - - 358, 356, 355, 354, 353, 352, 351, 350, 349, 348, - 347, 346, 345, 344, 343, 341, 338, 336, 331, 329, - 326, 319, 318, 317, 316, 315, 313, 312, 311, 310, - 308, 307, 306, 304, 303, 302, 301, 300, 299, 298, - 297, 296, 295, 294, 293, 292, 290, 289, 288, 287, - 286, 285, 284, 283, 282, 281, 279, 278, 276, 274, - 273, 272, 271, 269, 268, 267, 266, 265, 264, 262, - 261, 260, 259, 258, 257, 256, 254, 253, 251, 250, - 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, - 239, 238, 237, 236, 235, 234, 233, 232, 231, 230, - - 229, 228, 225, 224, 223, 222, 221, 220, 219, 218, - 212, 210, 208, 205, 200, 196, 188, 187, 186, 185, - 184, 182, 181, 178, 177, 176, 174, 173, 172, 170, - 168, 167, 166, 164, 163, 161, 160, 158, 156, 155, - 154, 153, 152, 151, 149, 148, 147, 145, 144, 143, - 141, 140, 138, 134, 133, 132, 131, 129, 128, 127, - 125, 124, 123, 121, 117, 112, 107, 106, 99, 98, - 78, 73, 67, 64, 53, 50, 49, 43, 41, 39, - 38, 24, 14, 11, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, 2235, - 2235 + 1347, 1348, 1349, 1350, 1351, 1353, 1354, 1355, 1356, 1357, + 1358, 1359, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, + 1370, 1371, 1372, 1373, 1374, 1376, 1377, 1378, 1380, 1381, + 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, + 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1371, 1372, + + 1400, 1401, 1373, 1402, 1403, 1404, 1406, 1407, 1408, 1409, + 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, + 1420, 1421, 1422, 1423, 1425, 1380, 1426, 1427, 1428, 1429, + 1430, 1431, 1432, 1433, 1434, 1427, 1435, 1437, 1438, 1439, + 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, + 1451, 1452, 1453, 1454, 1458, 1456, 1452, 1456, 1459, 1462, + 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, + 1473, 1474, 1475, 1478, 1476, 1479, 1480, 1482, 1483, 1484, + 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, + 1495, 1496, 1497, 1498, 1499, 1500, 1475, 1474, 1501, 1473, + + 1476, 1503, 1504, 1506, 1507, 1508, 1509, 1510, 1511, 1512, + 1513, 1514, 1515, 1516, 1518, 1520, 1522, 1523, 1525, 1526, + 1527, 1528, 1529, 1530, 1475, 1531, 1532, 1533, 1534, 1536, + 1537, 1538, 1539, 1540, 1542, 1546, 1547, 1549, 1550, 1552, + 1553, 1552, 1554, 1555, 1552, 1556, 1557, 1552, 1558, 1559, + 1560, 1561, 1562, 1563, 1564, 1566, 1568, 1569, 1570, 1571, + 1573, 1572, 1574, 1576, 1577, 1578, 1580, 1581, 1582, 1583, + 1584, 1585, 1586, 1587, 1589, 1590, 1591, 1588, 1592, 1593, + 1594, 1595, 1597, 1598, 1599, 1570, 1571, 1572, 1588, 1573, + 1574, 1600, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + + 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, + 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, + 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, + 1639, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1650, + 1651, 1652, 1654, 1655, 1657, 1656, 1658, 1659, 1660, 1663, + 1664, 1665, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, + 1676, 1677, 1610, 1678, 1679, 1680, 1681, 1684, 1685, 1655, + 1686, 1654, 1656, 1657, 1683, 1658, 1687, 1688, 1689, 1683, + 1690, 1691, 1693, 1694, 1695, 1697, 1698, 1700, 1701, 1702, + 1704, 1705, 1706, 1707, 1708, 1711, 1712, 1713, 1714, 1715, + + 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, + 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1734, 1735, 1736, + 1737, 1738, 1740, 1741, 1742, 1744, 1745, 1746, 1747, 1748, + 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1759, + 1760, 1761, 1762, 1763, 1734, 1736, 1765, 1766, 1767, 1769, + 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1780, + 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, + 1791, 1792, 1793, 1794, 1795, 1797, 1799, 1800, 1801, 1795, + 1802, 1803, 1805, 1808, 1806, 1810, 1811, 1812, 1813, 1814, + 1815, 1816, 1817, 1819, 1820, 1821, 1822, 1823, 1824, 1825, + + 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1805, + 1806, 1835, 1836, 1837, 1839, 1840, 1841, 1842, 1844, 1845, + 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1856, + 1858, 1859, 1860, 1861, 1864, 1865, 1866, 1867, 1868, 1869, + 1870, 1871, 1872, 1873, 1874, 1875, 1877, 1878, 1879, 1880, + 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1892, + 1893, 1865, 1866, 1894, 1867, 1895, 1896, 1897, 1898, 1899, + 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, + 1911, 1912, 1913, 1914, 1915, 1913, 1916, 1917, 1918, 1919, + 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, + + 1930, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, + 1941, 1942, 1943, 1945, 1917, 1919, 1947, 1949, 1951, 1952, + 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, + 1963, 1964, 1965, 1966, 1968, 1970, 1971, 1972, 1973, 1974, + 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1983, 1984, 1985, + 1987, 1988, 1989, 1990, 1991, 1993, 1995, 1997, 1998, 1966, + 2000, 1968, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, + 2010, 2012, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2020, + 2021, 2022, 2023, 2024, 2026, 2027, 2028, 2029, 2030, 2031, + 2032, 2033, 2034, 2035, 2036, 2037, 2038, 2010, 2011, 2040, + + 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2050, 2051, + 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, + 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, + 2045, 2072, 2073, 2074, 2075, 2076, 2077, 2080, 2081, 2082, + 2084, 2085, 2086, 2087, 2089, 2090, 2091, 2092, 2097, 2101, + 2102, 2103, 2104, 2105, 2106, 2107, 2109, 2110, 2112, 2113, + 2114, 2115, 2116, 2117, 2118, 2119, 2121, 2122, 2123, 2124, + 2125, 2126, 2128, 2129, 2131, 2133, 2134, 2135, 2136, 2137, + 2138, 2140, 2141, 2142, 2143, 2144, 2143, 2145, 2146, 2147, + 2149, 2150, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, + + 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2171, + 2172, 2173, 2174, 2177, 2178, 2179, 2180, 2182, 2183, 2185, + 2187, 2189, 2190, 2191, 2192, 2193, 2194, 2195, 2197, 2202, + 2202, 2202, 2203, 2203, 2203, 2204, 2205, 2204, 2206, 2206, + 2206, 2207, 2207, 2207, 2208, 738, 2208, 2209, 2209, 2209, + 737, 736, 735, 734, 733, 732, 731, 730, 729, 728, + 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, + 709, 708, 707, 705, 704, 703, 702, 701, 700, 699, + 698, 697, 696, 695, 694, 693, 691, 690, 689, 688, + 687, 686, 685, 684, 683, 681, 680, 678, 677, 676, + + 675, 674, 673, 672, 671, 670, 668, 667, 666, 665, + 663, 662, 660, 659, 658, 657, 656, 655, 654, 653, + 652, 651, 650, 649, 648, 647, 646, 645, 643, 642, + 641, 640, 639, 638, 636, 635, 634, 633, 632, 631, + 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, + 619, 618, 617, 616, 614, 613, 612, 611, 610, 609, + 608, 607, 606, 605, 604, 603, 602, 601, 600, 599, + 598, 597, 596, 592, 584, 583, 582, 581, 580, 578, + 576, 574, 572, 571, 570, 569, 568, 567, 566, 565, + 564, 563, 562, 561, 560, 558, 557, 556, 555, 554, + + 553, 551, 550, 549, 548, 547, 546, 545, 544, 543, + 542, 541, 540, 538, 537, 535, 534, 533, 532, 531, + 530, 529, 528, 527, 526, 525, 524, 522, 521, 519, + 518, 517, 516, 515, 514, 513, 512, 510, 509, 508, + 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, + 497, 496, 495, 494, 493, 491, 490, 488, 487, 486, + 485, 484, 483, 482, 481, 479, 477, 476, 475, 473, + 471, 470, 469, 468, 467, 466, 464, 463, 462, 461, + 460, 459, 458, 456, 451, 449, 448, 447, 445, 442, + 441, 439, 438, 437, 436, 435, 434, 433, 432, 431, + + 430, 429, 428, 427, 426, 425, 424, 423, 422, 420, + 419, 418, 417, 416, 415, 414, 412, 411, 409, 408, + 407, 405, 404, 402, 401, 400, 399, 398, 397, 396, + 395, 394, 393, 392, 391, 388, 387, 386, 384, 383, + 382, 380, 379, 378, 377, 376, 375, 374, 373, 372, + 371, 370, 369, 368, 366, 365, 364, 363, 362, 361, + 360, 359, 358, 357, 356, 355, 353, 352, 351, 350, + 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, + 338, 337, 336, 335, 333, 331, 329, 324, 322, 319, + 312, 311, 310, 309, 308, 306, 305, 304, 303, 301, + + 300, 299, 297, 296, 295, 294, 293, 292, 291, 290, + 289, 288, 287, 286, 285, 283, 282, 281, 280, 279, + 278, 277, 276, 275, 274, 272, 271, 269, 268, 267, + 266, 265, 263, 262, 261, 260, 259, 258, 256, 255, + 254, 253, 252, 251, 250, 248, 247, 245, 244, 243, + 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, + 232, 231, 230, 229, 228, 227, 226, 225, 224, 221, + 220, 219, 218, 217, 216, 215, 214, 212, 208, 206, + 204, 201, 196, 192, 184, 183, 182, 181, 180, 178, + 177, 174, 173, 172, 170, 169, 168, 166, 164, 163, + + 162, 160, 159, 157, 156, 153, 152, 151, 150, 149, + 148, 146, 145, 144, 142, 141, 140, 138, 137, 132, + 131, 130, 128, 127, 126, 124, 123, 122, 120, 116, + 111, 106, 105, 98, 97, 77, 72, 66, 53, 50, + 49, 43, 41, 39, 38, 24, 14, 11, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, 2201, + 2201, 2201, 2201, 2201, 2201 } ; static yy_state_type yy_last_accepting_state; @@ -2118,7 +2099,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[232] = +static const flex_int16_t yy_rule_linenum[226] = { 0, 149, 151, 153, 158, 159, 164, 165, 166, 178, 181, 186, 193, 202, 211, 220, 229, 238, 247, 256, 265, @@ -2134,18 +2115,17 @@ static const flex_int16_t yy_rule_linenum[232] = 1092, 1101, 1110, 1122, 1133, 1143, 1154, 1163, 1172, 1187, 1203, 1212, 1221, 1230, 1239, 1248, 1257, 1266, 1275, 1284, 1293, 1302, 1311, 1335, 1359, 1368, 1378, 1388, 1397, 1407, - 1418, 1427, 1436, 1445, 1454, 1463, 1474, 1485, 1496, 1506, - 1515, 1524, 1533, 1544, 1555, 1566, 1577, 1588, 1597, 1606, - 1615, 1624, 1633, 1642, 1651, 1660, 1669, 1678, 1688, 1700, - 1713, 1722, 1731, 1740, 1750, 1760, 1769, 1780, 1790, 1799, - 1809, 1819, 1828, 1837, 1846, 1855, 1865, 1874, 1883, 1892, - 1901, 1910, 1919, 1928, 1937, 1946, 1955, 1964, 1973, 1982, - 1991, 2000, 2009, 2018, 2027, 2036, 2045, 2054, 2063, 2072, - - 2081, 2090, 2099, 2108, 2117, 2126, 2135, 2144, 2153, 2162, - 2171, 2180, 2189, 2290, 2306, 2355, 2363, 2378, 2379, 2380, - 2381, 2382, 2383, 2385, 2403, 2416, 2421, 2425, 2427, 2429, - 2431 + 1418, 1429, 1440, 1450, 1459, 1468, 1477, 1488, 1499, 1510, + 1521, 1532, 1541, 1550, 1559, 1568, 1577, 1586, 1595, 1604, + 1613, 1622, 1632, 1644, 1657, 1666, 1675, 1684, 1694, 1704, + 1713, 1724, 1734, 1743, 1753, 1763, 1772, 1781, 1790, 1799, + 1809, 1818, 1827, 1836, 1845, 1854, 1863, 1872, 1881, 1890, + 1899, 1908, 1917, 1926, 1935, 1944, 1953, 1962, 1971, 1980, + 1989, 1998, 2007, 2016, 2025, 2034, 2043, 2052, 2061, 2070, + + 2079, 2088, 2097, 2106, 2115, 2124, 2133, 2234, 2250, 2299, + 2307, 2322, 2323, 2324, 2325, 2326, 2327, 2329, 2347, 2360, + 2365, 2369, 2371, 2373, 2375 } ; /* The intent behind this definition is that it'll catch @@ -2200,7 +2180,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 2204 "dhcp6_lexer.cc" +#line 2184 "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 @@ -2226,8 +2206,8 @@ using namespace isc::dhcp; by moving it ahead by yyleng bytes. yyleng specifies the length of the currently matched token. */ #define YY_USER_ACTION driver.loc_.columns(yyleng); -#line 2230 "dhcp6_lexer.cc" -#line 2231 "dhcp6_lexer.cc" +#line 2210 "dhcp6_lexer.cc" +#line 2211 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2557,7 +2537,7 @@ YY_DECL } -#line 2561 "dhcp6_lexer.cc" +#line 2541 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2586,13 +2566,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 >= 2236 ) + if ( yy_current_state >= 2202 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 2235 ); + while ( yy_current_state != 2201 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2611,13 +2591,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 232 ) + else if ( yy_act < 226 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 232 ) + else if ( yy_act == 226 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 233 ) + else if ( yy_act == 227 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -4289,80 +4269,6 @@ YY_RULE_SETUP case 130: YY_RULE_SETUP #line 1407 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::DHCP6: - case isc::dhcp::Parser6Context::SUBNET6: - case isc::dhcp::Parser6Context::SHARED_NETWORK: - return isc::dhcp::Dhcp6Parser::make_RESERVATION_MODE(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("reservation-mode", driver.loc_); - } -} - YY_BREAK -case 131: -YY_RULE_SETUP -#line 1418 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RESERVATION_MODE: - return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("disabled", driver.loc_); - } -} - YY_BREAK -case 132: -YY_RULE_SETUP -#line 1427 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RESERVATION_MODE: - return isc::dhcp::Dhcp6Parser::make_DISABLED(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("off", driver.loc_); - } -} - YY_BREAK -case 133: -YY_RULE_SETUP -#line 1436 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RESERVATION_MODE: - return isc::dhcp::Dhcp6Parser::make_OUT_OF_POOL(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("out-of-pool", driver.loc_); - } -} - YY_BREAK -case 134: -YY_RULE_SETUP -#line 1445 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RESERVATION_MODE: - return isc::dhcp::Dhcp6Parser::make_GLOBAL(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("global", driver.loc_); - } -} - YY_BREAK -case 135: -YY_RULE_SETUP -#line 1454 "dhcp6_lexer.ll" -{ - switch(driver.ctx_) { - case isc::dhcp::Parser6Context::RESERVATION_MODE: - return isc::dhcp::Dhcp6Parser::make_ALL(driver.loc_); - default: - return isc::dhcp::Dhcp6Parser::make_STRING("all", driver.loc_); - } -} - YY_BREAK -case 136: -YY_RULE_SETUP -#line 1463 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4374,9 +4280,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 131: YY_RULE_SETUP -#line 1474 "dhcp6_lexer.ll" +#line 1418 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4388,9 +4294,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 132: YY_RULE_SETUP -#line 1485 "dhcp6_lexer.ll" +#line 1429 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4402,9 +4308,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 133: YY_RULE_SETUP -#line 1496 "dhcp6_lexer.ll" +#line 1440 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4415,9 +4321,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 134: YY_RULE_SETUP -#line 1506 "dhcp6_lexer.ll" +#line 1450 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4427,9 +4333,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 135: YY_RULE_SETUP -#line 1515 "dhcp6_lexer.ll" +#line 1459 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4439,9 +4345,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 136: YY_RULE_SETUP -#line 1524 "dhcp6_lexer.ll" +#line 1468 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4451,9 +4357,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 137: YY_RULE_SETUP -#line 1533 "dhcp6_lexer.ll" +#line 1477 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4465,9 +4371,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 138: YY_RULE_SETUP -#line 1544 "dhcp6_lexer.ll" +#line 1488 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4479,9 +4385,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 139: YY_RULE_SETUP -#line 1555 "dhcp6_lexer.ll" +#line 1499 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4493,9 +4399,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 140: YY_RULE_SETUP -#line 1566 "dhcp6_lexer.ll" +#line 1510 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4507,9 +4413,9 @@ YY_RULE_SETUP } } YY_BREAK -case 147: +case 141: YY_RULE_SETUP -#line 1577 "dhcp6_lexer.ll" +#line 1521 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4521,9 +4427,9 @@ YY_RULE_SETUP } } YY_BREAK -case 148: +case 142: YY_RULE_SETUP -#line 1588 "dhcp6_lexer.ll" +#line 1532 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4533,9 +4439,9 @@ YY_RULE_SETUP } } YY_BREAK -case 149: +case 143: YY_RULE_SETUP -#line 1597 "dhcp6_lexer.ll" +#line 1541 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4545,9 +4451,9 @@ YY_RULE_SETUP } } YY_BREAK -case 150: +case 144: YY_RULE_SETUP -#line 1606 "dhcp6_lexer.ll" +#line 1550 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4557,9 +4463,9 @@ YY_RULE_SETUP } } YY_BREAK -case 151: +case 145: YY_RULE_SETUP -#line 1615 "dhcp6_lexer.ll" +#line 1559 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4569,9 +4475,9 @@ YY_RULE_SETUP } } YY_BREAK -case 152: +case 146: YY_RULE_SETUP -#line 1624 "dhcp6_lexer.ll" +#line 1568 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4581,9 +4487,9 @@ YY_RULE_SETUP } } YY_BREAK -case 153: +case 147: YY_RULE_SETUP -#line 1633 "dhcp6_lexer.ll" +#line 1577 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4593,9 +4499,9 @@ YY_RULE_SETUP } } YY_BREAK -case 154: +case 148: YY_RULE_SETUP -#line 1642 "dhcp6_lexer.ll" +#line 1586 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4605,9 +4511,9 @@ YY_RULE_SETUP } } YY_BREAK -case 155: +case 149: YY_RULE_SETUP -#line 1651 "dhcp6_lexer.ll" +#line 1595 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -4617,9 +4523,9 @@ YY_RULE_SETUP } } YY_BREAK -case 156: +case 150: YY_RULE_SETUP -#line 1660 "dhcp6_lexer.ll" +#line 1604 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4629,9 +4535,9 @@ YY_RULE_SETUP } } YY_BREAK -case 157: +case 151: YY_RULE_SETUP -#line 1669 "dhcp6_lexer.ll" +#line 1613 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -4641,9 +4547,9 @@ YY_RULE_SETUP } } YY_BREAK -case 158: +case 152: YY_RULE_SETUP -#line 1678 "dhcp6_lexer.ll" +#line 1622 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4654,9 +4560,9 @@ YY_RULE_SETUP } } YY_BREAK -case 159: +case 153: YY_RULE_SETUP -#line 1688 "dhcp6_lexer.ll" +#line 1632 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4669,9 +4575,9 @@ YY_RULE_SETUP } } YY_BREAK -case 160: +case 154: YY_RULE_SETUP -#line 1700 "dhcp6_lexer.ll" +#line 1644 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4685,9 +4591,9 @@ YY_RULE_SETUP } } YY_BREAK -case 161: +case 155: YY_RULE_SETUP -#line 1713 "dhcp6_lexer.ll" +#line 1657 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4697,9 +4603,9 @@ YY_RULE_SETUP } } YY_BREAK -case 162: +case 156: YY_RULE_SETUP -#line 1722 "dhcp6_lexer.ll" +#line 1666 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4709,9 +4615,9 @@ YY_RULE_SETUP } } YY_BREAK -case 163: +case 157: YY_RULE_SETUP -#line 1731 "dhcp6_lexer.ll" +#line 1675 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -4721,9 +4627,9 @@ YY_RULE_SETUP } } YY_BREAK -case 164: +case 158: YY_RULE_SETUP -#line 1740 "dhcp6_lexer.ll" +#line 1684 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4734,9 +4640,9 @@ YY_RULE_SETUP } } YY_BREAK -case 165: +case 159: YY_RULE_SETUP -#line 1750 "dhcp6_lexer.ll" +#line 1694 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4747,9 +4653,9 @@ YY_RULE_SETUP } } YY_BREAK -case 166: +case 160: YY_RULE_SETUP -#line 1760 "dhcp6_lexer.ll" +#line 1704 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4759,9 +4665,9 @@ YY_RULE_SETUP } } YY_BREAK -case 167: +case 161: YY_RULE_SETUP -#line 1769 "dhcp6_lexer.ll" +#line 1713 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -4773,9 +4679,9 @@ YY_RULE_SETUP } } YY_BREAK -case 168: +case 162: YY_RULE_SETUP -#line 1780 "dhcp6_lexer.ll" +#line 1724 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4786,9 +4692,9 @@ YY_RULE_SETUP } } YY_BREAK -case 169: +case 163: YY_RULE_SETUP -#line 1790 "dhcp6_lexer.ll" +#line 1734 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -4798,9 +4704,9 @@ YY_RULE_SETUP } } YY_BREAK -case 170: +case 164: YY_RULE_SETUP -#line 1799 "dhcp6_lexer.ll" +#line 1743 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -4811,9 +4717,9 @@ YY_RULE_SETUP } } YY_BREAK -case 171: +case 165: YY_RULE_SETUP -#line 1809 "dhcp6_lexer.ll" +#line 1753 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4824,9 +4730,9 @@ YY_RULE_SETUP } } YY_BREAK -case 172: +case 166: YY_RULE_SETUP -#line 1819 "dhcp6_lexer.ll" +#line 1763 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -4836,9 +4742,9 @@ YY_RULE_SETUP } } YY_BREAK -case 173: +case 167: YY_RULE_SETUP -#line 1828 "dhcp6_lexer.ll" +#line 1772 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4848,9 +4754,9 @@ YY_RULE_SETUP } } YY_BREAK -case 174: +case 168: YY_RULE_SETUP -#line 1837 "dhcp6_lexer.ll" +#line 1781 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4860,9 +4766,9 @@ YY_RULE_SETUP } } YY_BREAK -case 175: +case 169: YY_RULE_SETUP -#line 1846 "dhcp6_lexer.ll" +#line 1790 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -4872,9 +4778,9 @@ YY_RULE_SETUP } } YY_BREAK -case 176: +case 170: YY_RULE_SETUP -#line 1855 "dhcp6_lexer.ll" +#line 1799 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -4885,9 +4791,9 @@ YY_RULE_SETUP } } YY_BREAK -case 177: +case 171: YY_RULE_SETUP -#line 1865 "dhcp6_lexer.ll" +#line 1809 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4897,9 +4803,9 @@ YY_RULE_SETUP } } YY_BREAK -case 178: +case 172: YY_RULE_SETUP -#line 1874 "dhcp6_lexer.ll" +#line 1818 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4909,9 +4815,9 @@ YY_RULE_SETUP } } YY_BREAK -case 179: +case 173: YY_RULE_SETUP -#line 1883 "dhcp6_lexer.ll" +#line 1827 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -4921,9 +4827,9 @@ YY_RULE_SETUP } } YY_BREAK -case 180: +case 174: YY_RULE_SETUP -#line 1892 "dhcp6_lexer.ll" +#line 1836 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -4933,9 +4839,9 @@ YY_RULE_SETUP } } YY_BREAK -case 181: +case 175: YY_RULE_SETUP -#line 1901 "dhcp6_lexer.ll" +#line 1845 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4945,9 +4851,9 @@ YY_RULE_SETUP } } YY_BREAK -case 182: +case 176: YY_RULE_SETUP -#line 1910 "dhcp6_lexer.ll" +#line 1854 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4957,9 +4863,9 @@ YY_RULE_SETUP } } YY_BREAK -case 183: +case 177: YY_RULE_SETUP -#line 1919 "dhcp6_lexer.ll" +#line 1863 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -4969,9 +4875,9 @@ YY_RULE_SETUP } } YY_BREAK -case 184: +case 178: YY_RULE_SETUP -#line 1928 "dhcp6_lexer.ll" +#line 1872 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4981,9 +4887,9 @@ YY_RULE_SETUP } } YY_BREAK -case 185: +case 179: YY_RULE_SETUP -#line 1937 "dhcp6_lexer.ll" +#line 1881 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -4993,9 +4899,9 @@ YY_RULE_SETUP } } YY_BREAK -case 186: +case 180: YY_RULE_SETUP -#line 1946 "dhcp6_lexer.ll" +#line 1890 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5005,9 +4911,9 @@ YY_RULE_SETUP } } YY_BREAK -case 187: +case 181: YY_RULE_SETUP -#line 1955 "dhcp6_lexer.ll" +#line 1899 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -5017,9 +4923,9 @@ YY_RULE_SETUP } } YY_BREAK -case 188: +case 182: YY_RULE_SETUP -#line 1964 "dhcp6_lexer.ll" +#line 1908 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5029,9 +4935,9 @@ YY_RULE_SETUP } } YY_BREAK -case 189: +case 183: YY_RULE_SETUP -#line 1973 "dhcp6_lexer.ll" +#line 1917 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5041,9 +4947,9 @@ YY_RULE_SETUP } } YY_BREAK -case 190: +case 184: YY_RULE_SETUP -#line 1982 "dhcp6_lexer.ll" +#line 1926 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5053,9 +4959,9 @@ YY_RULE_SETUP } } YY_BREAK -case 191: +case 185: YY_RULE_SETUP -#line 1991 "dhcp6_lexer.ll" +#line 1935 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5065,9 +4971,9 @@ YY_RULE_SETUP } } YY_BREAK -case 192: +case 186: YY_RULE_SETUP -#line 2000 "dhcp6_lexer.ll" +#line 1944 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5077,9 +4983,9 @@ YY_RULE_SETUP } } YY_BREAK -case 193: +case 187: YY_RULE_SETUP -#line 2009 "dhcp6_lexer.ll" +#line 1953 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5089,9 +4995,9 @@ YY_RULE_SETUP } } YY_BREAK -case 194: +case 188: YY_RULE_SETUP -#line 2018 "dhcp6_lexer.ll" +#line 1962 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -5101,9 +5007,9 @@ YY_RULE_SETUP } } YY_BREAK -case 195: +case 189: YY_RULE_SETUP -#line 2027 "dhcp6_lexer.ll" +#line 1971 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5113,9 +5019,9 @@ YY_RULE_SETUP } } YY_BREAK -case 196: +case 190: YY_RULE_SETUP -#line 2036 "dhcp6_lexer.ll" +#line 1980 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5125,9 +5031,9 @@ YY_RULE_SETUP } } YY_BREAK -case 197: +case 191: YY_RULE_SETUP -#line 2045 "dhcp6_lexer.ll" +#line 1989 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5137,9 +5043,9 @@ YY_RULE_SETUP } } YY_BREAK -case 198: +case 192: YY_RULE_SETUP -#line 2054 "dhcp6_lexer.ll" +#line 1998 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5149,9 +5055,9 @@ YY_RULE_SETUP } } YY_BREAK -case 199: +case 193: YY_RULE_SETUP -#line 2063 "dhcp6_lexer.ll" +#line 2007 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING: @@ -5161,9 +5067,9 @@ YY_RULE_SETUP } } YY_BREAK -case 200: +case 194: YY_RULE_SETUP -#line 2072 "dhcp6_lexer.ll" +#line 2016 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5173,9 +5079,9 @@ YY_RULE_SETUP } } YY_BREAK -case 201: +case 195: YY_RULE_SETUP -#line 2081 "dhcp6_lexer.ll" +#line 2025 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5185,9 +5091,9 @@ YY_RULE_SETUP } } YY_BREAK -case 202: +case 196: YY_RULE_SETUP -#line 2090 "dhcp6_lexer.ll" +#line 2034 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -5197,9 +5103,9 @@ YY_RULE_SETUP } } YY_BREAK -case 203: +case 197: YY_RULE_SETUP -#line 2099 "dhcp6_lexer.ll" +#line 2043 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5209,9 +5115,9 @@ YY_RULE_SETUP } } YY_BREAK -case 204: +case 198: YY_RULE_SETUP -#line 2108 "dhcp6_lexer.ll" +#line 2052 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5221,9 +5127,9 @@ YY_RULE_SETUP } } YY_BREAK -case 205: +case 199: YY_RULE_SETUP -#line 2117 "dhcp6_lexer.ll" +#line 2061 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5233,9 +5139,9 @@ YY_RULE_SETUP } } YY_BREAK -case 206: +case 200: YY_RULE_SETUP -#line 2126 "dhcp6_lexer.ll" +#line 2070 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL: @@ -5245,9 +5151,9 @@ YY_RULE_SETUP } } YY_BREAK -case 207: +case 201: YY_RULE_SETUP -#line 2135 "dhcp6_lexer.ll" +#line 2079 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5257,9 +5163,9 @@ YY_RULE_SETUP } } YY_BREAK -case 208: +case 202: YY_RULE_SETUP -#line 2144 "dhcp6_lexer.ll" +#line 2088 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5269,9 +5175,9 @@ YY_RULE_SETUP } } YY_BREAK -case 209: +case 203: YY_RULE_SETUP -#line 2153 "dhcp6_lexer.ll" +#line 2097 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5281,9 +5187,9 @@ YY_RULE_SETUP } } YY_BREAK -case 210: +case 204: YY_RULE_SETUP -#line 2162 "dhcp6_lexer.ll" +#line 2106 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5293,9 +5199,9 @@ YY_RULE_SETUP } } YY_BREAK -case 211: +case 205: YY_RULE_SETUP -#line 2171 "dhcp6_lexer.ll" +#line 2115 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -5305,9 +5211,9 @@ YY_RULE_SETUP } } YY_BREAK -case 212: +case 206: YY_RULE_SETUP -#line 2180 "dhcp6_lexer.ll" +#line 2124 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::COMPATIBILITY: @@ -5317,9 +5223,9 @@ YY_RULE_SETUP } } YY_BREAK -case 213: +case 207: YY_RULE_SETUP -#line 2189 "dhcp6_lexer.ll" +#line 2133 "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. @@ -5421,10 +5327,10 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 214: -/* rule 214 can match eol */ +case 208: +/* rule 208 can match eol */ YY_RULE_SETUP -#line 2290 "dhcp6_lexer.ll" +#line 2234 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ std::string raw(yytext+1); @@ -5441,10 +5347,10 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 215: -/* rule 215 can match eol */ +case 209: +/* rule 209 can match eol */ YY_RULE_SETUP -#line 2306 "dhcp6_lexer.ll" +#line 2250 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ std::string raw(yytext+1); @@ -5494,9 +5400,9 @@ YY_RULE_SETUP pos); } YY_BREAK -case 216: +case 210: YY_RULE_SETUP -#line 2355 "dhcp6_lexer.ll" +#line 2299 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ std::string raw(yytext+1); @@ -5505,9 +5411,9 @@ YY_RULE_SETUP raw.size() + 1); } YY_BREAK -case 217: +case 211: YY_RULE_SETUP -#line 2363 "dhcp6_lexer.ll" +#line 2307 "dhcp6_lexer.ll" { /* Bad string with an open unicode escape at the end */ std::string raw(yytext+1); @@ -5523,39 +5429,39 @@ YY_RULE_SETUP pos + 1); } YY_BREAK -case 218: +case 212: YY_RULE_SETUP -#line 2378 "dhcp6_lexer.ll" +#line 2322 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 219: +case 213: YY_RULE_SETUP -#line 2379 "dhcp6_lexer.ll" +#line 2323 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 220: +case 214: YY_RULE_SETUP -#line 2380 "dhcp6_lexer.ll" +#line 2324 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 221: +case 215: YY_RULE_SETUP -#line 2381 "dhcp6_lexer.ll" +#line 2325 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 222: +case 216: YY_RULE_SETUP -#line 2382 "dhcp6_lexer.ll" +#line 2326 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 223: +case 217: YY_RULE_SETUP -#line 2383 "dhcp6_lexer.ll" +#line 2327 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 224: +case 218: YY_RULE_SETUP -#line 2385 "dhcp6_lexer.ll" +#line 2329 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -5574,9 +5480,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 225: +case 219: YY_RULE_SETUP -#line 2403 "dhcp6_lexer.ll" +#line 2347 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -5590,43 +5496,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 226: +case 220: YY_RULE_SETUP -#line 2416 "dhcp6_lexer.ll" +#line 2360 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 227: +case 221: YY_RULE_SETUP -#line 2421 "dhcp6_lexer.ll" +#line 2365 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 228: +case 222: YY_RULE_SETUP -#line 2425 "dhcp6_lexer.ll" +#line 2369 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 229: +case 223: YY_RULE_SETUP -#line 2427 "dhcp6_lexer.ll" +#line 2371 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 230: +case 224: YY_RULE_SETUP -#line 2429 "dhcp6_lexer.ll" +#line 2373 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 231: +case 225: YY_RULE_SETUP -#line 2431 "dhcp6_lexer.ll" +#line 2375 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 2433 "dhcp6_lexer.ll" +#line 2377 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -5650,12 +5556,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 232: +case 226: YY_RULE_SETUP -#line 2456 "dhcp6_lexer.ll" +#line 2400 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 5659 "dhcp6_lexer.cc" +#line 5565 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -5974,7 +5880,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 >= 2236 ) + if ( yy_current_state >= 2202 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -6007,11 +5913,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 2236 ) + if ( yy_current_state >= 2202 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 2235); + yy_is_jam = (yy_current_state == 2201); return yy_is_jam ? 0 : yy_current_state; } @@ -6760,7 +6666,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 2456 "dhcp6_lexer.ll" +#line 2400 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.cc b/src/bin/dhcp6/dhcp6_parser.cc index aabdf623ee..291f9fd8c4 100644 --- a/src/bin/dhcp6/dhcp6_parser.cc +++ b/src/bin/dhcp6/dhcp6_parser.cc @@ -220,7 +220,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.YY_MOVE_OR_COPY< ElementPtr > (YY_MOVE (that.value)); @@ -263,7 +262,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (that.value)); @@ -306,7 +304,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.copy< ElementPtr > (that.value); @@ -348,7 +345,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (that.value); @@ -407,81 +403,75 @@ namespace isc { namespace dhcp { switch (yykind) { case symbol_kind::S_STRING: // "constant string" -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < std::string > (); } -#line 413 "dhcp6_parser.cc" +#line 409 "dhcp6_parser.cc" break; case symbol_kind::S_INTEGER: // "integer" -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < int64_t > (); } -#line 419 "dhcp6_parser.cc" +#line 415 "dhcp6_parser.cc" break; case symbol_kind::S_FLOAT: // "floating point" -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < double > (); } -#line 425 "dhcp6_parser.cc" +#line 421 "dhcp6_parser.cc" break; case symbol_kind::S_BOOLEAN: // "boolean" -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < bool > (); } -#line 431 "dhcp6_parser.cc" +#line 427 "dhcp6_parser.cc" break; case symbol_kind::S_value: // value -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 437 "dhcp6_parser.cc" +#line 433 "dhcp6_parser.cc" break; case symbol_kind::S_map_value: // map_value -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 443 "dhcp6_parser.cc" +#line 439 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 449 "dhcp6_parser.cc" +#line 445 "dhcp6_parser.cc" break; case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 455 "dhcp6_parser.cc" +#line 451 "dhcp6_parser.cc" break; case symbol_kind::S_db_type: // db_type -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 461 "dhcp6_parser.cc" +#line 457 "dhcp6_parser.cc" break; case symbol_kind::S_on_fail_mode: // on_fail_mode -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 467 "dhcp6_parser.cc" - break; - - case symbol_kind::S_hr_mode: // hr_mode -#line 309 "dhcp6_parser.yy" - { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 473 "dhcp6_parser.cc" +#line 463 "dhcp6_parser.cc" break; case symbol_kind::S_duid_type: // duid_type -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 479 "dhcp6_parser.cc" +#line 469 "dhcp6_parser.cc" break; case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value -#line 309 "dhcp6_parser.yy" +#line 303 "dhcp6_parser.yy" { yyoutput << yysym.value.template as < ElementPtr > (); } -#line 485 "dhcp6_parser.cc" +#line 475 "dhcp6_parser.cc" break; default: @@ -717,7 +707,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value yylhs.value.emplace< ElementPtr > (); @@ -760,306 +749,306 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: // $@1: %empty -#line 318 "dhcp6_parser.yy" +#line 312 "dhcp6_parser.yy" { ctx.ctx_ = ctx.NO_KEYWORD; } -#line 766 "dhcp6_parser.cc" +#line 755 "dhcp6_parser.cc" break; case 4: // $@2: %empty -#line 319 "dhcp6_parser.yy" +#line 313 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG; } -#line 772 "dhcp6_parser.cc" +#line 761 "dhcp6_parser.cc" break; case 6: // $@3: %empty -#line 320 "dhcp6_parser.yy" +#line 314 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } -#line 778 "dhcp6_parser.cc" +#line 767 "dhcp6_parser.cc" break; case 8: // $@4: %empty -#line 321 "dhcp6_parser.yy" +#line 315 "dhcp6_parser.yy" { ctx.ctx_ = ctx.INTERFACES_CONFIG; } -#line 784 "dhcp6_parser.cc" +#line 773 "dhcp6_parser.cc" break; case 10: // $@5: %empty -#line 322 "dhcp6_parser.yy" +#line 316 "dhcp6_parser.yy" { ctx.ctx_ = ctx.SUBNET6; } -#line 790 "dhcp6_parser.cc" +#line 779 "dhcp6_parser.cc" break; case 12: // $@6: %empty -#line 323 "dhcp6_parser.yy" +#line 317 "dhcp6_parser.yy" { ctx.ctx_ = ctx.POOLS; } -#line 796 "dhcp6_parser.cc" +#line 785 "dhcp6_parser.cc" break; case 14: // $@7: %empty -#line 324 "dhcp6_parser.yy" +#line 318 "dhcp6_parser.yy" { ctx.ctx_ = ctx.PD_POOLS; } -#line 802 "dhcp6_parser.cc" +#line 791 "dhcp6_parser.cc" break; case 16: // $@8: %empty -#line 325 "dhcp6_parser.yy" +#line 319 "dhcp6_parser.yy" { ctx.ctx_ = ctx.RESERVATIONS; } -#line 808 "dhcp6_parser.cc" +#line 797 "dhcp6_parser.cc" break; case 18: // $@9: %empty -#line 326 "dhcp6_parser.yy" +#line 320 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP6; } -#line 814 "dhcp6_parser.cc" +#line 803 "dhcp6_parser.cc" break; case 20: // $@10: %empty -#line 327 "dhcp6_parser.yy" +#line 321 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DEF; } -#line 820 "dhcp6_parser.cc" +#line 809 "dhcp6_parser.cc" break; case 22: // $@11: %empty -#line 328 "dhcp6_parser.yy" +#line 322 "dhcp6_parser.yy" { ctx.ctx_ = ctx.OPTION_DATA; } -#line 826 "dhcp6_parser.cc" +#line 815 "dhcp6_parser.cc" break; case 24: // $@12: %empty -#line 329 "dhcp6_parser.yy" +#line 323 "dhcp6_parser.yy" { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } -#line 832 "dhcp6_parser.cc" +#line 821 "dhcp6_parser.cc" break; case 26: // $@13: %empty -#line 330 "dhcp6_parser.yy" +#line 324 "dhcp6_parser.yy" { ctx.ctx_ = ctx.DHCP_DDNS; } -#line 838 "dhcp6_parser.cc" +#line 827 "dhcp6_parser.cc" break; case 28: // $@14: %empty -#line 331 "dhcp6_parser.yy" +#line 325 "dhcp6_parser.yy" { ctx.ctx_ = ctx.CONFIG_CONTROL; } -#line 844 "dhcp6_parser.cc" +#line 833 "dhcp6_parser.cc" break; case 30: // value: "integer" -#line 339 "dhcp6_parser.yy" +#line 333 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); } -#line 850 "dhcp6_parser.cc" +#line 839 "dhcp6_parser.cc" break; case 31: // value: "floating point" -#line 340 "dhcp6_parser.yy" +#line 334 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); } -#line 856 "dhcp6_parser.cc" +#line 845 "dhcp6_parser.cc" break; case 32: // value: "boolean" -#line 341 "dhcp6_parser.yy" +#line 335 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); } -#line 862 "dhcp6_parser.cc" +#line 851 "dhcp6_parser.cc" break; case 33: // value: "constant string" -#line 342 "dhcp6_parser.yy" +#line 336 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); } -#line 868 "dhcp6_parser.cc" +#line 857 "dhcp6_parser.cc" break; case 34: // value: "null" -#line 343 "dhcp6_parser.yy" +#line 337 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } -#line 874 "dhcp6_parser.cc" +#line 863 "dhcp6_parser.cc" break; case 35: // value: map2 -#line 344 "dhcp6_parser.yy" +#line 338 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 880 "dhcp6_parser.cc" +#line 869 "dhcp6_parser.cc" break; case 36: // value: list_generic -#line 345 "dhcp6_parser.yy" +#line 339 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 886 "dhcp6_parser.cc" +#line 875 "dhcp6_parser.cc" break; case 37: // sub_json: value -#line 348 "dhcp6_parser.yy" +#line 342 "dhcp6_parser.yy" { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as < ElementPtr > ()); } -#line 895 "dhcp6_parser.cc" +#line 884 "dhcp6_parser.cc" break; case 38: // $@15: %empty -#line 353 "dhcp6_parser.yy" +#line 347 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 906 "dhcp6_parser.cc" +#line 895 "dhcp6_parser.cc" break; case 39: // map2: "{" $@15 map_content "}" -#line 358 "dhcp6_parser.yy" +#line 352 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place // for it. } -#line 916 "dhcp6_parser.cc" +#line 905 "dhcp6_parser.cc" break; case 40: // map_value: map2 -#line 364 "dhcp6_parser.yy" +#line 358 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } -#line 922 "dhcp6_parser.cc" +#line 911 "dhcp6_parser.cc" break; case 43: // not_empty_map: "constant string" ":" value -#line 371 "dhcp6_parser.yy" +#line 365 "dhcp6_parser.yy" { // map containing a single entry ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 932 "dhcp6_parser.cc" +#line 921 "dhcp6_parser.cc" break; case 44: // not_empty_map: not_empty_map "," "constant string" ":" value -#line 376 "dhcp6_parser.yy" +#line 370 "dhcp6_parser.yy" { // map consisting of a shorter map followed by // comma and string:value ctx.unique(yystack_[2].value.as < std::string > (), ctx.loc2pos(yystack_[2].location)); ctx.stack_.back()->set(yystack_[2].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); } -#line 943 "dhcp6_parser.cc" +#line 932 "dhcp6_parser.cc" break; case 45: // not_empty_map: not_empty_map "," -#line 382 "dhcp6_parser.yy" +#line 376 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 951 "dhcp6_parser.cc" +#line 940 "dhcp6_parser.cc" break; case 46: // $@16: %empty -#line 387 "dhcp6_parser.yy" +#line 381 "dhcp6_parser.yy" { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); } -#line 960 "dhcp6_parser.cc" +#line 949 "dhcp6_parser.cc" break; case 47: // list_generic: "[" $@16 list_content "]" -#line 390 "dhcp6_parser.yy" +#line 384 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here } -#line 968 "dhcp6_parser.cc" +#line 957 "dhcp6_parser.cc" break; case 50: // not_empty_list: value -#line 398 "dhcp6_parser.yy" +#line 392 "dhcp6_parser.yy" { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 977 "dhcp6_parser.cc" +#line 966 "dhcp6_parser.cc" break; case 51: // not_empty_list: not_empty_list "," value -#line 402 "dhcp6_parser.yy" +#line 396 "dhcp6_parser.yy" { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as < ElementPtr > ()); } -#line 986 "dhcp6_parser.cc" +#line 975 "dhcp6_parser.cc" break; case 52: // not_empty_list: not_empty_list "," -#line 406 "dhcp6_parser.yy" +#line 400 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 994 "dhcp6_parser.cc" +#line 983 "dhcp6_parser.cc" break; case 53: // $@17: %empty -#line 412 "dhcp6_parser.yy" +#line 406 "dhcp6_parser.yy" { // List parsing about to start } -#line 1002 "dhcp6_parser.cc" +#line 991 "dhcp6_parser.cc" break; case 54: // list_strings: "[" $@17 list_strings_content "]" -#line 414 "dhcp6_parser.yy" +#line 408 "dhcp6_parser.yy" { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); } -#line 1011 "dhcp6_parser.cc" +#line 1000 "dhcp6_parser.cc" break; case 57: // not_empty_list_strings: "constant string" -#line 423 "dhcp6_parser.yy" +#line 417 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 1020 "dhcp6_parser.cc" +#line 1009 "dhcp6_parser.cc" break; case 58: // not_empty_list_strings: not_empty_list_strings "," "constant string" -#line 427 "dhcp6_parser.yy" +#line 421 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); } -#line 1029 "dhcp6_parser.cc" +#line 1018 "dhcp6_parser.cc" break; case 59: // not_empty_list_strings: not_empty_list_strings "," -#line 431 "dhcp6_parser.yy" +#line 425 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1037 "dhcp6_parser.cc" +#line 1026 "dhcp6_parser.cc" break; case 60: // unknown_map_entry: "constant string" ":" -#line 441 "dhcp6_parser.yy" +#line 435 "dhcp6_parser.yy" { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as < std::string > (); error(yystack_[1].location, "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 1048 "dhcp6_parser.cc" +#line 1037 "dhcp6_parser.cc" break; case 61: // $@18: %empty -#line 450 "dhcp6_parser.yy" +#line 444 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1059 "dhcp6_parser.cc" +#line 1048 "dhcp6_parser.cc" break; case 62: // syntax_map: "{" $@18 global_object "}" -#line 455 "dhcp6_parser.yy" +#line 449 "dhcp6_parser.yy" { // map parsing completed. If we ever want to do any wrap up // (maybe some sanity checking), this would be the best place @@ -1068,11 +1057,11 @@ namespace isc { namespace dhcp { // Dhcp6 is required ctx.require("Dhcp6", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); } -#line 1072 "dhcp6_parser.cc" +#line 1061 "dhcp6_parser.cc" break; case 63: // $@19: %empty -#line 465 "dhcp6_parser.yy" +#line 459 "dhcp6_parser.yy" { // This code is executed when we're about to start parsing // the content of the map @@ -1083,352 +1072,352 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP6); } -#line 1087 "dhcp6_parser.cc" +#line 1076 "dhcp6_parser.cc" break; case 64: // global_object: "Dhcp6" $@19 ":" "{" global_params "}" -#line 474 "dhcp6_parser.yy" +#line 468 "dhcp6_parser.yy" { // No global parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1097 "dhcp6_parser.cc" +#line 1086 "dhcp6_parser.cc" break; case 66: // global_object_comma: global_object "," -#line 482 "dhcp6_parser.yy" +#line 476 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1105 "dhcp6_parser.cc" +#line 1094 "dhcp6_parser.cc" break; case 67: // $@20: %empty -#line 488 "dhcp6_parser.yy" +#line 482 "dhcp6_parser.yy" { // Parse the Dhcp6 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1115 "dhcp6_parser.cc" +#line 1104 "dhcp6_parser.cc" break; case 68: // sub_dhcp6: "{" $@20 global_params "}" -#line 492 "dhcp6_parser.yy" +#line 486 "dhcp6_parser.yy" { // No global parameter is required // parsing completed } -#line 1124 "dhcp6_parser.cc" +#line 1113 "dhcp6_parser.cc" break; case 71: // global_params: global_params "," -#line 499 "dhcp6_parser.yy" +#line 493 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1132 "dhcp6_parser.cc" +#line 1121 "dhcp6_parser.cc" break; - case 141: // $@21: %empty -#line 577 "dhcp6_parser.yy" + case 140: // $@21: %empty +#line 570 "dhcp6_parser.yy" { ctx.unique("data-directory", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1141 "dhcp6_parser.cc" +#line 1130 "dhcp6_parser.cc" break; - case 142: // data_directory: "data-directory" $@21 ":" "constant string" -#line 580 "dhcp6_parser.yy" + case 141: // data_directory: "data-directory" $@21 ":" "constant string" +#line 573 "dhcp6_parser.yy" { ElementPtr datadir(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data-directory", datadir); ctx.leave(); } -#line 1151 "dhcp6_parser.cc" +#line 1140 "dhcp6_parser.cc" break; - case 143: // preferred_lifetime: "preferred-lifetime" ":" "integer" -#line 586 "dhcp6_parser.yy" + case 142: // preferred_lifetime: "preferred-lifetime" ":" "integer" +#line 579 "dhcp6_parser.yy" { ctx.unique("preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("preferred-lifetime", prf); } -#line 1161 "dhcp6_parser.cc" +#line 1150 "dhcp6_parser.cc" break; - case 144: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" -#line 592 "dhcp6_parser.yy" + case 143: // min_preferred_lifetime: "min-preferred-lifetime" ":" "integer" +#line 585 "dhcp6_parser.yy" { ctx.unique("min-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-preferred-lifetime", prf); } -#line 1171 "dhcp6_parser.cc" +#line 1160 "dhcp6_parser.cc" break; - case 145: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" -#line 598 "dhcp6_parser.yy" + case 144: // max_preferred_lifetime: "max-preferred-lifetime" ":" "integer" +#line 591 "dhcp6_parser.yy" { ctx.unique("max-preferred-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-preferred-lifetime", prf); } -#line 1181 "dhcp6_parser.cc" +#line 1170 "dhcp6_parser.cc" break; - case 146: // valid_lifetime: "valid-lifetime" ":" "integer" -#line 604 "dhcp6_parser.yy" + case 145: // valid_lifetime: "valid-lifetime" ":" "integer" +#line 597 "dhcp6_parser.yy" { ctx.unique("valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); } -#line 1191 "dhcp6_parser.cc" +#line 1180 "dhcp6_parser.cc" break; - case 147: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" -#line 610 "dhcp6_parser.yy" + case 146: // min_valid_lifetime: "min-valid-lifetime" ":" "integer" +#line 603 "dhcp6_parser.yy" { ctx.unique("min-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("min-valid-lifetime", prf); } -#line 1201 "dhcp6_parser.cc" +#line 1190 "dhcp6_parser.cc" break; - case 148: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" -#line 616 "dhcp6_parser.yy" + case 147: // max_valid_lifetime: "max-valid-lifetime" ":" "integer" +#line 609 "dhcp6_parser.yy" { ctx.unique("max-valid-lifetime", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-valid-lifetime", prf); } -#line 1211 "dhcp6_parser.cc" +#line 1200 "dhcp6_parser.cc" break; - case 149: // renew_timer: "renew-timer" ":" "integer" -#line 622 "dhcp6_parser.yy" + case 148: // renew_timer: "renew-timer" ":" "integer" +#line 615 "dhcp6_parser.yy" { ctx.unique("renew-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); } -#line 1221 "dhcp6_parser.cc" +#line 1210 "dhcp6_parser.cc" break; - case 150: // rebind_timer: "rebind-timer" ":" "integer" -#line 628 "dhcp6_parser.yy" + case 149: // rebind_timer: "rebind-timer" ":" "integer" +#line 621 "dhcp6_parser.yy" { ctx.unique("rebind-timer", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); } -#line 1231 "dhcp6_parser.cc" +#line 1220 "dhcp6_parser.cc" break; - case 151: // calculate_tee_times: "calculate-tee-times" ":" "boolean" -#line 634 "dhcp6_parser.yy" + case 150: // calculate_tee_times: "calculate-tee-times" ":" "boolean" +#line 627 "dhcp6_parser.yy" { ctx.unique("calculate-tee-times", ctx.loc2pos(yystack_[2].location)); ElementPtr ctt(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("calculate-tee-times", ctt); } -#line 1241 "dhcp6_parser.cc" +#line 1230 "dhcp6_parser.cc" break; - case 152: // t1_percent: "t1-percent" ":" "floating point" -#line 640 "dhcp6_parser.yy" + case 151: // t1_percent: "t1-percent" ":" "floating point" +#line 633 "dhcp6_parser.yy" { ctx.unique("t1-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t1(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t1-percent", t1); } -#line 1251 "dhcp6_parser.cc" +#line 1240 "dhcp6_parser.cc" break; - case 153: // t2_percent: "t2-percent" ":" "floating point" -#line 646 "dhcp6_parser.yy" + case 152: // t2_percent: "t2-percent" ":" "floating point" +#line 639 "dhcp6_parser.yy" { ctx.unique("t2-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr t2(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("t2-percent", t2); } -#line 1261 "dhcp6_parser.cc" +#line 1250 "dhcp6_parser.cc" break; - case 154: // cache_threshold: "cache-threshold" ":" "floating point" -#line 652 "dhcp6_parser.yy" + case 153: // cache_threshold: "cache-threshold" ":" "floating point" +#line 645 "dhcp6_parser.yy" { ctx.unique("cache-threshold", ctx.loc2pos(yystack_[2].location)); ElementPtr ct(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cache-threshold", ct); } -#line 1271 "dhcp6_parser.cc" +#line 1260 "dhcp6_parser.cc" break; - case 155: // cache_max_age: "cache-max-age" ":" "integer" -#line 658 "dhcp6_parser.yy" + case 154: // cache_max_age: "cache-max-age" ":" "integer" +#line 651 "dhcp6_parser.yy" { ctx.unique("cache-max-age", ctx.loc2pos(yystack_[2].location)); ElementPtr cm(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cache-max-age", cm); } -#line 1281 "dhcp6_parser.cc" +#line 1270 "dhcp6_parser.cc" break; - case 156: // decline_probation_period: "decline-probation-period" ":" "integer" -#line 664 "dhcp6_parser.yy" + case 155: // decline_probation_period: "decline-probation-period" ":" "integer" +#line 657 "dhcp6_parser.yy" { ctx.unique("decline-probation-period", ctx.loc2pos(yystack_[2].location)); ElementPtr dpp(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); } -#line 1291 "dhcp6_parser.cc" +#line 1280 "dhcp6_parser.cc" break; - case 157: // ddns_send_updates: "ddns-send-updates" ":" "boolean" -#line 670 "dhcp6_parser.yy" + case 156: // ddns_send_updates: "ddns-send-updates" ":" "boolean" +#line 663 "dhcp6_parser.yy" { ctx.unique("ddns-send-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-send-updates", b); } -#line 1301 "dhcp6_parser.cc" +#line 1290 "dhcp6_parser.cc" break; - case 158: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" -#line 676 "dhcp6_parser.yy" + case 157: // ddns_override_no_update: "ddns-override-no-update" ":" "boolean" +#line 669 "dhcp6_parser.yy" { ctx.unique("ddns-override-no-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-no-update", b); } -#line 1311 "dhcp6_parser.cc" +#line 1300 "dhcp6_parser.cc" break; - case 159: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" -#line 682 "dhcp6_parser.yy" + case 158: // ddns_override_client_update: "ddns-override-client-update" ":" "boolean" +#line 675 "dhcp6_parser.yy" { ctx.unique("ddns-override-client-update", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-override-client-update", b); } -#line 1321 "dhcp6_parser.cc" +#line 1310 "dhcp6_parser.cc" break; - case 160: // $@22: %empty -#line 688 "dhcp6_parser.yy" + case 159: // $@22: %empty +#line 681 "dhcp6_parser.yy" { ctx.enter(ctx.REPLACE_CLIENT_NAME); ctx.unique("ddns-replace-client-name", ctx.loc2pos(yystack_[0].location)); } -#line 1330 "dhcp6_parser.cc" +#line 1319 "dhcp6_parser.cc" break; - case 161: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value -#line 691 "dhcp6_parser.yy" + case 160: // ddns_replace_client_name: "ddns-replace-client-name" $@22 ":" ddns_replace_client_name_value +#line 684 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-replace-client-name", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1339 "dhcp6_parser.cc" +#line 1328 "dhcp6_parser.cc" break; - case 162: // ddns_replace_client_name_value: "when-present" -#line 697 "dhcp6_parser.yy" + case 161: // ddns_replace_client_name_value: "when-present" +#line 690 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 1347 "dhcp6_parser.cc" +#line 1336 "dhcp6_parser.cc" break; - case 163: // ddns_replace_client_name_value: "never" -#line 700 "dhcp6_parser.yy" + case 162: // ddns_replace_client_name_value: "never" +#line 693 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 1355 "dhcp6_parser.cc" +#line 1344 "dhcp6_parser.cc" break; - case 164: // ddns_replace_client_name_value: "always" -#line 703 "dhcp6_parser.yy" + case 163: // ddns_replace_client_name_value: "always" +#line 696 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 1363 "dhcp6_parser.cc" +#line 1352 "dhcp6_parser.cc" break; - case 165: // ddns_replace_client_name_value: "when-not-present" -#line 706 "dhcp6_parser.yy" + case 164: // ddns_replace_client_name_value: "when-not-present" +#line 699 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 1371 "dhcp6_parser.cc" +#line 1360 "dhcp6_parser.cc" break; - case 166: // ddns_replace_client_name_value: "boolean" -#line 709 "dhcp6_parser.yy" + case 165: // ddns_replace_client_name_value: "boolean" +#line 702 "dhcp6_parser.yy" { error(yystack_[0].location, "boolean values for the ddns-replace-client-name are " "no longer supported"); } -#line 1380 "dhcp6_parser.cc" +#line 1369 "dhcp6_parser.cc" break; - case 167: // $@23: %empty -#line 715 "dhcp6_parser.yy" + case 166: // $@23: %empty +#line 708 "dhcp6_parser.yy" { ctx.unique("ddns-generated-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1389 "dhcp6_parser.cc" +#line 1378 "dhcp6_parser.cc" break; - case 168: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" -#line 718 "dhcp6_parser.yy" + case 167: // ddns_generated_prefix: "ddns-generated-prefix" $@23 ":" "constant string" +#line 711 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-generated-prefix", s); ctx.leave(); } -#line 1399 "dhcp6_parser.cc" +#line 1388 "dhcp6_parser.cc" break; - case 169: // $@24: %empty -#line 724 "dhcp6_parser.yy" + case 168: // $@24: %empty +#line 717 "dhcp6_parser.yy" { ctx.unique("ddns-qualifying-suffix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1408 "dhcp6_parser.cc" +#line 1397 "dhcp6_parser.cc" break; - case 170: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" -#line 727 "dhcp6_parser.yy" + case 169: // ddns_qualifying_suffix: "ddns-qualifying-suffix" $@24 ":" "constant string" +#line 720 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-qualifying-suffix", s); ctx.leave(); } -#line 1418 "dhcp6_parser.cc" +#line 1407 "dhcp6_parser.cc" break; - case 171: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" -#line 733 "dhcp6_parser.yy" + case 170: // ddns_update_on_renew: "ddns-update-on-renew" ":" "boolean" +#line 726 "dhcp6_parser.yy" { ctx.unique("ddns-update-on-renew", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-update-on-renew", b); } -#line 1428 "dhcp6_parser.cc" +#line 1417 "dhcp6_parser.cc" break; - case 172: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" -#line 742 "dhcp6_parser.yy" + case 171: // ddns_use_conflict_resolution: "ddns-use-conflict-resolution" ":" "boolean" +#line 735 "dhcp6_parser.yy" { ctx.unique("ddns-use-conflict-resolution", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); @@ -1438,236 +1427,236 @@ namespace isc { namespace dhcp { : "no-check-with-dhcid")); ctx.stack_.back()->set("ddns-conflict-resolution-mode", mode); } -#line 1442 "dhcp6_parser.cc" +#line 1431 "dhcp6_parser.cc" break; - case 173: // $@25: %empty -#line 752 "dhcp6_parser.yy" + case 172: // $@25: %empty +#line 745 "dhcp6_parser.yy" { ctx.unique("ddns-conflict-resolution-mode", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DDNS_CONFLICT_RESOLUTION_MODE); } -#line 1451 "dhcp6_parser.cc" +#line 1440 "dhcp6_parser.cc" break; - case 174: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value -#line 755 "dhcp6_parser.yy" + case 173: // ddns_conflict_resolution_mode: "ddns-conflict-resolution-mode" $@25 ":" ddns_conflict_resolution_mode_value +#line 748 "dhcp6_parser.yy" { ctx.stack_.back()->set("ddns-conflict-resolution-mode", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1460 "dhcp6_parser.cc" +#line 1449 "dhcp6_parser.cc" break; - case 175: // ddns_conflict_resolution_mode_value: "check-with-dhcid" -#line 761 "dhcp6_parser.yy" + case 174: // ddns_conflict_resolution_mode_value: "check-with-dhcid" +#line 754 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1468 "dhcp6_parser.cc" +#line 1457 "dhcp6_parser.cc" break; - case 176: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" -#line 764 "dhcp6_parser.yy" + case 175: // ddns_conflict_resolution_mode_value: "no-check-with-dhcid" +#line 757 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1476 "dhcp6_parser.cc" +#line 1465 "dhcp6_parser.cc" break; - case 177: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" -#line 767 "dhcp6_parser.yy" + case 176: // ddns_conflict_resolution_mode_value: "check-exists-with-dhcid" +#line 760 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("check-exists-with-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1484 "dhcp6_parser.cc" +#line 1473 "dhcp6_parser.cc" break; - case 178: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" -#line 770 "dhcp6_parser.yy" + case 177: // ddns_conflict_resolution_mode_value: "no-check-without-dhcid" +#line 763 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("no-check-without-dhcid", ctx.loc2pos(yystack_[0].location))); } -#line 1492 "dhcp6_parser.cc" +#line 1481 "dhcp6_parser.cc" break; - case 179: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" -#line 775 "dhcp6_parser.yy" + case 178: // ddns_ttl_percent: "ddns-ttl-percent" ":" "floating point" +#line 768 "dhcp6_parser.yy" { ctx.unique("ddns-ttl-percent", ctx.loc2pos(yystack_[2].location)); ElementPtr ttl(new DoubleElement(yystack_[0].value.as < double > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ddns-ttl-percent", ttl); } -#line 1502 "dhcp6_parser.cc" +#line 1491 "dhcp6_parser.cc" break; - case 180: // $@26: %empty -#line 781 "dhcp6_parser.yy" + case 179: // $@26: %empty +#line 774 "dhcp6_parser.yy" { ctx.unique("hostname-char-set", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1511 "dhcp6_parser.cc" +#line 1500 "dhcp6_parser.cc" break; - case 181: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" -#line 784 "dhcp6_parser.yy" + case 180: // hostname_char_set: "hostname-char-set" $@26 ":" "constant string" +#line 777 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-set", s); ctx.leave(); } -#line 1521 "dhcp6_parser.cc" +#line 1510 "dhcp6_parser.cc" break; - case 182: // $@27: %empty -#line 790 "dhcp6_parser.yy" + case 181: // $@27: %empty +#line 783 "dhcp6_parser.yy" { ctx.unique("hostname-char-replacement", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1530 "dhcp6_parser.cc" +#line 1519 "dhcp6_parser.cc" break; - case 183: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" -#line 793 "dhcp6_parser.yy" + case 182: // hostname_char_replacement: "hostname-char-replacement" $@27 ":" "constant string" +#line 786 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname-char-replacement", s); ctx.leave(); } -#line 1540 "dhcp6_parser.cc" +#line 1529 "dhcp6_parser.cc" break; - case 184: // store_extended_info: "store-extended-info" ":" "boolean" -#line 799 "dhcp6_parser.yy" + case 183: // store_extended_info: "store-extended-info" ":" "boolean" +#line 792 "dhcp6_parser.yy" { ctx.unique("store-extended-info", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("store-extended-info", b); } -#line 1550 "dhcp6_parser.cc" +#line 1539 "dhcp6_parser.cc" break; - case 185: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" -#line 805 "dhcp6_parser.yy" + case 184: // statistic_default_sample_count: "statistic-default-sample-count" ":" "integer" +#line 798 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-count", ctx.loc2pos(yystack_[2].location)); ElementPtr count(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-count", count); } -#line 1560 "dhcp6_parser.cc" +#line 1549 "dhcp6_parser.cc" break; - case 186: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" -#line 811 "dhcp6_parser.yy" + case 185: // statistic_default_sample_age: "statistic-default-sample-age" ":" "integer" +#line 804 "dhcp6_parser.yy" { ctx.unique("statistic-default-sample-age", ctx.loc2pos(yystack_[2].location)); ElementPtr age(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("statistic-default-sample-age", age); } -#line 1570 "dhcp6_parser.cc" +#line 1559 "dhcp6_parser.cc" break; - case 187: // $@28: %empty -#line 817 "dhcp6_parser.yy" + case 186: // $@28: %empty +#line 810 "dhcp6_parser.yy" { ctx.unique("server-tag", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1579 "dhcp6_parser.cc" +#line 1568 "dhcp6_parser.cc" break; - case 188: // server_tag: "server-tag" $@28 ":" "constant string" -#line 820 "dhcp6_parser.yy" + case 187: // server_tag: "server-tag" $@28 ":" "constant string" +#line 813 "dhcp6_parser.yy" { ElementPtr stag(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-tag", stag); ctx.leave(); } -#line 1589 "dhcp6_parser.cc" +#line 1578 "dhcp6_parser.cc" break; - case 189: // parked_packet_limit: "parked-packet-limit" ":" "integer" -#line 826 "dhcp6_parser.yy" + case 188: // parked_packet_limit: "parked-packet-limit" ":" "integer" +#line 819 "dhcp6_parser.yy" { ctx.unique("parked-packet-limit", ctx.loc2pos(yystack_[2].location)); ElementPtr ppl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("parked-packet-limit", ppl); } -#line 1599 "dhcp6_parser.cc" +#line 1588 "dhcp6_parser.cc" break; - case 190: // $@29: %empty -#line 832 "dhcp6_parser.yy" + case 189: // $@29: %empty +#line 825 "dhcp6_parser.yy" { ctx.unique("allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1608 "dhcp6_parser.cc" +#line 1597 "dhcp6_parser.cc" break; - case 191: // allocator: "allocator" $@29 ":" "constant string" -#line 835 "dhcp6_parser.yy" + case 190: // allocator: "allocator" $@29 ":" "constant string" +#line 828 "dhcp6_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("allocator", al); ctx.leave(); } -#line 1618 "dhcp6_parser.cc" +#line 1607 "dhcp6_parser.cc" break; - case 192: // $@30: %empty -#line 841 "dhcp6_parser.yy" + case 191: // $@30: %empty +#line 834 "dhcp6_parser.yy" { ctx.unique("pd-allocator", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1627 "dhcp6_parser.cc" +#line 1616 "dhcp6_parser.cc" break; - case 193: // pd_allocator: "pd-allocator" $@30 ":" "constant string" -#line 844 "dhcp6_parser.yy" + case 192: // pd_allocator: "pd-allocator" $@30 ":" "constant string" +#line 837 "dhcp6_parser.yy" { ElementPtr al(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pd-allocator", al); ctx.leave(); } -#line 1637 "dhcp6_parser.cc" +#line 1626 "dhcp6_parser.cc" break; - case 194: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" -#line 850 "dhcp6_parser.yy" + case 193: // early_global_reservations_lookup: "early-global-reservations-lookup" ":" "boolean" +#line 843 "dhcp6_parser.yy" { ctx.unique("early-global-reservations-lookup", ctx.loc2pos(yystack_[2].location)); ElementPtr early(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("early-global-reservations-lookup", early); } -#line 1647 "dhcp6_parser.cc" +#line 1636 "dhcp6_parser.cc" break; - case 195: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" -#line 856 "dhcp6_parser.yy" + case 194: // ip_reservations_unique: "ip-reservations-unique" ":" "boolean" +#line 849 "dhcp6_parser.yy" { ctx.unique("ip-reservations-unique", ctx.loc2pos(yystack_[2].location)); ElementPtr unique(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-reservations-unique", unique); } -#line 1657 "dhcp6_parser.cc" +#line 1646 "dhcp6_parser.cc" break; - case 196: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" -#line 862 "dhcp6_parser.yy" + case 195: // reservations_lookup_first: "reservations-lookup-first" ":" "boolean" +#line 855 "dhcp6_parser.yy" { ctx.unique("reservations-lookup-first", ctx.loc2pos(yystack_[2].location)); ElementPtr first(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-lookup-first", first); } -#line 1667 "dhcp6_parser.cc" +#line 1656 "dhcp6_parser.cc" break; - case 197: // $@31: %empty -#line 868 "dhcp6_parser.yy" + case 196: // $@31: %empty +#line 861 "dhcp6_parser.yy" { ctx.unique("interfaces-config", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1675,48 +1664,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.INTERFACES_CONFIG); } -#line 1679 "dhcp6_parser.cc" +#line 1668 "dhcp6_parser.cc" break; - case 198: // interfaces_config: "interfaces-config" $@31 ":" "{" interfaces_config_params "}" -#line 874 "dhcp6_parser.yy" + case 197: // interfaces_config: "interfaces-config" $@31 ":" "{" interfaces_config_params "}" +#line 867 "dhcp6_parser.yy" { // No interfaces config param is required ctx.stack_.pop_back(); ctx.leave(); } -#line 1689 "dhcp6_parser.cc" +#line 1678 "dhcp6_parser.cc" break; - case 199: // $@32: %empty -#line 880 "dhcp6_parser.yy" + case 198: // $@32: %empty +#line 873 "dhcp6_parser.yy" { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1699 "dhcp6_parser.cc" +#line 1688 "dhcp6_parser.cc" break; - case 200: // sub_interfaces6: "{" $@32 interfaces_config_params "}" -#line 884 "dhcp6_parser.yy" + case 199: // sub_interfaces6: "{" $@32 interfaces_config_params "}" +#line 877 "dhcp6_parser.yy" { // No interfaces config param is required // parsing completed } -#line 1708 "dhcp6_parser.cc" +#line 1697 "dhcp6_parser.cc" break; - case 203: // interfaces_config_params: interfaces_config_params "," -#line 891 "dhcp6_parser.yy" + case 202: // interfaces_config_params: interfaces_config_params "," +#line 884 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1716 "dhcp6_parser.cc" +#line 1705 "dhcp6_parser.cc" break; - case 212: // $@33: %empty -#line 906 "dhcp6_parser.yy" + case 211: // $@33: %empty +#line 899 "dhcp6_parser.yy" { ctx.unique("interfaces", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1724,60 +1713,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 1728 "dhcp6_parser.cc" +#line 1717 "dhcp6_parser.cc" break; - case 213: // interfaces_list: "interfaces" $@33 ":" list_strings -#line 912 "dhcp6_parser.yy" + case 212: // interfaces_list: "interfaces" $@33 ":" list_strings +#line 905 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1737 "dhcp6_parser.cc" +#line 1726 "dhcp6_parser.cc" break; - case 214: // re_detect: "re-detect" ":" "boolean" -#line 917 "dhcp6_parser.yy" + case 213: // re_detect: "re-detect" ":" "boolean" +#line 910 "dhcp6_parser.yy" { ctx.unique("re-detect", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); } -#line 1747 "dhcp6_parser.cc" +#line 1736 "dhcp6_parser.cc" break; - case 215: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" -#line 923 "dhcp6_parser.yy" + case 214: // service_sockets_require_all: "service-sockets-require-all" ":" "boolean" +#line 916 "dhcp6_parser.yy" { ctx.unique("service-sockets-require-all", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-require-all", b); } -#line 1757 "dhcp6_parser.cc" +#line 1746 "dhcp6_parser.cc" break; - case 216: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" -#line 929 "dhcp6_parser.yy" + case 215: // service_sockets_retry_wait_time: "service-sockets-retry-wait-time" ":" "integer" +#line 922 "dhcp6_parser.yy" { ctx.unique("service-sockets-retry-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-retry-wait-time", n); } -#line 1767 "dhcp6_parser.cc" +#line 1756 "dhcp6_parser.cc" break; - case 217: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" -#line 935 "dhcp6_parser.yy" + case 216: // service_sockets_max_retries: "service-sockets-max-retries" ":" "integer" +#line 928 "dhcp6_parser.yy" { ctx.unique("service-sockets-max-retries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("service-sockets-max-retries", n); } -#line 1777 "dhcp6_parser.cc" +#line 1766 "dhcp6_parser.cc" break; - case 218: // $@34: %empty -#line 941 "dhcp6_parser.yy" + case 217: // $@34: %empty +#line 934 "dhcp6_parser.yy" { ctx.unique("lease-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1785,22 +1774,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.LEASE_DATABASE); } -#line 1789 "dhcp6_parser.cc" +#line 1778 "dhcp6_parser.cc" break; - case 219: // lease_database: "lease-database" $@34 ":" "{" database_map_params "}" -#line 947 "dhcp6_parser.yy" + case 218: // lease_database: "lease-database" $@34 ":" "{" database_map_params "}" +#line 940 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1800 "dhcp6_parser.cc" +#line 1789 "dhcp6_parser.cc" break; - case 220: // $@35: %empty -#line 954 "dhcp6_parser.yy" + case 219: // $@35: %empty +#line 947 "dhcp6_parser.yy" { ctx.unique("hosts-database", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1808,22 +1797,22 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1812 "dhcp6_parser.cc" +#line 1801 "dhcp6_parser.cc" break; - case 221: // hosts_database: "hosts-database" $@35 ":" "{" database_map_params "}" -#line 960 "dhcp6_parser.yy" + case 220: // hosts_database: "hosts-database" $@35 ":" "{" database_map_params "}" +#line 953 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 1823 "dhcp6_parser.cc" +#line 1812 "dhcp6_parser.cc" break; - case 222: // $@36: %empty -#line 967 "dhcp6_parser.yy" + case 221: // $@36: %empty +#line 960 "dhcp6_parser.yy" { ctx.unique("hosts-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -1831,400 +1820,400 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOSTS_DATABASE); } -#line 1835 "dhcp6_parser.cc" +#line 1824 "dhcp6_parser.cc" break; - case 223: // hosts_databases: "hosts-databases" $@36 ":" "[" database_list "]" -#line 973 "dhcp6_parser.yy" + case 222: // hosts_databases: "hosts-databases" $@36 ":" "[" database_list "]" +#line 966 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 1844 "dhcp6_parser.cc" +#line 1833 "dhcp6_parser.cc" break; - case 228: // not_empty_database_list: not_empty_database_list "," -#line 984 "dhcp6_parser.yy" + case 227: // not_empty_database_list: not_empty_database_list "," +#line 977 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1852 "dhcp6_parser.cc" +#line 1841 "dhcp6_parser.cc" break; - case 229: // $@37: %empty -#line 989 "dhcp6_parser.yy" + case 228: // $@37: %empty +#line 982 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 1862 "dhcp6_parser.cc" +#line 1851 "dhcp6_parser.cc" break; - case 230: // database: "{" $@37 database_map_params "}" -#line 993 "dhcp6_parser.yy" + case 229: // database: "{" $@37 database_map_params "}" +#line 986 "dhcp6_parser.yy" { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 1872 "dhcp6_parser.cc" +#line 1861 "dhcp6_parser.cc" break; - case 233: // database_map_params: database_map_params "," -#line 1001 "dhcp6_parser.yy" + case 232: // database_map_params: database_map_params "," +#line 994 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 1880 "dhcp6_parser.cc" +#line 1869 "dhcp6_parser.cc" break; - case 257: // $@38: %empty -#line 1031 "dhcp6_parser.yy" + case 256: // $@38: %empty +#line 1024 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_TYPE); } -#line 1889 "dhcp6_parser.cc" +#line 1878 "dhcp6_parser.cc" break; - case 258: // database_type: "type" $@38 ":" db_type -#line 1034 "dhcp6_parser.yy" + case 257: // database_type: "type" $@38 ":" db_type +#line 1027 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 1898 "dhcp6_parser.cc" +#line 1887 "dhcp6_parser.cc" break; - case 259: // db_type: "memfile" -#line 1039 "dhcp6_parser.yy" + case 258: // db_type: "memfile" +#line 1032 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } -#line 1904 "dhcp6_parser.cc" +#line 1893 "dhcp6_parser.cc" break; - case 260: // db_type: "mysql" -#line 1040 "dhcp6_parser.yy" + case 259: // db_type: "mysql" +#line 1033 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } -#line 1910 "dhcp6_parser.cc" +#line 1899 "dhcp6_parser.cc" break; - case 261: // db_type: "postgresql" -#line 1041 "dhcp6_parser.yy" + case 260: // db_type: "postgresql" +#line 1034 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } -#line 1916 "dhcp6_parser.cc" +#line 1905 "dhcp6_parser.cc" break; - case 262: // $@39: %empty -#line 1044 "dhcp6_parser.yy" + case 261: // $@39: %empty +#line 1037 "dhcp6_parser.yy" { ctx.unique("user", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1925 "dhcp6_parser.cc" +#line 1914 "dhcp6_parser.cc" break; - case 263: // user: "user" $@39 ":" "constant string" -#line 1047 "dhcp6_parser.yy" + case 262: // user: "user" $@39 ":" "constant string" +#line 1040 "dhcp6_parser.yy" { ElementPtr user(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); ctx.leave(); } -#line 1935 "dhcp6_parser.cc" +#line 1924 "dhcp6_parser.cc" break; - case 264: // $@40: %empty -#line 1053 "dhcp6_parser.yy" + case 263: // $@40: %empty +#line 1046 "dhcp6_parser.yy" { ctx.unique("password", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1944 "dhcp6_parser.cc" +#line 1933 "dhcp6_parser.cc" break; - case 265: // password: "password" $@40 ":" "constant string" -#line 1056 "dhcp6_parser.yy" + case 264: // password: "password" $@40 ":" "constant string" +#line 1049 "dhcp6_parser.yy" { ElementPtr pwd(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); ctx.leave(); } -#line 1954 "dhcp6_parser.cc" +#line 1943 "dhcp6_parser.cc" break; - case 266: // $@41: %empty -#line 1062 "dhcp6_parser.yy" + case 265: // $@41: %empty +#line 1055 "dhcp6_parser.yy" { ctx.unique("host", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1963 "dhcp6_parser.cc" +#line 1952 "dhcp6_parser.cc" break; - case 267: // host: "host" $@41 ":" "constant string" -#line 1065 "dhcp6_parser.yy" + case 266: // host: "host" $@41 ":" "constant string" +#line 1058 "dhcp6_parser.yy" { ElementPtr h(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); ctx.leave(); } -#line 1973 "dhcp6_parser.cc" +#line 1962 "dhcp6_parser.cc" break; - case 268: // port: "port" ":" "integer" -#line 1071 "dhcp6_parser.yy" + case 267: // port: "port" ":" "integer" +#line 1064 "dhcp6_parser.yy" { ctx.unique("port", ctx.loc2pos(yystack_[2].location)); ElementPtr p(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); } -#line 1983 "dhcp6_parser.cc" +#line 1972 "dhcp6_parser.cc" break; - case 269: // $@42: %empty -#line 1077 "dhcp6_parser.yy" + case 268: // $@42: %empty +#line 1070 "dhcp6_parser.yy" { ctx.unique("name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 1992 "dhcp6_parser.cc" +#line 1981 "dhcp6_parser.cc" break; - case 270: // name: "name" $@42 ":" "constant string" -#line 1080 "dhcp6_parser.yy" + case 269: // name: "name" $@42 ":" "constant string" +#line 1073 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("name", name); ctx.leave(); } -#line 2002 "dhcp6_parser.cc" +#line 1991 "dhcp6_parser.cc" break; - case 271: // persist: "persist" ":" "boolean" -#line 1086 "dhcp6_parser.yy" + case 270: // persist: "persist" ":" "boolean" +#line 1079 "dhcp6_parser.yy" { ctx.unique("persist", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); } -#line 2012 "dhcp6_parser.cc" +#line 2001 "dhcp6_parser.cc" break; - case 272: // lfc_interval: "lfc-interval" ":" "integer" -#line 1092 "dhcp6_parser.yy" + case 271: // lfc_interval: "lfc-interval" ":" "integer" +#line 1085 "dhcp6_parser.yy" { ctx.unique("lfc-interval", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); } -#line 2022 "dhcp6_parser.cc" +#line 2011 "dhcp6_parser.cc" break; - case 273: // readonly: "readonly" ":" "boolean" -#line 1098 "dhcp6_parser.yy" + case 272: // readonly: "readonly" ":" "boolean" +#line 1091 "dhcp6_parser.yy" { ctx.unique("readonly", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); } -#line 2032 "dhcp6_parser.cc" +#line 2021 "dhcp6_parser.cc" break; - case 274: // connect_timeout: "connect-timeout" ":" "integer" -#line 1104 "dhcp6_parser.yy" + case 273: // connect_timeout: "connect-timeout" ":" "integer" +#line 1097 "dhcp6_parser.yy" { ctx.unique("connect-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); } -#line 2042 "dhcp6_parser.cc" +#line 2031 "dhcp6_parser.cc" break; - case 275: // read_timeout: "read-timeout" ":" "integer" -#line 1110 "dhcp6_parser.yy" + case 274: // read_timeout: "read-timeout" ":" "integer" +#line 1103 "dhcp6_parser.yy" { ctx.unique("read-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("read-timeout", n); } -#line 2052 "dhcp6_parser.cc" +#line 2041 "dhcp6_parser.cc" break; - case 276: // write_timeout: "write-timeout" ":" "integer" -#line 1116 "dhcp6_parser.yy" + case 275: // write_timeout: "write-timeout" ":" "integer" +#line 1109 "dhcp6_parser.yy" { ctx.unique("write-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("write-timeout", n); } -#line 2062 "dhcp6_parser.cc" +#line 2051 "dhcp6_parser.cc" break; - case 277: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" -#line 1122 "dhcp6_parser.yy" + case 276: // tcp_user_timeout: "tcp-user-timeout" ":" "integer" +#line 1115 "dhcp6_parser.yy" { ctx.unique("tcp-user-timeout", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("tcp-user-timeout", n); } -#line 2072 "dhcp6_parser.cc" +#line 2061 "dhcp6_parser.cc" break; - case 278: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" -#line 1129 "dhcp6_parser.yy" + case 277: // reconnect_wait_time: "reconnect-wait-time" ":" "integer" +#line 1122 "dhcp6_parser.yy" { ctx.unique("reconnect-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reconnect-wait-time", n); } -#line 2082 "dhcp6_parser.cc" +#line 2071 "dhcp6_parser.cc" break; - case 279: // $@43: %empty -#line 1135 "dhcp6_parser.yy" + case 278: // $@43: %empty +#line 1128 "dhcp6_parser.yy" { ctx.unique("on-fail", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DATABASE_ON_FAIL); } -#line 2091 "dhcp6_parser.cc" +#line 2080 "dhcp6_parser.cc" break; - case 280: // on_fail: "on-fail" $@43 ":" on_fail_mode -#line 1138 "dhcp6_parser.yy" + case 279: // on_fail: "on-fail" $@43 ":" on_fail_mode +#line 1131 "dhcp6_parser.yy" { ctx.stack_.back()->set("on-fail", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2100 "dhcp6_parser.cc" +#line 2089 "dhcp6_parser.cc" break; - case 281: // on_fail_mode: "stop-retry-exit" -#line 1143 "dhcp6_parser.yy" + case 280: // on_fail_mode: "stop-retry-exit" +#line 1136 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("stop-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2106 "dhcp6_parser.cc" +#line 2095 "dhcp6_parser.cc" break; - case 282: // on_fail_mode: "serve-retry-exit" -#line 1144 "dhcp6_parser.yy" + case 281: // on_fail_mode: "serve-retry-exit" +#line 1137 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-exit", ctx.loc2pos(yystack_[0].location))); } -#line 2112 "dhcp6_parser.cc" +#line 2101 "dhcp6_parser.cc" break; - case 283: // on_fail_mode: "serve-retry-continue" -#line 1145 "dhcp6_parser.yy" + case 282: // on_fail_mode: "serve-retry-continue" +#line 1138 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("serve-retry-continue", ctx.loc2pos(yystack_[0].location))); } -#line 2118 "dhcp6_parser.cc" +#line 2107 "dhcp6_parser.cc" break; - case 284: // retry_on_startup: "retry-on-startup" ":" "boolean" -#line 1148 "dhcp6_parser.yy" + case 283: // retry_on_startup: "retry-on-startup" ":" "boolean" +#line 1141 "dhcp6_parser.yy" { ctx.unique("retry-on-startup", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("retry-on-startup", n); } -#line 2128 "dhcp6_parser.cc" +#line 2117 "dhcp6_parser.cc" break; - case 285: // max_row_errors: "max-row-errors" ":" "integer" -#line 1154 "dhcp6_parser.yy" + case 284: // max_row_errors: "max-row-errors" ":" "integer" +#line 1147 "dhcp6_parser.yy" { ctx.unique("max-row-errors", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-row-errors", n); } -#line 2138 "dhcp6_parser.cc" +#line 2127 "dhcp6_parser.cc" break; - case 286: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" -#line 1160 "dhcp6_parser.yy" + case 285: // max_reconnect_tries: "max-reconnect-tries" ":" "integer" +#line 1153 "dhcp6_parser.yy" { ctx.unique("max-reconnect-tries", ctx.loc2pos(yystack_[2].location)); ElementPtr n(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reconnect-tries", n); } -#line 2148 "dhcp6_parser.cc" +#line 2137 "dhcp6_parser.cc" break; - case 287: // $@44: %empty -#line 1166 "dhcp6_parser.yy" + case 286: // $@44: %empty +#line 1159 "dhcp6_parser.yy" { ctx.unique("trust-anchor", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2157 "dhcp6_parser.cc" +#line 2146 "dhcp6_parser.cc" break; - case 288: // trust_anchor: "trust-anchor" $@44 ":" "constant string" -#line 1169 "dhcp6_parser.yy" + case 287: // trust_anchor: "trust-anchor" $@44 ":" "constant string" +#line 1162 "dhcp6_parser.yy" { ElementPtr ca(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("trust-anchor", ca); ctx.leave(); } -#line 2167 "dhcp6_parser.cc" +#line 2156 "dhcp6_parser.cc" break; - case 289: // $@45: %empty -#line 1175 "dhcp6_parser.yy" + case 288: // $@45: %empty +#line 1168 "dhcp6_parser.yy" { ctx.unique("cert-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2176 "dhcp6_parser.cc" +#line 2165 "dhcp6_parser.cc" break; - case 290: // cert_file: "cert-file" $@45 ":" "constant string" -#line 1178 "dhcp6_parser.yy" + case 289: // cert_file: "cert-file" $@45 ":" "constant string" +#line 1171 "dhcp6_parser.yy" { ElementPtr cert(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cert-file", cert); ctx.leave(); } -#line 2186 "dhcp6_parser.cc" +#line 2175 "dhcp6_parser.cc" break; - case 291: // $@46: %empty -#line 1184 "dhcp6_parser.yy" + case 290: // $@46: %empty +#line 1177 "dhcp6_parser.yy" { ctx.unique("key-file", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2195 "dhcp6_parser.cc" +#line 2184 "dhcp6_parser.cc" break; - case 292: // key_file: "key-file" $@46 ":" "constant string" -#line 1187 "dhcp6_parser.yy" + case 291: // key_file: "key-file" $@46 ":" "constant string" +#line 1180 "dhcp6_parser.yy" { ElementPtr key(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("key-file", key); ctx.leave(); } -#line 2205 "dhcp6_parser.cc" +#line 2194 "dhcp6_parser.cc" break; - case 293: // $@47: %empty -#line 1193 "dhcp6_parser.yy" + case 292: // $@47: %empty +#line 1186 "dhcp6_parser.yy" { ctx.unique("cipher-list", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2214 "dhcp6_parser.cc" +#line 2203 "dhcp6_parser.cc" break; - case 294: // cipher_list: "cipher-list" $@47 ":" "constant string" -#line 1196 "dhcp6_parser.yy" + case 293: // cipher_list: "cipher-list" $@47 ":" "constant string" +#line 1189 "dhcp6_parser.yy" { ElementPtr cl(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("cipher-list", cl); ctx.leave(); } -#line 2224 "dhcp6_parser.cc" +#line 2213 "dhcp6_parser.cc" break; - case 295: // $@48: %empty -#line 1202 "dhcp6_parser.yy" + case 294: // $@48: %empty +#line 1195 "dhcp6_parser.yy" { ctx.unique("sanity-checks", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2232,37 +2221,37 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SANITY_CHECKS); } -#line 2236 "dhcp6_parser.cc" +#line 2225 "dhcp6_parser.cc" break; - case 296: // sanity_checks: "sanity-checks" $@48 ":" "{" sanity_checks_params "}" -#line 1208 "dhcp6_parser.yy" + case 295: // sanity_checks: "sanity-checks" $@48 ":" "{" sanity_checks_params "}" +#line 1201 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2245 "dhcp6_parser.cc" +#line 2234 "dhcp6_parser.cc" break; - case 299: // sanity_checks_params: sanity_checks_params "," -#line 1215 "dhcp6_parser.yy" + case 298: // sanity_checks_params: sanity_checks_params "," +#line 1208 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2253 "dhcp6_parser.cc" +#line 2242 "dhcp6_parser.cc" break; - case 302: // $@49: %empty -#line 1224 "dhcp6_parser.yy" + case 301: // $@49: %empty +#line 1217 "dhcp6_parser.yy" { ctx.unique("lease-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2262 "dhcp6_parser.cc" +#line 2251 "dhcp6_parser.cc" break; - case 303: // lease_checks: "lease-checks" $@49 ":" "constant string" -#line 1227 "dhcp6_parser.yy" + case 302: // lease_checks: "lease-checks" $@49 ":" "constant string" +#line 1220 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -2278,20 +2267,20 @@ namespace isc { namespace dhcp { ", supported values are: none, warn, fix, fix-del, del"); } } -#line 2282 "dhcp6_parser.cc" +#line 2271 "dhcp6_parser.cc" break; - case 304: // $@50: %empty -#line 1243 "dhcp6_parser.yy" + case 303: // $@50: %empty +#line 1236 "dhcp6_parser.yy" { ctx.unique("extended-info-checks", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2291 "dhcp6_parser.cc" +#line 2280 "dhcp6_parser.cc" break; - case 305: // extended_info_checks: "extended-info-checks" $@50 ":" "constant string" -#line 1246 "dhcp6_parser.yy" + case 304: // extended_info_checks: "extended-info-checks" $@50 ":" "constant string" +#line 1239 "dhcp6_parser.yy" { if ( (string(yystack_[0].value.as < std::string > ()) == "none") || @@ -2306,11 +2295,11 @@ namespace isc { namespace dhcp { ", supported values are: none, fix, strict, pedantic"); } } -#line 2310 "dhcp6_parser.cc" +#line 2299 "dhcp6_parser.cc" break; - case 306: // $@51: %empty -#line 1261 "dhcp6_parser.yy" + case 305: // $@51: %empty +#line 1254 "dhcp6_parser.yy" { ctx.unique("mac-sources", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2318,46 +2307,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.MAC_SOURCES); } -#line 2322 "dhcp6_parser.cc" +#line 2311 "dhcp6_parser.cc" break; - case 307: // mac_sources: "mac-sources" $@51 ":" "[" mac_sources_list "]" -#line 1267 "dhcp6_parser.yy" + case 306: // mac_sources: "mac-sources" $@51 ":" "[" mac_sources_list "]" +#line 1260 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2331 "dhcp6_parser.cc" +#line 2320 "dhcp6_parser.cc" break; - case 310: // mac_sources_list: mac_sources_list "," -#line 1274 "dhcp6_parser.yy" + case 309: // mac_sources_list: mac_sources_list "," +#line 1267 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2339 "dhcp6_parser.cc" +#line 2328 "dhcp6_parser.cc" break; - case 313: // duid_id: "duid" -#line 1283 "dhcp6_parser.yy" + case 312: // duid_id: "duid" +#line 1276 "dhcp6_parser.yy" { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2348 "dhcp6_parser.cc" +#line 2337 "dhcp6_parser.cc" break; - case 314: // string_id: "constant string" -#line 1288 "dhcp6_parser.yy" + case 313: // string_id: "constant string" +#line 1281 "dhcp6_parser.yy" { ElementPtr duid(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); } -#line 2357 "dhcp6_parser.cc" +#line 2346 "dhcp6_parser.cc" break; - case 315: // $@52: %empty -#line 1293 "dhcp6_parser.yy" + case 314: // $@52: %empty +#line 1286 "dhcp6_parser.yy" { ctx.unique("host-reservation-identifiers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2365,46 +2354,46 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOST_RESERVATION_IDENTIFIERS); } -#line 2369 "dhcp6_parser.cc" +#line 2358 "dhcp6_parser.cc" break; - case 316: // host_reservation_identifiers: "host-reservation-identifiers" $@52 ":" "[" host_reservation_identifiers_list "]" -#line 1299 "dhcp6_parser.yy" + case 315: // host_reservation_identifiers: "host-reservation-identifiers" $@52 ":" "[" host_reservation_identifiers_list "]" +#line 1292 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2378 "dhcp6_parser.cc" +#line 2367 "dhcp6_parser.cc" break; - case 319: // host_reservation_identifiers_list: host_reservation_identifiers_list "," -#line 1306 "dhcp6_parser.yy" + case 318: // host_reservation_identifiers_list: host_reservation_identifiers_list "," +#line 1299 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2386 "dhcp6_parser.cc" +#line 2375 "dhcp6_parser.cc" break; - case 323: // hw_address_id: "hw-address" -#line 1316 "dhcp6_parser.yy" + case 322: // hw_address_id: "hw-address" +#line 1309 "dhcp6_parser.yy" { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); } -#line 2395 "dhcp6_parser.cc" +#line 2384 "dhcp6_parser.cc" break; - case 324: // flex_id: "flex-id" -#line 1321 "dhcp6_parser.yy" + case 323: // flex_id: "flex-id" +#line 1314 "dhcp6_parser.yy" { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); } -#line 2404 "dhcp6_parser.cc" +#line 2393 "dhcp6_parser.cc" break; - case 325: // $@53: %empty -#line 1328 "dhcp6_parser.yy" + case 324: // $@53: %empty +#line 1321 "dhcp6_parser.yy" { ctx.unique("relay-supplied-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2412,20 +2401,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 2416 "dhcp6_parser.cc" +#line 2405 "dhcp6_parser.cc" break; - case 326: // relay_supplied_options: "relay-supplied-options" $@53 ":" "[" list_content "]" -#line 1334 "dhcp6_parser.yy" + case 325: // relay_supplied_options: "relay-supplied-options" $@53 ":" "[" list_content "]" +#line 1327 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2425 "dhcp6_parser.cc" +#line 2414 "dhcp6_parser.cc" break; - case 327: // $@54: %empty -#line 1341 "dhcp6_parser.yy" + case 326: // $@54: %empty +#line 1334 "dhcp6_parser.yy" { ctx.unique("multi-threading", ctx.loc2pos(yystack_[0].location)); ElementPtr mt(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2433,60 +2422,60 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(mt); ctx.enter(ctx.DHCP_MULTI_THREADING); } -#line 2437 "dhcp6_parser.cc" +#line 2426 "dhcp6_parser.cc" break; - case 328: // dhcp_multi_threading: "multi-threading" $@54 ":" "{" multi_threading_params "}" -#line 1347 "dhcp6_parser.yy" + case 327: // dhcp_multi_threading: "multi-threading" $@54 ":" "{" multi_threading_params "}" +#line 1340 "dhcp6_parser.yy" { // The enable parameter is required. ctx.require("enable-multi-threading", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2448 "dhcp6_parser.cc" +#line 2437 "dhcp6_parser.cc" break; - case 331: // multi_threading_params: multi_threading_params "," -#line 1356 "dhcp6_parser.yy" + case 330: // multi_threading_params: multi_threading_params "," +#line 1349 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2456 "dhcp6_parser.cc" +#line 2445 "dhcp6_parser.cc" break; - case 338: // enable_multi_threading: "enable-multi-threading" ":" "boolean" -#line 1369 "dhcp6_parser.yy" + case 337: // enable_multi_threading: "enable-multi-threading" ":" "boolean" +#line 1362 "dhcp6_parser.yy" { ctx.unique("enable-multi-threading", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-multi-threading", b); } -#line 2466 "dhcp6_parser.cc" +#line 2455 "dhcp6_parser.cc" break; - case 339: // thread_pool_size: "thread-pool-size" ":" "integer" -#line 1375 "dhcp6_parser.yy" + case 338: // thread_pool_size: "thread-pool-size" ":" "integer" +#line 1368 "dhcp6_parser.yy" { ctx.unique("thread-pool-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("thread-pool-size", prf); } -#line 2476 "dhcp6_parser.cc" +#line 2465 "dhcp6_parser.cc" break; - case 340: // packet_queue_size: "packet-queue-size" ":" "integer" -#line 1381 "dhcp6_parser.yy" + case 339: // packet_queue_size: "packet-queue-size" ":" "integer" +#line 1374 "dhcp6_parser.yy" { ctx.unique("packet-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("packet-queue-size", prf); } -#line 2486 "dhcp6_parser.cc" +#line 2475 "dhcp6_parser.cc" break; - case 341: // $@55: %empty -#line 1387 "dhcp6_parser.yy" + case 340: // $@55: %empty +#line 1380 "dhcp6_parser.yy" { ctx.unique("hooks-libraries", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2494,113 +2483,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 2498 "dhcp6_parser.cc" +#line 2487 "dhcp6_parser.cc" break; - case 342: // hooks_libraries: "hooks-libraries" $@55 ":" "[" hooks_libraries_list "]" -#line 1393 "dhcp6_parser.yy" + case 341: // hooks_libraries: "hooks-libraries" $@55 ":" "[" hooks_libraries_list "]" +#line 1386 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2507 "dhcp6_parser.cc" +#line 2496 "dhcp6_parser.cc" break; - case 347: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," -#line 1404 "dhcp6_parser.yy" + case 346: // not_empty_hooks_libraries_list: not_empty_hooks_libraries_list "," +#line 1397 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2515 "dhcp6_parser.cc" +#line 2504 "dhcp6_parser.cc" break; - case 348: // $@56: %empty -#line 1409 "dhcp6_parser.yy" + case 347: // $@56: %empty +#line 1402 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2525 "dhcp6_parser.cc" +#line 2514 "dhcp6_parser.cc" break; - case 349: // hooks_library: "{" $@56 hooks_params "}" -#line 1413 "dhcp6_parser.yy" + case 348: // hooks_library: "{" $@56 hooks_params "}" +#line 1406 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2535 "dhcp6_parser.cc" +#line 2524 "dhcp6_parser.cc" break; - case 350: // $@57: %empty -#line 1419 "dhcp6_parser.yy" + case 349: // $@57: %empty +#line 1412 "dhcp6_parser.yy" { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2545 "dhcp6_parser.cc" +#line 2534 "dhcp6_parser.cc" break; - case 351: // sub_hooks_library: "{" $@57 hooks_params "}" -#line 1423 "dhcp6_parser.yy" + case 350: // sub_hooks_library: "{" $@57 hooks_params "}" +#line 1416 "dhcp6_parser.yy" { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2555 "dhcp6_parser.cc" +#line 2544 "dhcp6_parser.cc" break; - case 354: // hooks_params: hooks_params "," -#line 1431 "dhcp6_parser.yy" + case 353: // hooks_params: hooks_params "," +#line 1424 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2563 "dhcp6_parser.cc" +#line 2552 "dhcp6_parser.cc" break; - case 358: // $@58: %empty -#line 1441 "dhcp6_parser.yy" + case 357: // $@58: %empty +#line 1434 "dhcp6_parser.yy" { ctx.unique("library", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2572 "dhcp6_parser.cc" +#line 2561 "dhcp6_parser.cc" break; - case 359: // library: "library" $@58 ":" "constant string" -#line 1444 "dhcp6_parser.yy" + case 358: // library: "library" $@58 ":" "constant string" +#line 1437 "dhcp6_parser.yy" { ElementPtr lib(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 2582 "dhcp6_parser.cc" +#line 2571 "dhcp6_parser.cc" break; - case 360: // $@59: %empty -#line 1450 "dhcp6_parser.yy" + case 359: // $@59: %empty +#line 1443 "dhcp6_parser.yy" { ctx.unique("parameters", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2591 "dhcp6_parser.cc" +#line 2580 "dhcp6_parser.cc" break; - case 361: // parameters: "parameters" $@59 ":" map_value -#line 1453 "dhcp6_parser.yy" + case 360: // parameters: "parameters" $@59 ":" map_value +#line 1446 "dhcp6_parser.yy" { ctx.stack_.back()->set("parameters", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 2600 "dhcp6_parser.cc" +#line 2589 "dhcp6_parser.cc" break; - case 362: // $@60: %empty -#line 1459 "dhcp6_parser.yy" + case 361: // $@60: %empty +#line 1452 "dhcp6_parser.yy" { ctx.unique("expired-leases-processing", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -2608,89 +2597,89 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.EXPIRED_LEASES_PROCESSING); } -#line 2612 "dhcp6_parser.cc" +#line 2601 "dhcp6_parser.cc" break; - case 363: // expired_leases_processing: "expired-leases-processing" $@60 ":" "{" expired_leases_params "}" -#line 1465 "dhcp6_parser.yy" + case 362: // expired_leases_processing: "expired-leases-processing" $@60 ":" "{" expired_leases_params "}" +#line 1458 "dhcp6_parser.yy" { // No expired lease parameter is required ctx.stack_.pop_back(); ctx.leave(); } -#line 2622 "dhcp6_parser.cc" +#line 2611 "dhcp6_parser.cc" break; - case 366: // expired_leases_params: expired_leases_params "," -#line 1473 "dhcp6_parser.yy" + case 365: // expired_leases_params: expired_leases_params "," +#line 1466 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2630 "dhcp6_parser.cc" +#line 2619 "dhcp6_parser.cc" break; - case 373: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" -#line 1486 "dhcp6_parser.yy" + case 372: // reclaim_timer_wait_time: "reclaim-timer-wait-time" ":" "integer" +#line 1479 "dhcp6_parser.yy" { ctx.unique("reclaim-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); } -#line 2640 "dhcp6_parser.cc" +#line 2629 "dhcp6_parser.cc" break; - case 374: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" -#line 1492 "dhcp6_parser.yy" + case 373: // flush_reclaimed_timer_wait_time: "flush-reclaimed-timer-wait-time" ":" "integer" +#line 1485 "dhcp6_parser.yy" { ctx.unique("flush-reclaimed-timer-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); } -#line 2650 "dhcp6_parser.cc" +#line 2639 "dhcp6_parser.cc" break; - case 375: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" -#line 1498 "dhcp6_parser.yy" + case 374: // hold_reclaimed_time: "hold-reclaimed-time" ":" "integer" +#line 1491 "dhcp6_parser.yy" { ctx.unique("hold-reclaimed-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); } -#line 2660 "dhcp6_parser.cc" +#line 2649 "dhcp6_parser.cc" break; - case 376: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" -#line 1504 "dhcp6_parser.yy" + case 375: // max_reclaim_leases: "max-reclaim-leases" ":" "integer" +#line 1497 "dhcp6_parser.yy" { ctx.unique("max-reclaim-leases", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); } -#line 2670 "dhcp6_parser.cc" +#line 2659 "dhcp6_parser.cc" break; - case 377: // max_reclaim_time: "max-reclaim-time" ":" "integer" -#line 1510 "dhcp6_parser.yy" + case 376: // max_reclaim_time: "max-reclaim-time" ":" "integer" +#line 1503 "dhcp6_parser.yy" { ctx.unique("max-reclaim-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); } -#line 2680 "dhcp6_parser.cc" +#line 2669 "dhcp6_parser.cc" break; - case 378: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" -#line 1516 "dhcp6_parser.yy" + case 377: // unwarned_reclaim_cycles: "unwarned-reclaim-cycles" ":" "integer" +#line 1509 "dhcp6_parser.yy" { ctx.unique("unwarned-reclaim-cycles", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); } -#line 2690 "dhcp6_parser.cc" +#line 2679 "dhcp6_parser.cc" break; - case 379: // $@61: %empty -#line 1525 "dhcp6_parser.yy" + case 378: // $@61: %empty +#line 1518 "dhcp6_parser.yy" { ctx.unique("subnet6", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2698,38 +2687,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SUBNET6); } -#line 2702 "dhcp6_parser.cc" +#line 2691 "dhcp6_parser.cc" break; - case 380: // subnet6_list: "subnet6" $@61 ":" "[" subnet6_list_content "]" -#line 1531 "dhcp6_parser.yy" + case 379: // subnet6_list: "subnet6" $@61 ":" "[" subnet6_list_content "]" +#line 1524 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2711 "dhcp6_parser.cc" +#line 2700 "dhcp6_parser.cc" break; - case 385: // not_empty_subnet6_list: not_empty_subnet6_list "," -#line 1545 "dhcp6_parser.yy" + case 384: // not_empty_subnet6_list: not_empty_subnet6_list "," +#line 1538 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2719 "dhcp6_parser.cc" +#line 2708 "dhcp6_parser.cc" break; - case 386: // $@62: %empty -#line 1554 "dhcp6_parser.yy" + case 385: // $@62: %empty +#line 1547 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 2729 "dhcp6_parser.cc" +#line 2718 "dhcp6_parser.cc" break; - case 387: // subnet6: "{" $@62 subnet6_params "}" -#line 1558 "dhcp6_parser.yy" + case 386: // subnet6: "{" $@62 subnet6_params "}" +#line 1551 "dhcp6_parser.yy" { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -2751,115 +2740,115 @@ namespace isc { namespace dhcp { ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2755 "dhcp6_parser.cc" +#line 2744 "dhcp6_parser.cc" break; - case 388: // $@63: %empty -#line 1580 "dhcp6_parser.yy" + case 387: // $@63: %empty +#line 1573 "dhcp6_parser.yy" { // Parse the subnet6 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2765 "dhcp6_parser.cc" +#line 2754 "dhcp6_parser.cc" break; - case 389: // sub_subnet6: "{" $@63 subnet6_params "}" -#line 1584 "dhcp6_parser.yy" + case 388: // sub_subnet6: "{" $@63 subnet6_params "}" +#line 1577 "dhcp6_parser.yy" { // The subnet subnet6 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2775 "dhcp6_parser.cc" +#line 2764 "dhcp6_parser.cc" break; - case 392: // subnet6_params: subnet6_params "," -#line 1593 "dhcp6_parser.yy" + case 391: // subnet6_params: subnet6_params "," +#line 1586 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 2783 "dhcp6_parser.cc" +#line 2772 "dhcp6_parser.cc" break; - case 440: // $@64: %empty -#line 1648 "dhcp6_parser.yy" + case 438: // $@64: %empty +#line 1640 "dhcp6_parser.yy" { ctx.unique("subnet", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2792 "dhcp6_parser.cc" +#line 2781 "dhcp6_parser.cc" break; - case 441: // subnet: "subnet" $@64 ":" "constant string" -#line 1651 "dhcp6_parser.yy" + case 439: // subnet: "subnet" $@64 ":" "constant string" +#line 1643 "dhcp6_parser.yy" { ElementPtr subnet(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); ctx.leave(); } -#line 2802 "dhcp6_parser.cc" +#line 2791 "dhcp6_parser.cc" break; - case 442: // $@65: %empty -#line 1657 "dhcp6_parser.yy" + case 440: // $@65: %empty +#line 1649 "dhcp6_parser.yy" { ctx.unique("interface", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2811 "dhcp6_parser.cc" +#line 2800 "dhcp6_parser.cc" break; - case 443: // interface: "interface" $@65 ":" "constant string" -#line 1660 "dhcp6_parser.yy" + case 441: // interface: "interface" $@65 ":" "constant string" +#line 1652 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); ctx.leave(); } -#line 2821 "dhcp6_parser.cc" +#line 2810 "dhcp6_parser.cc" break; - case 444: // $@66: %empty -#line 1666 "dhcp6_parser.yy" + case 442: // $@66: %empty +#line 1658 "dhcp6_parser.yy" { ctx.unique("interface-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2830 "dhcp6_parser.cc" +#line 2819 "dhcp6_parser.cc" break; - case 445: // interface_id: "interface-id" $@66 ":" "constant string" -#line 1669 "dhcp6_parser.yy" + case 443: // interface_id: "interface-id" $@66 ":" "constant string" +#line 1661 "dhcp6_parser.yy" { ElementPtr iface(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); ctx.leave(); } -#line 2840 "dhcp6_parser.cc" +#line 2829 "dhcp6_parser.cc" break; - case 446: // $@67: %empty -#line 1675 "dhcp6_parser.yy" + case 444: // $@67: %empty +#line 1667 "dhcp6_parser.yy" { ctx.unique("client-class", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 2849 "dhcp6_parser.cc" +#line 2838 "dhcp6_parser.cc" break; - case 447: // client_class: "client-class" $@67 ":" "constant string" -#line 1678 "dhcp6_parser.yy" + case 445: // client_class: "client-class" $@67 ":" "constant string" +#line 1670 "dhcp6_parser.yy" { ElementPtr cls(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); ctx.leave(); } -#line 2859 "dhcp6_parser.cc" +#line 2848 "dhcp6_parser.cc" break; - case 448: // $@68: %empty -#line 1684 "dhcp6_parser.yy" + case 446: // $@68: %empty +#line 1676 "dhcp6_parser.yy" { ctx.unique("require-client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2867,112 +2856,70 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2871 "dhcp6_parser.cc" +#line 2860 "dhcp6_parser.cc" break; - case 449: // require_client_classes: "require-client-classes" $@68 ":" list_strings -#line 1690 "dhcp6_parser.yy" + case 447: // require_client_classes: "require-client-classes" $@68 ":" list_strings +#line 1682 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2880 "dhcp6_parser.cc" +#line 2869 "dhcp6_parser.cc" break; - case 450: // reservations_global: "reservations-global" ":" "boolean" -#line 1695 "dhcp6_parser.yy" + case 448: // reservations_global: "reservations-global" ":" "boolean" +#line 1687 "dhcp6_parser.yy" { ctx.unique("reservations-global", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-global", b); } -#line 2890 "dhcp6_parser.cc" +#line 2879 "dhcp6_parser.cc" break; - case 451: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" -#line 1701 "dhcp6_parser.yy" + case 449: // reservations_in_subnet: "reservations-in-subnet" ":" "boolean" +#line 1693 "dhcp6_parser.yy" { ctx.unique("reservations-in-subnet", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-in-subnet", b); } -#line 2900 "dhcp6_parser.cc" +#line 2889 "dhcp6_parser.cc" break; - case 452: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" -#line 1707 "dhcp6_parser.yy" + case 450: // reservations_out_of_pool: "reservations-out-of-pool" ":" "boolean" +#line 1699 "dhcp6_parser.yy" { ctx.unique("reservations-out-of-pool", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations-out-of-pool", b); } -#line 2910 "dhcp6_parser.cc" - break; - - case 453: // $@69: %empty -#line 1713 "dhcp6_parser.yy" - { - ctx.unique("reservation-mode", ctx.loc2pos(yystack_[0].location)); - ctx.enter(ctx.RESERVATION_MODE); -} -#line 2919 "dhcp6_parser.cc" - break; - - case 454: // reservation_mode: "reservation-mode" $@69 ":" hr_mode -#line 1716 "dhcp6_parser.yy" - { - ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as < ElementPtr > ()); - ctx.leave(); -} -#line 2928 "dhcp6_parser.cc" - break; - - case 455: // hr_mode: "disabled" -#line 1721 "dhcp6_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 2934 "dhcp6_parser.cc" - break; - - case 456: // hr_mode: "out-of-pool" -#line 1722 "dhcp6_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 2940 "dhcp6_parser.cc" +#line 2899 "dhcp6_parser.cc" break; - case 457: // hr_mode: "global" -#line 1723 "dhcp6_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("global", ctx.loc2pos(yystack_[0].location))); } -#line 2946 "dhcp6_parser.cc" - break; - - case 458: // hr_mode: "all" -#line 1724 "dhcp6_parser.yy" - { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 2952 "dhcp6_parser.cc" - break; - - case 459: // id: "id" ":" "integer" -#line 1727 "dhcp6_parser.yy" + case 451: // id: "id" ":" "integer" +#line 1705 "dhcp6_parser.yy" { ctx.unique("id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 2962 "dhcp6_parser.cc" +#line 2909 "dhcp6_parser.cc" break; - case 460: // rapid_commit: "rapid-commit" ":" "boolean" -#line 1733 "dhcp6_parser.yy" + case 452: // rapid_commit: "rapid-commit" ":" "boolean" +#line 1711 "dhcp6_parser.yy" { ctx.unique("rapid-commit", ctx.loc2pos(yystack_[2].location)); ElementPtr rc(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 2972 "dhcp6_parser.cc" +#line 2919 "dhcp6_parser.cc" break; - case 461: // $@70: %empty -#line 1741 "dhcp6_parser.yy" + case 453: // $@69: %empty +#line 1719 "dhcp6_parser.yy" { ctx.unique("shared-networks", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -2980,54 +2927,54 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 2984 "dhcp6_parser.cc" +#line 2931 "dhcp6_parser.cc" break; - case 462: // shared_networks: "shared-networks" $@70 ":" "[" shared_networks_content "]" -#line 1747 "dhcp6_parser.yy" + case 454: // shared_networks: "shared-networks" $@69 ":" "[" shared_networks_content "]" +#line 1725 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 2993 "dhcp6_parser.cc" +#line 2940 "dhcp6_parser.cc" break; - case 467: // shared_networks_list: shared_networks_list "," -#line 1760 "dhcp6_parser.yy" + case 459: // shared_networks_list: shared_networks_list "," +#line 1738 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3001 "dhcp6_parser.cc" +#line 2948 "dhcp6_parser.cc" break; - case 468: // $@71: %empty -#line 1765 "dhcp6_parser.yy" + case 460: // $@70: %empty +#line 1743 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3011 "dhcp6_parser.cc" +#line 2958 "dhcp6_parser.cc" break; - case 469: // shared_network: "{" $@71 shared_network_params "}" -#line 1769 "dhcp6_parser.yy" + case 461: // shared_network: "{" $@70 shared_network_params "}" +#line 1747 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 3019 "dhcp6_parser.cc" +#line 2966 "dhcp6_parser.cc" break; - case 472: // shared_network_params: shared_network_params "," -#line 1775 "dhcp6_parser.yy" + case 464: // shared_network_params: shared_network_params "," +#line 1753 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3027 "dhcp6_parser.cc" +#line 2974 "dhcp6_parser.cc" break; - case 517: // $@72: %empty -#line 1830 "dhcp6_parser.yy" + case 508: // $@71: %empty +#line 1807 "dhcp6_parser.yy" { ctx.unique("option-def", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3035,55 +2982,55 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 3039 "dhcp6_parser.cc" +#line 2986 "dhcp6_parser.cc" break; - case 518: // option_def_list: "option-def" $@72 ":" "[" option_def_list_content "]" -#line 1836 "dhcp6_parser.yy" + case 509: // option_def_list: "option-def" $@71 ":" "[" option_def_list_content "]" +#line 1813 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3048 "dhcp6_parser.cc" +#line 2995 "dhcp6_parser.cc" break; - case 519: // $@73: %empty -#line 1844 "dhcp6_parser.yy" + case 510: // $@72: %empty +#line 1821 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3057 "dhcp6_parser.cc" +#line 3004 "dhcp6_parser.cc" break; - case 520: // sub_option_def_list: "{" $@73 option_def_list "}" -#line 1847 "dhcp6_parser.yy" + case 511: // sub_option_def_list: "{" $@72 option_def_list "}" +#line 1824 "dhcp6_parser.yy" { // parsing completed } -#line 3065 "dhcp6_parser.cc" +#line 3012 "dhcp6_parser.cc" break; - case 525: // not_empty_option_def_list: not_empty_option_def_list "," -#line 1859 "dhcp6_parser.yy" + case 516: // not_empty_option_def_list: not_empty_option_def_list "," +#line 1836 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3073 "dhcp6_parser.cc" +#line 3020 "dhcp6_parser.cc" break; - case 526: // $@74: %empty -#line 1866 "dhcp6_parser.yy" + case 517: // $@73: %empty +#line 1843 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3083 "dhcp6_parser.cc" +#line 3030 "dhcp6_parser.cc" break; - case 527: // option_def_entry: "{" $@74 option_def_params "}" -#line 1870 "dhcp6_parser.yy" + case 518: // option_def_entry: "{" $@73 option_def_params "}" +#line 1847 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3091,21 +3038,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3095 "dhcp6_parser.cc" +#line 3042 "dhcp6_parser.cc" break; - case 528: // $@75: %empty -#line 1881 "dhcp6_parser.yy" + case 519: // $@74: %empty +#line 1858 "dhcp6_parser.yy" { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3105 "dhcp6_parser.cc" +#line 3052 "dhcp6_parser.cc" break; - case 529: // sub_option_def: "{" $@75 option_def_params "}" -#line 1885 "dhcp6_parser.yy" + case 520: // sub_option_def: "{" $@74 option_def_params "}" +#line 1862 "dhcp6_parser.yy" { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3113,115 +3060,115 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3117 "dhcp6_parser.cc" +#line 3064 "dhcp6_parser.cc" break; - case 534: // not_empty_option_def_params: not_empty_option_def_params "," -#line 1901 "dhcp6_parser.yy" + case 525: // not_empty_option_def_params: not_empty_option_def_params "," +#line 1878 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3125 "dhcp6_parser.cc" +#line 3072 "dhcp6_parser.cc" break; - case 546: // code: "code" ":" "integer" -#line 1920 "dhcp6_parser.yy" + case 537: // code: "code" ":" "integer" +#line 1897 "dhcp6_parser.yy" { ctx.unique("code", ctx.loc2pos(yystack_[2].location)); ElementPtr code(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 3135 "dhcp6_parser.cc" +#line 3082 "dhcp6_parser.cc" break; - case 548: // $@76: %empty -#line 1928 "dhcp6_parser.yy" + case 539: // $@75: %empty +#line 1905 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3144 "dhcp6_parser.cc" +#line 3091 "dhcp6_parser.cc" break; - case 549: // option_def_type: "type" $@76 ":" "constant string" -#line 1931 "dhcp6_parser.yy" + case 540: // option_def_type: "type" $@75 ":" "constant string" +#line 1908 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 3154 "dhcp6_parser.cc" +#line 3101 "dhcp6_parser.cc" break; - case 550: // $@77: %empty -#line 1937 "dhcp6_parser.yy" + case 541: // $@76: %empty +#line 1914 "dhcp6_parser.yy" { ctx.unique("record-types", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3163 "dhcp6_parser.cc" +#line 3110 "dhcp6_parser.cc" break; - case 551: // option_def_record_types: "record-types" $@77 ":" "constant string" -#line 1940 "dhcp6_parser.yy" + case 542: // option_def_record_types: "record-types" $@76 ":" "constant string" +#line 1917 "dhcp6_parser.yy" { ElementPtr rtypes(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 3173 "dhcp6_parser.cc" +#line 3120 "dhcp6_parser.cc" break; - case 552: // $@78: %empty -#line 1946 "dhcp6_parser.yy" + case 543: // $@77: %empty +#line 1923 "dhcp6_parser.yy" { ctx.unique("space", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3182 "dhcp6_parser.cc" +#line 3129 "dhcp6_parser.cc" break; - case 553: // space: "space" $@78 ":" "constant string" -#line 1949 "dhcp6_parser.yy" + case 544: // space: "space" $@77 ":" "constant string" +#line 1926 "dhcp6_parser.yy" { ElementPtr space(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 3192 "dhcp6_parser.cc" +#line 3139 "dhcp6_parser.cc" break; - case 555: // $@79: %empty -#line 1957 "dhcp6_parser.yy" + case 546: // $@78: %empty +#line 1934 "dhcp6_parser.yy" { ctx.unique("encapsulate", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3201 "dhcp6_parser.cc" +#line 3148 "dhcp6_parser.cc" break; - case 556: // option_def_encapsulate: "encapsulate" $@79 ":" "constant string" -#line 1960 "dhcp6_parser.yy" + case 547: // option_def_encapsulate: "encapsulate" $@78 ":" "constant string" +#line 1937 "dhcp6_parser.yy" { ElementPtr encap(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 3211 "dhcp6_parser.cc" +#line 3158 "dhcp6_parser.cc" break; - case 557: // option_def_array: "array" ":" "boolean" -#line 1966 "dhcp6_parser.yy" + case 548: // option_def_array: "array" ":" "boolean" +#line 1943 "dhcp6_parser.yy" { ctx.unique("array", ctx.loc2pos(yystack_[2].location)); ElementPtr array(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 3221 "dhcp6_parser.cc" +#line 3168 "dhcp6_parser.cc" break; - case 558: // $@80: %empty -#line 1976 "dhcp6_parser.yy" + case 549: // $@79: %empty +#line 1953 "dhcp6_parser.yy" { ctx.unique("option-data", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3229,123 +3176,123 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 3233 "dhcp6_parser.cc" +#line 3180 "dhcp6_parser.cc" break; - case 559: // option_data_list: "option-data" $@80 ":" "[" option_data_list_content "]" -#line 1982 "dhcp6_parser.yy" + case 550: // option_data_list: "option-data" $@79 ":" "[" option_data_list_content "]" +#line 1959 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3242 "dhcp6_parser.cc" +#line 3189 "dhcp6_parser.cc" break; - case 564: // not_empty_option_data_list: not_empty_option_data_list "," -#line 1997 "dhcp6_parser.yy" + case 555: // not_empty_option_data_list: not_empty_option_data_list "," +#line 1974 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3250 "dhcp6_parser.cc" +#line 3197 "dhcp6_parser.cc" break; - case 565: // $@81: %empty -#line 2004 "dhcp6_parser.yy" + case 556: // $@80: %empty +#line 1981 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3260 "dhcp6_parser.cc" +#line 3207 "dhcp6_parser.cc" break; - case 566: // option_data_entry: "{" $@81 option_data_params "}" -#line 2008 "dhcp6_parser.yy" + case 557: // option_data_entry: "{" $@80 option_data_params "}" +#line 1985 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 3269 "dhcp6_parser.cc" +#line 3216 "dhcp6_parser.cc" break; - case 567: // $@82: %empty -#line 2016 "dhcp6_parser.yy" + case 558: // $@81: %empty +#line 1993 "dhcp6_parser.yy" { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3279 "dhcp6_parser.cc" +#line 3226 "dhcp6_parser.cc" break; - case 568: // sub_option_data: "{" $@82 option_data_params "}" -#line 2020 "dhcp6_parser.yy" + case 559: // sub_option_data: "{" $@81 option_data_params "}" +#line 1997 "dhcp6_parser.yy" { /// @todo: the code or name parameters are required. // parsing completed } -#line 3288 "dhcp6_parser.cc" +#line 3235 "dhcp6_parser.cc" break; - case 573: // not_empty_option_data_params: not_empty_option_data_params "," -#line 2036 "dhcp6_parser.yy" + case 564: // not_empty_option_data_params: not_empty_option_data_params "," +#line 2013 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3296 "dhcp6_parser.cc" +#line 3243 "dhcp6_parser.cc" break; - case 585: // $@83: %empty -#line 2057 "dhcp6_parser.yy" + case 576: // $@82: %empty +#line 2034 "dhcp6_parser.yy" { ctx.unique("data", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3305 "dhcp6_parser.cc" +#line 3252 "dhcp6_parser.cc" break; - case 586: // option_data_data: "data" $@83 ":" "constant string" -#line 2060 "dhcp6_parser.yy" + case 577: // option_data_data: "data" $@82 ":" "constant string" +#line 2037 "dhcp6_parser.yy" { ElementPtr data(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 3315 "dhcp6_parser.cc" +#line 3262 "dhcp6_parser.cc" break; - case 589: // option_data_csv_format: "csv-format" ":" "boolean" -#line 2070 "dhcp6_parser.yy" + case 580: // option_data_csv_format: "csv-format" ":" "boolean" +#line 2047 "dhcp6_parser.yy" { ctx.unique("csv-format", ctx.loc2pos(yystack_[2].location)); ElementPtr csv(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", csv); } -#line 3325 "dhcp6_parser.cc" +#line 3272 "dhcp6_parser.cc" break; - case 590: // option_data_always_send: "always-send" ":" "boolean" -#line 2076 "dhcp6_parser.yy" + case 581: // option_data_always_send: "always-send" ":" "boolean" +#line 2053 "dhcp6_parser.yy" { ctx.unique("always-send", ctx.loc2pos(yystack_[2].location)); ElementPtr persist(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 3335 "dhcp6_parser.cc" +#line 3282 "dhcp6_parser.cc" break; - case 591: // option_data_never_send: "never-send" ":" "boolean" -#line 2082 "dhcp6_parser.yy" + case 582: // option_data_never_send: "never-send" ":" "boolean" +#line 2059 "dhcp6_parser.yy" { ctx.unique("never-send", ctx.loc2pos(yystack_[2].location)); ElementPtr cancel(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("never-send", cancel); } -#line 3345 "dhcp6_parser.cc" +#line 3292 "dhcp6_parser.cc" break; - case 592: // $@84: %empty -#line 2091 "dhcp6_parser.yy" + case 583: // $@83: %empty +#line 2068 "dhcp6_parser.yy" { ctx.unique("pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3353,113 +3300,113 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 3357 "dhcp6_parser.cc" +#line 3304 "dhcp6_parser.cc" break; - case 593: // pools_list: "pools" $@84 ":" "[" pools_list_content "]" -#line 2097 "dhcp6_parser.yy" + case 584: // pools_list: "pools" $@83 ":" "[" pools_list_content "]" +#line 2074 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3366 "dhcp6_parser.cc" +#line 3313 "dhcp6_parser.cc" break; - case 598: // not_empty_pools_list: not_empty_pools_list "," -#line 2110 "dhcp6_parser.yy" + case 589: // not_empty_pools_list: not_empty_pools_list "," +#line 2087 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3374 "dhcp6_parser.cc" +#line 3321 "dhcp6_parser.cc" break; - case 599: // $@85: %empty -#line 2115 "dhcp6_parser.yy" + case 590: // $@84: %empty +#line 2092 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3384 "dhcp6_parser.cc" +#line 3331 "dhcp6_parser.cc" break; - case 600: // pool_list_entry: "{" $@85 pool_params "}" -#line 2119 "dhcp6_parser.yy" + case 591: // pool_list_entry: "{" $@84 pool_params "}" +#line 2096 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3394 "dhcp6_parser.cc" +#line 3341 "dhcp6_parser.cc" break; - case 601: // $@86: %empty -#line 2125 "dhcp6_parser.yy" + case 592: // $@85: %empty +#line 2102 "dhcp6_parser.yy" { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3404 "dhcp6_parser.cc" +#line 3351 "dhcp6_parser.cc" break; - case 602: // sub_pool6: "{" $@86 pool_params "}" -#line 2129 "dhcp6_parser.yy" + case 593: // sub_pool6: "{" $@85 pool_params "}" +#line 2106 "dhcp6_parser.yy" { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3414 "dhcp6_parser.cc" +#line 3361 "dhcp6_parser.cc" break; - case 605: // pool_params: pool_params "," -#line 2137 "dhcp6_parser.yy" + case 596: // pool_params: pool_params "," +#line 2114 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3422 "dhcp6_parser.cc" +#line 3369 "dhcp6_parser.cc" break; - case 614: // $@87: %empty -#line 2152 "dhcp6_parser.yy" + case 605: // $@86: %empty +#line 2129 "dhcp6_parser.yy" { ctx.unique("pool", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3431 "dhcp6_parser.cc" +#line 3378 "dhcp6_parser.cc" break; - case 615: // pool_entry: "pool" $@87 ":" "constant string" -#line 2155 "dhcp6_parser.yy" + case 606: // pool_entry: "pool" $@86 ":" "constant string" +#line 2132 "dhcp6_parser.yy" { ElementPtr pool(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 3441 "dhcp6_parser.cc" +#line 3388 "dhcp6_parser.cc" break; - case 616: // pool_id: "pool-id" ":" "integer" -#line 2161 "dhcp6_parser.yy" + case 607: // pool_id: "pool-id" ":" "integer" +#line 2138 "dhcp6_parser.yy" { ctx.unique("pool-id", ctx.loc2pos(yystack_[2].location)); ElementPtr id(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool-id", id); } -#line 3451 "dhcp6_parser.cc" +#line 3398 "dhcp6_parser.cc" break; - case 617: // $@88: %empty -#line 2167 "dhcp6_parser.yy" + case 608: // $@87: %empty +#line 2144 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3459 "dhcp6_parser.cc" +#line 3406 "dhcp6_parser.cc" break; - case 618: // user_context: "user-context" $@88 ":" map_value -#line 2169 "dhcp6_parser.yy" + case 609: // user_context: "user-context" $@87 ":" map_value +#line 2146 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context = yystack_[0].value.as < ElementPtr > (); @@ -3482,19 +3429,19 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3486 "dhcp6_parser.cc" +#line 3433 "dhcp6_parser.cc" break; - case 619: // $@89: %empty -#line 2192 "dhcp6_parser.yy" + case 610: // $@88: %empty +#line 2169 "dhcp6_parser.yy" { ctx.enter(ctx.NO_KEYWORD); } -#line 3494 "dhcp6_parser.cc" +#line 3441 "dhcp6_parser.cc" break; - case 620: // comment: "comment" $@89 ":" "constant string" -#line 2194 "dhcp6_parser.yy" + case 611: // comment: "comment" $@88 ":" "constant string" +#line 2171 "dhcp6_parser.yy" { ElementPtr parent = ctx.stack_.back(); ElementPtr user_context(new MapElement(ctx.loc2pos(yystack_[3].location))); @@ -3519,11 +3466,11 @@ namespace isc { namespace dhcp { parent->set("user-context", user_context); ctx.leave(); } -#line 3523 "dhcp6_parser.cc" +#line 3470 "dhcp6_parser.cc" break; - case 621: // $@90: %empty -#line 2222 "dhcp6_parser.yy" + case 612: // $@89: %empty +#line 2199 "dhcp6_parser.yy" { ctx.unique("pd-pools", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3531,38 +3478,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.PD_POOLS); } -#line 3535 "dhcp6_parser.cc" +#line 3482 "dhcp6_parser.cc" break; - case 622: // pd_pools_list: "pd-pools" $@90 ":" "[" pd_pools_list_content "]" -#line 2228 "dhcp6_parser.yy" + case 613: // pd_pools_list: "pd-pools" $@89 ":" "[" pd_pools_list_content "]" +#line 2205 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3544 "dhcp6_parser.cc" +#line 3491 "dhcp6_parser.cc" break; - case 627: // not_empty_pd_pools_list: not_empty_pd_pools_list "," -#line 2241 "dhcp6_parser.yy" + case 618: // not_empty_pd_pools_list: not_empty_pd_pools_list "," +#line 2218 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3552 "dhcp6_parser.cc" +#line 3499 "dhcp6_parser.cc" break; - case 628: // $@91: %empty -#line 2246 "dhcp6_parser.yy" + case 619: // $@90: %empty +#line 2223 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3562 "dhcp6_parser.cc" +#line 3509 "dhcp6_parser.cc" break; - case 629: // pd_pool_entry: "{" $@91 pd_pool_params "}" -#line 2250 "dhcp6_parser.yy" + case 620: // pd_pool_entry: "{" $@90 pd_pool_params "}" +#line 2227 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3570,21 +3517,21 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3574 "dhcp6_parser.cc" +#line 3521 "dhcp6_parser.cc" break; - case 630: // $@92: %empty -#line 2258 "dhcp6_parser.yy" + case 621: // $@91: %empty +#line 2235 "dhcp6_parser.yy" { // Parse the pd-pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3584 "dhcp6_parser.cc" +#line 3531 "dhcp6_parser.cc" break; - case 631: // sub_pd_pool: "{" $@92 pd_pool_params "}" -#line 2262 "dhcp6_parser.yy" + case 622: // sub_pd_pool: "{" $@91 pd_pool_params "}" +#line 2239 "dhcp6_parser.yy" { // The prefix, prefix len and delegated len parameters are required. ctx.require("prefix", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -3592,87 +3539,87 @@ namespace isc { namespace dhcp { ctx.require("delegated-len", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 3596 "dhcp6_parser.cc" +#line 3543 "dhcp6_parser.cc" break; - case 634: // pd_pool_params: pd_pool_params "," -#line 2272 "dhcp6_parser.yy" + case 625: // pd_pool_params: pd_pool_params "," +#line 2249 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3604 "dhcp6_parser.cc" +#line 3551 "dhcp6_parser.cc" break; - case 646: // $@93: %empty -#line 2290 "dhcp6_parser.yy" + case 637: // $@92: %empty +#line 2267 "dhcp6_parser.yy" { ctx.unique("prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3613 "dhcp6_parser.cc" +#line 3560 "dhcp6_parser.cc" break; - case 647: // pd_prefix: "prefix" $@93 ":" "constant string" -#line 2293 "dhcp6_parser.yy" + case 638: // pd_prefix: "prefix" $@92 ":" "constant string" +#line 2270 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix", prf); ctx.leave(); } -#line 3623 "dhcp6_parser.cc" +#line 3570 "dhcp6_parser.cc" break; - case 648: // pd_prefix_len: "prefix-len" ":" "integer" -#line 2299 "dhcp6_parser.yy" + case 639: // pd_prefix_len: "prefix-len" ":" "integer" +#line 2276 "dhcp6_parser.yy" { ctx.unique("prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("prefix-len", prf); } -#line 3633 "dhcp6_parser.cc" +#line 3580 "dhcp6_parser.cc" break; - case 649: // $@94: %empty -#line 2305 "dhcp6_parser.yy" + case 640: // $@93: %empty +#line 2282 "dhcp6_parser.yy" { ctx.unique("excluded-prefix", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3642 "dhcp6_parser.cc" +#line 3589 "dhcp6_parser.cc" break; - case 650: // excluded_prefix: "excluded-prefix" $@94 ":" "constant string" -#line 2308 "dhcp6_parser.yy" + case 641: // excluded_prefix: "excluded-prefix" $@93 ":" "constant string" +#line 2285 "dhcp6_parser.yy" { ElementPtr prf(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix", prf); ctx.leave(); } -#line 3652 "dhcp6_parser.cc" +#line 3599 "dhcp6_parser.cc" break; - case 651: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" -#line 2314 "dhcp6_parser.yy" + case 642: // excluded_prefix_len: "excluded-prefix-len" ":" "integer" +#line 2291 "dhcp6_parser.yy" { ctx.unique("excluded-prefix-len", ctx.loc2pos(yystack_[2].location)); ElementPtr prf(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("excluded-prefix-len", prf); } -#line 3662 "dhcp6_parser.cc" +#line 3609 "dhcp6_parser.cc" break; - case 652: // pd_delegated_len: "delegated-len" ":" "integer" -#line 2320 "dhcp6_parser.yy" + case 643: // pd_delegated_len: "delegated-len" ":" "integer" +#line 2297 "dhcp6_parser.yy" { ctx.unique("delegated-len", ctx.loc2pos(yystack_[2].location)); ElementPtr deleg(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("delegated-len", deleg); } -#line 3672 "dhcp6_parser.cc" +#line 3619 "dhcp6_parser.cc" break; - case 653: // $@95: %empty -#line 2329 "dhcp6_parser.yy" + case 644: // $@94: %empty +#line 2306 "dhcp6_parser.yy" { ctx.unique("reservations", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3680,74 +3627,74 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 3684 "dhcp6_parser.cc" +#line 3631 "dhcp6_parser.cc" break; - case 654: // reservations: "reservations" $@95 ":" "[" reservations_list "]" -#line 2335 "dhcp6_parser.yy" + case 645: // reservations: "reservations" $@94 ":" "[" reservations_list "]" +#line 2312 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3693 "dhcp6_parser.cc" +#line 3640 "dhcp6_parser.cc" break; - case 659: // not_empty_reservations_list: not_empty_reservations_list "," -#line 2346 "dhcp6_parser.yy" + case 650: // not_empty_reservations_list: not_empty_reservations_list "," +#line 2323 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3701 "dhcp6_parser.cc" +#line 3648 "dhcp6_parser.cc" break; - case 660: // $@96: %empty -#line 2351 "dhcp6_parser.yy" + case 651: // $@95: %empty +#line 2328 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3711 "dhcp6_parser.cc" +#line 3658 "dhcp6_parser.cc" break; - case 661: // reservation: "{" $@96 reservation_params "}" -#line 2355 "dhcp6_parser.yy" + case 652: // reservation: "{" $@95 reservation_params "}" +#line 2332 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 3720 "dhcp6_parser.cc" +#line 3667 "dhcp6_parser.cc" break; - case 662: // $@97: %empty -#line 2360 "dhcp6_parser.yy" + case 653: // $@96: %empty +#line 2337 "dhcp6_parser.yy" { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 3730 "dhcp6_parser.cc" +#line 3677 "dhcp6_parser.cc" break; - case 663: // sub_reservation: "{" $@97 reservation_params "}" -#line 2364 "dhcp6_parser.yy" + case 654: // sub_reservation: "{" $@96 reservation_params "}" +#line 2341 "dhcp6_parser.yy" { /// @todo: an identifier parameter is required. // parsing completed } -#line 3739 "dhcp6_parser.cc" +#line 3686 "dhcp6_parser.cc" break; - case 668: // not_empty_reservation_params: not_empty_reservation_params "," -#line 2375 "dhcp6_parser.yy" + case 659: // not_empty_reservation_params: not_empty_reservation_params "," +#line 2352 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3747 "dhcp6_parser.cc" +#line 3694 "dhcp6_parser.cc" break; - case 680: // $@98: %empty -#line 2394 "dhcp6_parser.yy" + case 671: // $@97: %empty +#line 2371 "dhcp6_parser.yy" { ctx.unique("ip-addresses", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3755,20 +3702,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3759 "dhcp6_parser.cc" +#line 3706 "dhcp6_parser.cc" break; - case 681: // ip_addresses: "ip-addresses" $@98 ":" list_strings -#line 2400 "dhcp6_parser.yy" + case 672: // ip_addresses: "ip-addresses" $@97 ":" list_strings +#line 2377 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3768 "dhcp6_parser.cc" +#line 3715 "dhcp6_parser.cc" break; - case 682: // $@99: %empty -#line 2405 "dhcp6_parser.yy" + case 673: // $@98: %empty +#line 2382 "dhcp6_parser.yy" { ctx.unique("prefixes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3776,96 +3723,96 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.NO_KEYWORD); } -#line 3780 "dhcp6_parser.cc" +#line 3727 "dhcp6_parser.cc" break; - case 683: // prefixes: "prefixes" $@99 ":" list_strings -#line 2411 "dhcp6_parser.yy" + case 674: // prefixes: "prefixes" $@98 ":" list_strings +#line 2388 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3789 "dhcp6_parser.cc" +#line 3736 "dhcp6_parser.cc" break; - case 684: // $@100: %empty -#line 2416 "dhcp6_parser.yy" + case 675: // $@99: %empty +#line 2393 "dhcp6_parser.yy" { ctx.unique("duid", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3798 "dhcp6_parser.cc" +#line 3745 "dhcp6_parser.cc" break; - case 685: // duid: "duid" $@100 ":" "constant string" -#line 2419 "dhcp6_parser.yy" + case 676: // duid: "duid" $@99 ":" "constant string" +#line 2396 "dhcp6_parser.yy" { ElementPtr d(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 3808 "dhcp6_parser.cc" +#line 3755 "dhcp6_parser.cc" break; - case 686: // $@101: %empty -#line 2425 "dhcp6_parser.yy" + case 677: // $@100: %empty +#line 2402 "dhcp6_parser.yy" { ctx.unique("hw-address", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3817 "dhcp6_parser.cc" +#line 3764 "dhcp6_parser.cc" break; - case 687: // hw_address: "hw-address" $@101 ":" "constant string" -#line 2428 "dhcp6_parser.yy" + case 678: // hw_address: "hw-address" $@100 ":" "constant string" +#line 2405 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 3827 "dhcp6_parser.cc" +#line 3774 "dhcp6_parser.cc" break; - case 688: // $@102: %empty -#line 2434 "dhcp6_parser.yy" + case 679: // $@101: %empty +#line 2411 "dhcp6_parser.yy" { ctx.unique("hostname", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3836 "dhcp6_parser.cc" +#line 3783 "dhcp6_parser.cc" break; - case 689: // hostname: "hostname" $@102 ":" "constant string" -#line 2437 "dhcp6_parser.yy" + case 680: // hostname: "hostname" $@101 ":" "constant string" +#line 2414 "dhcp6_parser.yy" { ElementPtr host(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 3846 "dhcp6_parser.cc" +#line 3793 "dhcp6_parser.cc" break; - case 690: // $@103: %empty -#line 2443 "dhcp6_parser.yy" + case 681: // $@102: %empty +#line 2420 "dhcp6_parser.yy" { ctx.unique("flex-id", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3855 "dhcp6_parser.cc" +#line 3802 "dhcp6_parser.cc" break; - case 691: // flex_id_value: "flex-id" $@103 ":" "constant string" -#line 2446 "dhcp6_parser.yy" + case 682: // flex_id_value: "flex-id" $@102 ":" "constant string" +#line 2423 "dhcp6_parser.yy" { ElementPtr hw(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 3865 "dhcp6_parser.cc" +#line 3812 "dhcp6_parser.cc" break; - case 692: // $@104: %empty -#line 2452 "dhcp6_parser.yy" + case 683: // $@103: %empty +#line 2429 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3873,20 +3820,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 3877 "dhcp6_parser.cc" +#line 3824 "dhcp6_parser.cc" break; - case 693: // reservation_client_classes: "client-classes" $@104 ":" list_strings -#line 2458 "dhcp6_parser.yy" + case 684: // reservation_client_classes: "client-classes" $@103 ":" list_strings +#line 2435 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3886 "dhcp6_parser.cc" +#line 3833 "dhcp6_parser.cc" break; - case 694: // $@105: %empty -#line 2466 "dhcp6_parser.yy" + case 685: // $@104: %empty +#line 2443 "dhcp6_parser.yy" { ctx.unique("relay", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -3894,20 +3841,20 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 3898 "dhcp6_parser.cc" +#line 3845 "dhcp6_parser.cc" break; - case 695: // relay: "relay" $@105 ":" "{" relay_map "}" -#line 2472 "dhcp6_parser.yy" + case 686: // relay: "relay" $@104 ":" "{" relay_map "}" +#line 2449 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3907 "dhcp6_parser.cc" +#line 3854 "dhcp6_parser.cc" break; - case 697: // $@106: %empty -#line 2483 "dhcp6_parser.yy" + case 688: // $@105: %empty +#line 2460 "dhcp6_parser.yy" { ctx.unique("client-classes", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -3915,104 +3862,104 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 3919 "dhcp6_parser.cc" +#line 3866 "dhcp6_parser.cc" break; - case 698: // client_classes: "client-classes" $@106 ":" "[" client_classes_list "]" -#line 2489 "dhcp6_parser.yy" + case 689: // client_classes: "client-classes" $@105 ":" "[" client_classes_list "]" +#line 2466 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 3928 "dhcp6_parser.cc" +#line 3875 "dhcp6_parser.cc" break; - case 701: // client_classes_list: client_classes_list "," -#line 2496 "dhcp6_parser.yy" + case 692: // client_classes_list: client_classes_list "," +#line 2473 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3936 "dhcp6_parser.cc" +#line 3883 "dhcp6_parser.cc" break; - case 702: // $@107: %empty -#line 2501 "dhcp6_parser.yy" + case 693: // $@106: %empty +#line 2478 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 3946 "dhcp6_parser.cc" +#line 3893 "dhcp6_parser.cc" break; - case 703: // client_class_entry: "{" $@107 client_class_params "}" -#line 2505 "dhcp6_parser.yy" + case 694: // client_class_entry: "{" $@106 client_class_params "}" +#line 2482 "dhcp6_parser.yy" { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 3956 "dhcp6_parser.cc" +#line 3903 "dhcp6_parser.cc" break; - case 708: // not_empty_client_class_params: not_empty_client_class_params "," -#line 2517 "dhcp6_parser.yy" + case 699: // not_empty_client_class_params: not_empty_client_class_params "," +#line 2494 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 3964 "dhcp6_parser.cc" +#line 3911 "dhcp6_parser.cc" break; - case 724: // $@108: %empty -#line 2540 "dhcp6_parser.yy" + case 715: // $@107: %empty +#line 2517 "dhcp6_parser.yy" { ctx.unique("test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3973 "dhcp6_parser.cc" +#line 3920 "dhcp6_parser.cc" break; - case 725: // client_class_test: "test" $@108 ":" "constant string" -#line 2543 "dhcp6_parser.yy" + case 716: // client_class_test: "test" $@107 ":" "constant string" +#line 2520 "dhcp6_parser.yy" { ElementPtr test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 3983 "dhcp6_parser.cc" +#line 3930 "dhcp6_parser.cc" break; - case 726: // $@109: %empty -#line 2549 "dhcp6_parser.yy" + case 717: // $@108: %empty +#line 2526 "dhcp6_parser.yy" { ctx.unique("template-test", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 3992 "dhcp6_parser.cc" +#line 3939 "dhcp6_parser.cc" break; - case 727: // client_class_template_test: "template-test" $@109 ":" "constant string" -#line 2552 "dhcp6_parser.yy" + case 718: // client_class_template_test: "template-test" $@108 ":" "constant string" +#line 2529 "dhcp6_parser.yy" { ElementPtr template_test(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("template-test", template_test); ctx.leave(); } -#line 4002 "dhcp6_parser.cc" +#line 3949 "dhcp6_parser.cc" break; - case 728: // only_if_required: "only-if-required" ":" "boolean" -#line 2558 "dhcp6_parser.yy" + case 719: // only_if_required: "only-if-required" ":" "boolean" +#line 2535 "dhcp6_parser.yy" { ctx.unique("only-if-required", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("only-if-required", b); } -#line 4012 "dhcp6_parser.cc" +#line 3959 "dhcp6_parser.cc" break; - case 729: // $@110: %empty -#line 2567 "dhcp6_parser.yy" + case 720: // $@109: %empty +#line 2544 "dhcp6_parser.yy" { ctx.unique("server-id", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4020,125 +3967,125 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.SERVER_ID); } -#line 4024 "dhcp6_parser.cc" +#line 3971 "dhcp6_parser.cc" break; - case 730: // server_id: "server-id" $@110 ":" "{" server_id_params "}" -#line 2573 "dhcp6_parser.yy" + case 721: // server_id: "server-id" $@109 ":" "{" server_id_params "}" +#line 2550 "dhcp6_parser.yy" { // The type parameter is required. ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4035 "dhcp6_parser.cc" +#line 3982 "dhcp6_parser.cc" break; - case 733: // server_id_params: server_id_params "," -#line 2582 "dhcp6_parser.yy" + case 724: // server_id_params: server_id_params "," +#line 2559 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4043 "dhcp6_parser.cc" +#line 3990 "dhcp6_parser.cc" break; - case 743: // $@111: %empty -#line 2598 "dhcp6_parser.yy" + case 734: // $@110: %empty +#line 2575 "dhcp6_parser.yy" { ctx.unique("type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.DUID_TYPE); } -#line 4052 "dhcp6_parser.cc" +#line 3999 "dhcp6_parser.cc" break; - case 744: // server_id_type: "type" $@111 ":" duid_type -#line 2601 "dhcp6_parser.yy" + case 735: // server_id_type: "type" $@110 ":" duid_type +#line 2578 "dhcp6_parser.yy" { ctx.stack_.back()->set("type", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4061 "dhcp6_parser.cc" +#line 4008 "dhcp6_parser.cc" break; - case 745: // duid_type: "LLT" -#line 2606 "dhcp6_parser.yy" + case 736: // duid_type: "LLT" +#line 2583 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LLT", ctx.loc2pos(yystack_[0].location))); } -#line 4067 "dhcp6_parser.cc" +#line 4014 "dhcp6_parser.cc" break; - case 746: // duid_type: "EN" -#line 2607 "dhcp6_parser.yy" + case 737: // duid_type: "EN" +#line 2584 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("EN", ctx.loc2pos(yystack_[0].location))); } -#line 4073 "dhcp6_parser.cc" +#line 4020 "dhcp6_parser.cc" break; - case 747: // duid_type: "LL" -#line 2608 "dhcp6_parser.yy" + case 738: // duid_type: "LL" +#line 2585 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("LL", ctx.loc2pos(yystack_[0].location))); } -#line 4079 "dhcp6_parser.cc" +#line 4026 "dhcp6_parser.cc" break; - case 748: // htype: "htype" ":" "integer" -#line 2611 "dhcp6_parser.yy" + case 739: // htype: "htype" ":" "integer" +#line 2588 "dhcp6_parser.yy" { ctx.unique("htype", ctx.loc2pos(yystack_[2].location)); ElementPtr htype(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("htype", htype); } -#line 4089 "dhcp6_parser.cc" +#line 4036 "dhcp6_parser.cc" break; - case 749: // $@112: %empty -#line 2617 "dhcp6_parser.yy" + case 740: // $@111: %empty +#line 2594 "dhcp6_parser.yy" { ctx.unique("identifier", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4098 "dhcp6_parser.cc" +#line 4045 "dhcp6_parser.cc" break; - case 750: // identifier: "identifier" $@112 ":" "constant string" -#line 2620 "dhcp6_parser.yy" + case 741: // identifier: "identifier" $@111 ":" "constant string" +#line 2597 "dhcp6_parser.yy" { ElementPtr id(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("identifier", id); ctx.leave(); } -#line 4108 "dhcp6_parser.cc" +#line 4055 "dhcp6_parser.cc" break; - case 751: // time: "time" ":" "integer" -#line 2626 "dhcp6_parser.yy" + case 742: // time: "time" ":" "integer" +#line 2603 "dhcp6_parser.yy" { ctx.unique("time", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("time", time); } -#line 4118 "dhcp6_parser.cc" +#line 4065 "dhcp6_parser.cc" break; - case 752: // enterprise_id: "enterprise-id" ":" "integer" -#line 2632 "dhcp6_parser.yy" + case 743: // enterprise_id: "enterprise-id" ":" "integer" +#line 2609 "dhcp6_parser.yy" { ctx.unique("enterprise-id", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enterprise-id", time); } -#line 4128 "dhcp6_parser.cc" +#line 4075 "dhcp6_parser.cc" break; - case 753: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" -#line 2640 "dhcp6_parser.yy" + case 744: // dhcp4o6_port: "dhcp4o6-port" ":" "integer" +#line 2617 "dhcp6_parser.yy" { ctx.unique("dhcp4o6-port", ctx.loc2pos(yystack_[2].location)); ElementPtr time(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 4138 "dhcp6_parser.cc" +#line 4085 "dhcp6_parser.cc" break; - case 754: // $@113: %empty -#line 2648 "dhcp6_parser.yy" + case 745: // $@112: %empty +#line 2625 "dhcp6_parser.yy" { ctx.unique("control-socket", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4146,66 +4093,66 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 4150 "dhcp6_parser.cc" +#line 4097 "dhcp6_parser.cc" break; - case 755: // control_socket: "control-socket" $@113 ":" "{" control_socket_params "}" -#line 2654 "dhcp6_parser.yy" + case 746: // control_socket: "control-socket" $@112 ":" "{" control_socket_params "}" +#line 2631 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4159 "dhcp6_parser.cc" +#line 4106 "dhcp6_parser.cc" break; - case 758: // control_socket_params: control_socket_params "," -#line 2661 "dhcp6_parser.yy" + case 749: // control_socket_params: control_socket_params "," +#line 2638 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4167 "dhcp6_parser.cc" +#line 4114 "dhcp6_parser.cc" break; - case 764: // $@114: %empty -#line 2673 "dhcp6_parser.yy" + case 755: // $@113: %empty +#line 2650 "dhcp6_parser.yy" { ctx.unique("socket-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4176 "dhcp6_parser.cc" +#line 4123 "dhcp6_parser.cc" break; - case 765: // socket_type: "socket-type" $@114 ":" "constant string" -#line 2676 "dhcp6_parser.yy" + case 756: // socket_type: "socket-type" $@113 ":" "constant string" +#line 2653 "dhcp6_parser.yy" { ElementPtr stype(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 4186 "dhcp6_parser.cc" +#line 4133 "dhcp6_parser.cc" break; - case 766: // $@115: %empty -#line 2682 "dhcp6_parser.yy" + case 757: // $@114: %empty +#line 2659 "dhcp6_parser.yy" { ctx.unique("socket-name", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4195 "dhcp6_parser.cc" +#line 4142 "dhcp6_parser.cc" break; - case 767: // socket_name: "socket-name" $@115 ":" "constant string" -#line 2685 "dhcp6_parser.yy" + case 758: // socket_name: "socket-name" $@114 ":" "constant string" +#line 2662 "dhcp6_parser.yy" { ElementPtr name(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-name", name); ctx.leave(); } -#line 4205 "dhcp6_parser.cc" +#line 4152 "dhcp6_parser.cc" break; - case 768: // $@116: %empty -#line 2694 "dhcp6_parser.yy" + case 759: // $@115: %empty +#line 2671 "dhcp6_parser.yy" { ctx.unique("dhcp-queue-control", ctx.loc2pos(yystack_[0].location)); ElementPtr qc(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4213,87 +4160,87 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(qc); ctx.enter(ctx.DHCP_QUEUE_CONTROL); } -#line 4217 "dhcp6_parser.cc" +#line 4164 "dhcp6_parser.cc" break; - case 769: // dhcp_queue_control: "dhcp-queue-control" $@116 ":" "{" queue_control_params "}" -#line 2700 "dhcp6_parser.yy" + case 760: // dhcp_queue_control: "dhcp-queue-control" $@115 ":" "{" queue_control_params "}" +#line 2677 "dhcp6_parser.yy" { // The enable queue parameter is required. ctx.require("enable-queue", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4228 "dhcp6_parser.cc" +#line 4175 "dhcp6_parser.cc" break; - case 772: // queue_control_params: queue_control_params "," -#line 2709 "dhcp6_parser.yy" + case 763: // queue_control_params: queue_control_params "," +#line 2686 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4236 "dhcp6_parser.cc" +#line 4183 "dhcp6_parser.cc" break; - case 779: // enable_queue: "enable-queue" ":" "boolean" -#line 2722 "dhcp6_parser.yy" + case 770: // enable_queue: "enable-queue" ":" "boolean" +#line 2699 "dhcp6_parser.yy" { ctx.unique("enable-queue", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-queue", b); } -#line 4246 "dhcp6_parser.cc" +#line 4193 "dhcp6_parser.cc" break; - case 780: // $@117: %empty -#line 2728 "dhcp6_parser.yy" + case 771: // $@116: %empty +#line 2705 "dhcp6_parser.yy" { ctx.unique("queue-type", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4255 "dhcp6_parser.cc" +#line 4202 "dhcp6_parser.cc" break; - case 781: // queue_type: "queue-type" $@117 ":" "constant string" -#line 2731 "dhcp6_parser.yy" + case 772: // queue_type: "queue-type" $@116 ":" "constant string" +#line 2708 "dhcp6_parser.yy" { ElementPtr qt(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("queue-type", qt); ctx.leave(); } -#line 4265 "dhcp6_parser.cc" +#line 4212 "dhcp6_parser.cc" break; - case 782: // capacity: "capacity" ":" "integer" -#line 2737 "dhcp6_parser.yy" + case 773: // capacity: "capacity" ":" "integer" +#line 2714 "dhcp6_parser.yy" { ctx.unique("capacity", ctx.loc2pos(yystack_[2].location)); ElementPtr c(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("capacity", c); } -#line 4275 "dhcp6_parser.cc" +#line 4222 "dhcp6_parser.cc" break; - case 783: // $@118: %empty -#line 2743 "dhcp6_parser.yy" + case 774: // $@117: %empty +#line 2720 "dhcp6_parser.yy" { ctx.unique(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4284 "dhcp6_parser.cc" +#line 4231 "dhcp6_parser.cc" break; - case 784: // arbitrary_map_entry: "constant string" $@118 ":" value -#line 2746 "dhcp6_parser.yy" + case 775: // arbitrary_map_entry: "constant string" $@117 ":" value +#line 2723 "dhcp6_parser.yy" { ctx.stack_.back()->set(yystack_[3].value.as < std::string > (), yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4293 "dhcp6_parser.cc" +#line 4240 "dhcp6_parser.cc" break; - case 785: // $@119: %empty -#line 2753 "dhcp6_parser.yy" + case 776: // $@118: %empty +#line 2730 "dhcp6_parser.yy" { ctx.unique("dhcp-ddns", ctx.loc2pos(yystack_[0].location)); ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4301,177 +4248,177 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 4305 "dhcp6_parser.cc" +#line 4252 "dhcp6_parser.cc" break; - case 786: // dhcp_ddns: "dhcp-ddns" $@119 ":" "{" dhcp_ddns_params "}" -#line 2759 "dhcp6_parser.yy" + case 777: // dhcp_ddns: "dhcp-ddns" $@118 ":" "{" dhcp_ddns_params "}" +#line 2736 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 4316 "dhcp6_parser.cc" +#line 4263 "dhcp6_parser.cc" break; - case 787: // $@120: %empty -#line 2766 "dhcp6_parser.yy" + case 778: // $@119: %empty +#line 2743 "dhcp6_parser.yy" { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4326 "dhcp6_parser.cc" +#line 4273 "dhcp6_parser.cc" break; - case 788: // sub_dhcp_ddns: "{" $@120 dhcp_ddns_params "}" -#line 2770 "dhcp6_parser.yy" + case 779: // sub_dhcp_ddns: "{" $@119 dhcp_ddns_params "}" +#line 2747 "dhcp6_parser.yy" { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 4336 "dhcp6_parser.cc" +#line 4283 "dhcp6_parser.cc" break; - case 791: // dhcp_ddns_params: dhcp_ddns_params "," -#line 2778 "dhcp6_parser.yy" + case 782: // dhcp_ddns_params: dhcp_ddns_params "," +#line 2755 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4344 "dhcp6_parser.cc" +#line 4291 "dhcp6_parser.cc" break; - case 803: // enable_updates: "enable-updates" ":" "boolean" -#line 2796 "dhcp6_parser.yy" + case 794: // enable_updates: "enable-updates" ":" "boolean" +#line 2773 "dhcp6_parser.yy" { ctx.unique("enable-updates", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 4354 "dhcp6_parser.cc" +#line 4301 "dhcp6_parser.cc" break; - case 804: // $@121: %empty -#line 2802 "dhcp6_parser.yy" + case 795: // $@120: %empty +#line 2779 "dhcp6_parser.yy" { ctx.unique("server-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4363 "dhcp6_parser.cc" +#line 4310 "dhcp6_parser.cc" break; - case 805: // server_ip: "server-ip" $@121 ":" "constant string" -#line 2805 "dhcp6_parser.yy" + case 796: // server_ip: "server-ip" $@120 ":" "constant string" +#line 2782 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 4373 "dhcp6_parser.cc" +#line 4320 "dhcp6_parser.cc" break; - case 806: // server_port: "server-port" ":" "integer" -#line 2811 "dhcp6_parser.yy" + case 797: // server_port: "server-port" ":" "integer" +#line 2788 "dhcp6_parser.yy" { ctx.unique("server-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 4383 "dhcp6_parser.cc" +#line 4330 "dhcp6_parser.cc" break; - case 807: // $@122: %empty -#line 2817 "dhcp6_parser.yy" + case 798: // $@121: %empty +#line 2794 "dhcp6_parser.yy" { ctx.unique("sender-ip", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4392 "dhcp6_parser.cc" +#line 4339 "dhcp6_parser.cc" break; - case 808: // sender_ip: "sender-ip" $@122 ":" "constant string" -#line 2820 "dhcp6_parser.yy" + case 799: // sender_ip: "sender-ip" $@121 ":" "constant string" +#line 2797 "dhcp6_parser.yy" { ElementPtr s(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 4402 "dhcp6_parser.cc" +#line 4349 "dhcp6_parser.cc" break; - case 809: // sender_port: "sender-port" ":" "integer" -#line 2826 "dhcp6_parser.yy" + case 800: // sender_port: "sender-port" ":" "integer" +#line 2803 "dhcp6_parser.yy" { ctx.unique("sender-port", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 4412 "dhcp6_parser.cc" +#line 4359 "dhcp6_parser.cc" break; - case 810: // max_queue_size: "max-queue-size" ":" "integer" -#line 2832 "dhcp6_parser.yy" + case 801: // max_queue_size: "max-queue-size" ":" "integer" +#line 2809 "dhcp6_parser.yy" { ctx.unique("max-queue-size", ctx.loc2pos(yystack_[2].location)); ElementPtr i(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 4422 "dhcp6_parser.cc" +#line 4369 "dhcp6_parser.cc" break; - case 811: // $@123: %empty -#line 2838 "dhcp6_parser.yy" + case 802: // $@122: %empty +#line 2815 "dhcp6_parser.yy" { ctx.unique("ncr-protocol", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_PROTOCOL); } -#line 4431 "dhcp6_parser.cc" +#line 4378 "dhcp6_parser.cc" break; - case 812: // ncr_protocol: "ncr-protocol" $@123 ":" ncr_protocol_value -#line 2841 "dhcp6_parser.yy" + case 803: // ncr_protocol: "ncr-protocol" $@122 ":" ncr_protocol_value +#line 2818 "dhcp6_parser.yy" { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as < ElementPtr > ()); ctx.leave(); } -#line 4440 "dhcp6_parser.cc" +#line 4387 "dhcp6_parser.cc" break; - case 813: // ncr_protocol_value: "UDP" -#line 2847 "dhcp6_parser.yy" + case 804: // ncr_protocol_value: "UDP" +#line 2824 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 4446 "dhcp6_parser.cc" +#line 4393 "dhcp6_parser.cc" break; - case 814: // ncr_protocol_value: "TCP" -#line 2848 "dhcp6_parser.yy" + case 805: // ncr_protocol_value: "TCP" +#line 2825 "dhcp6_parser.yy" { yylhs.value.as < ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 4452 "dhcp6_parser.cc" +#line 4399 "dhcp6_parser.cc" break; - case 815: // $@124: %empty -#line 2851 "dhcp6_parser.yy" + case 806: // $@123: %empty +#line 2828 "dhcp6_parser.yy" { ctx.unique("ncr-format", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NCR_FORMAT); } -#line 4461 "dhcp6_parser.cc" +#line 4408 "dhcp6_parser.cc" break; - case 816: // ncr_format: "ncr-format" $@124 ":" "JSON" -#line 2854 "dhcp6_parser.yy" + case 807: // ncr_format: "ncr-format" $@123 ":" "JSON" +#line 2831 "dhcp6_parser.yy" { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 4471 "dhcp6_parser.cc" +#line 4418 "dhcp6_parser.cc" break; - case 817: // $@125: %empty -#line 2862 "dhcp6_parser.yy" + case 808: // $@124: %empty +#line 2839 "dhcp6_parser.yy" { ctx.unique("config-control", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4479,48 +4426,48 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.CONFIG_CONTROL); } -#line 4483 "dhcp6_parser.cc" +#line 4430 "dhcp6_parser.cc" break; - case 818: // config_control: "config-control" $@125 ":" "{" config_control_params "}" -#line 2868 "dhcp6_parser.yy" + case 809: // config_control: "config-control" $@124 ":" "{" config_control_params "}" +#line 2845 "dhcp6_parser.yy" { // No config control params are required ctx.stack_.pop_back(); ctx.leave(); } -#line 4493 "dhcp6_parser.cc" +#line 4440 "dhcp6_parser.cc" break; - case 819: // $@126: %empty -#line 2874 "dhcp6_parser.yy" + case 810: // $@125: %empty +#line 2851 "dhcp6_parser.yy" { // Parse the config-control map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 4503 "dhcp6_parser.cc" +#line 4450 "dhcp6_parser.cc" break; - case 820: // sub_config_control: "{" $@126 config_control_params "}" -#line 2878 "dhcp6_parser.yy" + case 811: // sub_config_control: "{" $@125 config_control_params "}" +#line 2855 "dhcp6_parser.yy" { // No config_control params are required // parsing completed } -#line 4512 "dhcp6_parser.cc" +#line 4459 "dhcp6_parser.cc" break; - case 823: // config_control_params: config_control_params "," -#line 2886 "dhcp6_parser.yy" + case 814: // config_control_params: config_control_params "," +#line 2863 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4520 "dhcp6_parser.cc" +#line 4467 "dhcp6_parser.cc" break; - case 826: // $@127: %empty -#line 2896 "dhcp6_parser.yy" + case 817: // $@126: %empty +#line 2873 "dhcp6_parser.yy" { ctx.unique("config-databases", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4528,30 +4475,30 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.CONFIG_DATABASE); } -#line 4532 "dhcp6_parser.cc" +#line 4479 "dhcp6_parser.cc" break; - case 827: // config_databases: "config-databases" $@127 ":" "[" database_list "]" -#line 2902 "dhcp6_parser.yy" + case 818: // config_databases: "config-databases" $@126 ":" "[" database_list "]" +#line 2879 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4541 "dhcp6_parser.cc" +#line 4488 "dhcp6_parser.cc" break; - case 828: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" -#line 2907 "dhcp6_parser.yy" + case 819: // config_fetch_wait_time: "config-fetch-wait-time" ":" "integer" +#line 2884 "dhcp6_parser.yy" { ctx.unique("config-fetch-wait-time", ctx.loc2pos(yystack_[2].location)); ElementPtr value(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("config-fetch-wait-time", value); } -#line 4551 "dhcp6_parser.cc" +#line 4498 "dhcp6_parser.cc" break; - case 829: // $@128: %empty -#line 2915 "dhcp6_parser.yy" + case 820: // $@127: %empty +#line 2892 "dhcp6_parser.yy" { ctx.unique("loggers", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4559,83 +4506,83 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.LOGGERS); } -#line 4563 "dhcp6_parser.cc" +#line 4510 "dhcp6_parser.cc" break; - case 830: // loggers: "loggers" $@128 ":" "[" loggers_entries "]" -#line 2921 "dhcp6_parser.yy" + case 821: // loggers: "loggers" $@127 ":" "[" loggers_entries "]" +#line 2898 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4572 "dhcp6_parser.cc" +#line 4519 "dhcp6_parser.cc" break; - case 833: // loggers_entries: loggers_entries "," -#line 2930 "dhcp6_parser.yy" + case 824: // loggers_entries: loggers_entries "," +#line 2907 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4580 "dhcp6_parser.cc" +#line 4527 "dhcp6_parser.cc" break; - case 834: // $@129: %empty -#line 2936 "dhcp6_parser.yy" + case 825: // $@128: %empty +#line 2913 "dhcp6_parser.yy" { ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(l); ctx.stack_.push_back(l); } -#line 4590 "dhcp6_parser.cc" +#line 4537 "dhcp6_parser.cc" break; - case 835: // logger_entry: "{" $@129 logger_params "}" -#line 2940 "dhcp6_parser.yy" + case 826: // logger_entry: "{" $@128 logger_params "}" +#line 2917 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4598 "dhcp6_parser.cc" +#line 4545 "dhcp6_parser.cc" break; - case 838: // logger_params: logger_params "," -#line 2946 "dhcp6_parser.yy" + case 829: // logger_params: logger_params "," +#line 2923 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4606 "dhcp6_parser.cc" +#line 4553 "dhcp6_parser.cc" break; - case 846: // debuglevel: "debuglevel" ":" "integer" -#line 2960 "dhcp6_parser.yy" + case 837: // debuglevel: "debuglevel" ":" "integer" +#line 2937 "dhcp6_parser.yy" { ctx.unique("debuglevel", ctx.loc2pos(yystack_[2].location)); ElementPtr dl(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("debuglevel", dl); } -#line 4616 "dhcp6_parser.cc" +#line 4563 "dhcp6_parser.cc" break; - case 847: // $@130: %empty -#line 2966 "dhcp6_parser.yy" + case 838: // $@129: %empty +#line 2943 "dhcp6_parser.yy" { ctx.unique("severity", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4625 "dhcp6_parser.cc" +#line 4572 "dhcp6_parser.cc" break; - case 848: // severity: "severity" $@130 ":" "constant string" -#line 2969 "dhcp6_parser.yy" + case 839: // severity: "severity" $@129 ":" "constant string" +#line 2946 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("severity", sev); ctx.leave(); } -#line 4635 "dhcp6_parser.cc" +#line 4582 "dhcp6_parser.cc" break; - case 849: // $@131: %empty -#line 2975 "dhcp6_parser.yy" + case 840: // $@130: %empty +#line 2952 "dhcp6_parser.yy" { ctx.unique("output-options", ctx.loc2pos(yystack_[0].location)); ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); @@ -4643,122 +4590,122 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(l); ctx.enter(ctx.OUTPUT_OPTIONS); } -#line 4647 "dhcp6_parser.cc" +#line 4594 "dhcp6_parser.cc" break; - case 850: // output_options_list: "output-options" $@131 ":" "[" output_options_list_content "]" -#line 2981 "dhcp6_parser.yy" + case 841: // output_options_list: "output-options" $@130 ":" "[" output_options_list_content "]" +#line 2958 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4656 "dhcp6_parser.cc" +#line 4603 "dhcp6_parser.cc" break; - case 853: // output_options_list_content: output_options_list_content "," -#line 2988 "dhcp6_parser.yy" + case 844: // output_options_list_content: output_options_list_content "," +#line 2965 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4664 "dhcp6_parser.cc" +#line 4611 "dhcp6_parser.cc" break; - case 854: // $@132: %empty -#line 2993 "dhcp6_parser.yy" + case 845: // $@131: %empty +#line 2970 "dhcp6_parser.yy" { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); ctx.stack_.push_back(m); } -#line 4674 "dhcp6_parser.cc" +#line 4621 "dhcp6_parser.cc" break; - case 855: // output_entry: "{" $@132 output_params_list "}" -#line 2997 "dhcp6_parser.yy" + case 846: // output_entry: "{" $@131 output_params_list "}" +#line 2974 "dhcp6_parser.yy" { ctx.stack_.pop_back(); } -#line 4682 "dhcp6_parser.cc" +#line 4629 "dhcp6_parser.cc" break; - case 858: // output_params_list: output_params_list "," -#line 3003 "dhcp6_parser.yy" + case 849: // output_params_list: output_params_list "," +#line 2980 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4690 "dhcp6_parser.cc" +#line 4637 "dhcp6_parser.cc" break; - case 864: // $@133: %empty -#line 3015 "dhcp6_parser.yy" + case 855: // $@132: %empty +#line 2992 "dhcp6_parser.yy" { ctx.unique("output", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4699 "dhcp6_parser.cc" +#line 4646 "dhcp6_parser.cc" break; - case 865: // output: "output" $@133 ":" "constant string" -#line 3018 "dhcp6_parser.yy" + case 856: // output: "output" $@132 ":" "constant string" +#line 2995 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("output", sev); ctx.leave(); } -#line 4709 "dhcp6_parser.cc" +#line 4656 "dhcp6_parser.cc" break; - case 866: // flush: "flush" ":" "boolean" -#line 3024 "dhcp6_parser.yy" + case 857: // flush: "flush" ":" "boolean" +#line 3001 "dhcp6_parser.yy" { ctx.unique("flush", ctx.loc2pos(yystack_[2].location)); ElementPtr flush(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 4719 "dhcp6_parser.cc" +#line 4666 "dhcp6_parser.cc" break; - case 867: // maxsize: "maxsize" ":" "integer" -#line 3030 "dhcp6_parser.yy" + case 858: // maxsize: "maxsize" ":" "integer" +#line 3007 "dhcp6_parser.yy" { ctx.unique("maxsize", ctx.loc2pos(yystack_[2].location)); ElementPtr maxsize(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 4729 "dhcp6_parser.cc" +#line 4676 "dhcp6_parser.cc" break; - case 868: // maxver: "maxver" ":" "integer" -#line 3036 "dhcp6_parser.yy" + case 859: // maxver: "maxver" ":" "integer" +#line 3013 "dhcp6_parser.yy" { ctx.unique("maxver", ctx.loc2pos(yystack_[2].location)); ElementPtr maxver(new IntElement(yystack_[0].value.as < int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 4739 "dhcp6_parser.cc" +#line 4686 "dhcp6_parser.cc" break; - case 869: // $@134: %empty -#line 3042 "dhcp6_parser.yy" + case 860: // $@133: %empty +#line 3019 "dhcp6_parser.yy" { ctx.unique("pattern", ctx.loc2pos(yystack_[0].location)); ctx.enter(ctx.NO_KEYWORD); } -#line 4748 "dhcp6_parser.cc" +#line 4695 "dhcp6_parser.cc" break; - case 870: // pattern: "pattern" $@134 ":" "constant string" -#line 3045 "dhcp6_parser.yy" + case 861: // pattern: "pattern" $@133 ":" "constant string" +#line 3022 "dhcp6_parser.yy" { ElementPtr sev(new StringElement(yystack_[0].value.as < std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pattern", sev); ctx.leave(); } -#line 4758 "dhcp6_parser.cc" +#line 4705 "dhcp6_parser.cc" break; - case 871: // $@135: %empty -#line 3051 "dhcp6_parser.yy" + case 862: // $@134: %empty +#line 3028 "dhcp6_parser.yy" { ctx.unique("compatibility", ctx.loc2pos(yystack_[0].location)); ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -4766,38 +4713,38 @@ namespace isc { namespace dhcp { ctx.stack_.push_back(i); ctx.enter(ctx.COMPATIBILITY); } -#line 4770 "dhcp6_parser.cc" +#line 4717 "dhcp6_parser.cc" break; - case 872: // compatibility: "compatibility" $@135 ":" "{" compatibility_params "}" -#line 3057 "dhcp6_parser.yy" + case 863: // compatibility: "compatibility" $@134 ":" "{" compatibility_params "}" +#line 3034 "dhcp6_parser.yy" { ctx.stack_.pop_back(); ctx.leave(); } -#line 4779 "dhcp6_parser.cc" +#line 4726 "dhcp6_parser.cc" break; - case 875: // compatibility_params: compatibility_params "," -#line 3064 "dhcp6_parser.yy" + case 866: // compatibility_params: compatibility_params "," +#line 3041 "dhcp6_parser.yy" { ctx.warnAboutExtraCommas(yystack_[0].location); } -#line 4787 "dhcp6_parser.cc" +#line 4734 "dhcp6_parser.cc" break; - case 878: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" -#line 3073 "dhcp6_parser.yy" + case 869: // lenient_option_parsing: "lenient-option-parsing" ":" "boolean" +#line 3050 "dhcp6_parser.yy" { ctx.unique("lenient-option-parsing", ctx.loc2pos(yystack_[2].location)); ElementPtr b(new BoolElement(yystack_[0].value.as < bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lenient-option-parsing", b); } -#line 4797 "dhcp6_parser.cc" +#line 4744 "dhcp6_parser.cc" break; -#line 4801 "dhcp6_parser.cc" +#line 4748 "dhcp6_parser.cc" default: break; @@ -5149,149 +5096,147 @@ namespace isc { namespace dhcp { } - const short Dhcp6Parser::yypact_ninf_ = -1010; + const short Dhcp6Parser::yypact_ninf_ = -1000; const signed char Dhcp6Parser::yytable_ninf_ = -1; const short Dhcp6Parser::yypact_[] = { - 473, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, 36, 34, 35, 70, 108, - 123, 127, 141, 151, 178, 180, 200, 245, 246, 254, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 34, -136, - 140, 171, 102, 676, 201, 293, 239, 142, 107, 331, - -94, 458, 87, -1010, 278, 285, 294, 297, 317, -1010, - 58, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 342, 355, - 356, 367, 386, 401, 405, 420, 421, 426, 442, 443, - 451, 453, -1010, 454, 457, 459, 461, 462, -1010, -1010, - -1010, 463, 464, 465, 468, -1010, -1010, -1010, 469, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 471, 472, 475, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 476, -1010, - -1010, -1010, -1010, -1010, -1010, 478, 479, 480, -1010, -1010, - 483, -1010, 60, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, 485, 486, 489, 490, -1010, 71, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 492, 494, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 77, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, 495, -1010, -1010, - -1010, -1010, 78, -1010, -1010, -1010, -1010, -1010, -1010, 496, - -1010, 497, 500, -1010, -1010, -1010, -1010, -1010, -1010, 86, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, 332, 417, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, 362, -1010, -1010, - 502, -1010, -1010, -1010, 504, -1010, -1010, 501, 474, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 508, 513, 514, -1010, -1010, -1010, -1010, 515, - 522, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, 96, -1010, -1010, -1010, 525, -1010, - 526, -1010, 527, 529, -1010, -1010, -1010, -1010, -1010, 106, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - 530, 124, -1010, -1010, -1010, -1010, 34, 34, -1010, 315, - 533, -1010, -1010, 534, 536, 538, 539, 540, 543, 334, - 337, 341, 348, 349, 350, 351, 358, 327, 330, 335, - 354, 363, 365, 549, 368, 369, 360, 373, 375, 550, - 573, 581, 378, 379, 370, 380, 584, 587, 600, 385, - 604, 605, 609, 610, 611, 612, 614, 396, 397, 398, - 618, 619, 621, 622, 623, 624, 625, 626, 627, 411, - 637, 638, 639, 640, 641, 642, 424, 425, 427, 645, - 647, -1010, 171, -1010, 649, 431, 433, 436, 437, 102, - -1010, 655, 656, 657, 658, 659, 444, 441, 662, 663, - 664, 676, -1010, 666, 452, 201, -1010, 667, 455, 668, - 456, 477, 293, -1010, 670, 671, 689, 690, 696, 697, - 698, -1010, 239, -1010, 700, 701, 487, 702, 703, 710, - 493, -1010, 107, 711, 498, 499, 503, -1010, 331, 714, - 715, -38, -1010, 517, 716, 520, 720, 521, 537, 721, - 739, 458, -1010, 750, 541, 87, -1010, -1010, -1010, 751, - 752, 551, 753, 754, 765, 766, 769, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, 555, -1010, -1010, -1010, -1010, -1010, -141, 557, 559, - -1010, -1010, -1010, -1010, 775, 776, 777, -1010, 563, 572, - 347, 788, 787, 575, 333, -1010, -1010, -1010, 794, 795, - 796, 797, 798, 800, 802, 801, 804, -1010, 806, 807, - 808, 809, 582, 589, -1010, -1010, -1010, 812, 811, -1010, - 815, -1010, -1010, -1010, -1010, -1010, 816, 817, 603, 606, - 607, -1010, -1010, 815, 608, 818, -1010, 643, -1010, -1010, - 644, -1010, 648, -1010, -1010, -1010, 815, 815, 815, 650, - 654, 660, 661, -1010, 665, 669, -1010, 672, 675, 677, - -1010, -1010, 678, -1010, -1010, -1010, -1010, 682, 787, -1010, - -1010, 683, -1010, 684, -1010, -1010, 22, 673, -1010, 819, - -1010, -1010, 34, 171, -1010, 87, 102, 131, 131, 822, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 836, - 837, 838, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 839, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -95, 34, - 210, 185, 854, 855, 858, 236, 234, 110, 91, -76, - 458, -1010, -1010, 862, -155, -1010, -1010, 868, 869, -1010, - -1010, -1010, -1010, -1010, 620, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 822, - -1010, 125, 135, 137, -1010, -1010, -1010, -1010, 873, 874, - 875, 878, 879, 880, 882, 901, 902, 903, -1010, 904, - 906, -1010, -1010, -1010, -1010, -1010, 143, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - 181, -1010, 905, 909, -1010, -1010, 908, 912, -1010, -1010, - 910, 914, -1010, -1010, 913, 915, -1010, -1010, 917, 918, - -1010, -1010, -1010, 61, -1010, -1010, -1010, 919, -1010, -1010, - -1010, 214, -1010, -1010, -1010, -1010, -1010, 205, -1010, -1010, - -1010, -1010, 416, -1010, -1010, 920, 921, -1010, -1010, 922, - 924, -1010, 916, 925, 926, 927, 928, 929, 206, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 930, 931, - 932, -1010, -1010, -1010, -1010, 269, -1010, -1010, -1010, -1010, - -1010, -1010, 933, 934, 935, -1010, 275, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 279, -1010, - -1010, -1010, 936, -1010, 937, -1010, -1010, -1010, 282, -1010, - -1010, -1010, -1010, -1010, 296, -1010, 423, -1010, 938, -1010, - 298, -1010, -1010, 723, -1010, 939, 941, -1010, -1010, 940, - 944, -1010, -1010, 942, 943, -1010, -1010, -1010, 947, 948, - 949, 951, 727, 733, 737, 736, 740, 741, 746, 755, - 758, 762, 968, 761, 767, 990, 992, 994, 996, 131, - -1010, -1010, 131, -1010, 822, 676, -1010, 836, 107, -1010, - 837, 331, -1010, 838, 779, -1010, 839, -95, -1010, -1010, - 210, -1010, 1000, 1008, 185, -1010, 302, 854, -1010, 239, - -1010, 855, -94, -1010, 858, 792, 813, 826, 831, 832, - 852, 236, -1010, 1017, 1028, 865, 886, 888, 234, -1010, - 814, 890, 891, 110, -1010, 1032, 1113, 91, -1010, 895, - 1115, 899, 1117, -76, -1010, -1010, 208, 862, -1010, 900, - -155, -1010, -1010, 1116, 1121, 201, -1010, 868, 293, -1010, - 869, -1010, -1010, 148, 907, 911, 923, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, 49, -1010, -1010, - 945, 946, 950, 952, -1010, 318, -1010, 320, -1010, 1118, - -1010, 1120, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, 321, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 953, 954, -1010, -1010, -1010, 1125, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 1122, - 1129, -1010, -1010, -1010, -1010, -1010, -1010, 1126, -1010, 329, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 281, 955, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 956, 958, - -1010, -1010, 959, -1010, 34, -1010, -1010, 1131, -1010, -1010, - -1010, -1010, -1010, 336, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 961, 364, -1010, 366, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 779, -1010, -1010, -1010, - 1133, 1134, 960, -1010, 302, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 1135, 963, 1136, 208, - -1010, -1010, -1010, -1010, -1010, 962, 965, -1010, -1010, 1137, - -1010, 966, -1010, -1010, -1010, 1138, -1010, -1010, 450, -1010, - 1, 1138, -1010, -1010, 1140, 1142, 1143, -1010, 400, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 1144, 964, 967, 969, - 1145, 1, -1010, 971, -1010, -1010, -1010, 972, -1010, -1010, - -1010 + 701, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 35, 34, 39, 61, 70, + 82, 97, 114, 123, 127, 137, 141, 147, 158, 186, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 34, -175, + 42, 165, 75, 668, 60, 212, 519, -37, 83, 312, + -96, 459, 168, -1000, 55, 172, 59, 193, 191, -1000, + 47, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 242, 243, + 283, 291, 304, 308, 345, 409, 414, 418, 421, 422, + 424, 425, -1000, 426, 428, 429, 430, 431, -1000, -1000, + -1000, 432, 434, 435, 436, -1000, -1000, -1000, 437, -1000, + -1000, -1000, -1000, -1000, -1000, 438, 439, 441, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 442, -1000, -1000, + -1000, -1000, -1000, -1000, 443, 444, 445, -1000, -1000, 446, + -1000, 71, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 447, 448, 449, 450, -1000, 77, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 451, 453, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 78, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 455, -1000, -1000, -1000, -1000, 112, + -1000, -1000, -1000, -1000, -1000, -1000, 457, -1000, 458, 460, + -1000, -1000, -1000, -1000, -1000, -1000, 135, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 328, 354, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 394, -1000, -1000, 461, -1000, -1000, + -1000, 464, -1000, -1000, 396, 466, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 467, + 468, 469, -1000, -1000, -1000, -1000, 404, 472, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 142, -1000, -1000, -1000, 474, -1000, 475, -1000, 476, + 479, -1000, -1000, -1000, -1000, -1000, 143, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 481, 171, -1000, + -1000, -1000, -1000, 34, 34, -1000, -133, 482, -1000, -1000, + 485, 486, 488, 490, 491, 492, -132, 247, 260, 281, + 284, 286, 289, 292, 295, 287, 297, 301, 293, 305, + 515, 309, 310, 311, 313, 315, 526, 530, 532, 320, + 321, 329, 322, 539, 543, 544, 333, 546, 547, 550, + 554, 558, 559, 347, 348, 361, 568, 569, 571, 576, + 577, 578, 580, 581, 582, 371, 584, 588, 590, 593, + 594, 596, 384, 386, 387, 604, 605, -1000, 165, -1000, + 606, 393, 395, 399, 401, 75, -1000, 610, 612, 614, + 616, 617, 406, 405, 620, 621, 622, 668, -1000, 640, + 433, 60, -1000, 641, 452, 642, 454, 456, 212, -1000, + 644, 653, 654, 655, 656, 657, 658, -1000, 519, -1000, + 659, 661, 462, 665, 667, 669, 463, -1000, 83, 671, + 465, 470, 473, -1000, 312, 672, 673, -44, -1000, 478, + 675, 489, 676, 493, 494, 678, 680, 459, -1000, 686, + 495, 168, -1000, -1000, -1000, 688, 690, 483, 697, 699, + 708, 709, 703, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 502, -1000, -1000, + -1000, -1000, -1000, -117, 517, 518, -1000, -1000, -1000, -1000, + 730, 741, 742, -1000, 534, 535, 294, 746, 745, 548, + -1000, -1000, -1000, 753, 754, 759, 758, 761, 762, 764, + 765, 766, -1000, 767, 768, 779, 780, 556, 573, -1000, + -1000, -1000, 784, 783, -1000, 786, -1000, -1000, -1000, -1000, + -1000, 787, 789, 583, 585, 587, -1000, -1000, 786, 589, + 788, -1000, 592, -1000, -1000, 595, -1000, 597, -1000, -1000, + -1000, 786, 786, 786, 598, 613, 615, 627, -1000, 630, + 631, -1000, 632, 633, 634, -1000, -1000, 635, -1000, -1000, + -1000, -1000, 636, 745, -1000, -1000, 637, -1000, 643, -1000, + -1000, 203, 623, -1000, 791, -1000, -1000, 34, 165, -1000, + 168, 75, 338, 338, 798, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 801, 802, 804, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 820, -1000, -1000, -1000, -101, 34, + 211, 89, 822, 852, 853, 52, 146, 54, -55, -9, + 459, -1000, -1000, 854, -168, -1000, -1000, 855, 856, -1000, + -1000, -1000, -1000, -1000, 732, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 798, + -1000, 199, 200, 201, -1000, -1000, -1000, -1000, 861, 862, + 863, 864, 865, 866, 869, 872, 877, 878, -1000, 880, + 881, -1000, -1000, -1000, -1000, -1000, 202, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 245, -1000, 883, 884, -1000, -1000, 885, 887, -1000, -1000, + 888, 890, -1000, -1000, 889, 893, -1000, -1000, 891, 895, + -1000, -1000, -1000, 45, -1000, -1000, -1000, 894, -1000, -1000, + -1000, 288, -1000, -1000, -1000, -1000, -1000, 257, -1000, -1000, + -1000, -1000, 326, -1000, -1000, 910, 896, -1000, -1000, 911, + 915, -1000, 882, 916, 917, 918, 919, 920, 268, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 921, 922, + 923, -1000, -1000, -1000, -1000, 285, -1000, -1000, -1000, -1000, + -1000, -1000, 924, 925, 926, -1000, 302, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 303, -1000, + -1000, -1000, 927, -1000, 928, -1000, -1000, -1000, 323, -1000, + -1000, -1000, -1000, -1000, 325, -1000, 353, -1000, 929, -1000, + 332, -1000, -1000, 704, -1000, 930, 931, -1000, -1000, 932, + 934, -1000, -1000, 933, 936, -1000, -1000, -1000, 935, 939, + 941, 942, 719, 722, 735, 734, 743, 744, 750, 757, + 770, 772, 953, 751, 773, 958, 970, 980, 986, 338, + -1000, -1000, 338, -1000, 798, 668, -1000, 801, 83, -1000, + 802, 312, -1000, 804, 763, -1000, 820, -101, -1000, -1000, + 211, -1000, 990, 998, 89, -1000, 586, 822, -1000, 519, + -1000, 852, -96, -1000, 853, 795, 806, 808, 810, 811, + 821, 52, -1000, 999, 1038, 827, 847, 860, 146, -1000, + 879, 886, 892, 54, -1000, 1092, 1095, -55, -1000, 897, + 1097, 898, 1102, -9, -1000, -1000, 216, 854, -1000, 899, + -168, -1000, -1000, 1101, 1106, 60, -1000, 855, 212, -1000, + 856, -1000, -1000, 236, 901, 903, 904, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 235, -1000, -1000, + 905, 906, 907, 909, -1000, 335, -1000, 336, -1000, 1103, + -1000, 1104, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, 339, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 912, 913, -1000, -1000, -1000, 1109, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 1117, 1107, + -1000, -1000, -1000, -1000, -1000, -1000, 1121, -1000, 355, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 265, 937, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, 938, 940, -1000, + -1000, 943, -1000, 34, -1000, -1000, 1126, -1000, -1000, -1000, + -1000, -1000, 357, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 944, 397, -1000, 398, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 763, -1000, -1000, -1000, 1127, + 1128, 945, -1000, 586, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1129, 946, 1130, 216, -1000, + -1000, -1000, -1000, -1000, 949, 950, -1000, -1000, 1131, -1000, + 952, -1000, -1000, -1000, 1132, -1000, -1000, 408, -1000, -70, + 1132, -1000, -1000, 1133, 1134, 1136, -1000, 400, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, 1137, 954, 955, 957, 1138, + -70, -1000, 959, -1000, -1000, -1000, 960, -1000, -1000, -1000 }; const short @@ -5301,188 +5246,186 @@ namespace isc { namespace dhcp { 20, 22, 24, 26, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 46, 38, 34, 33, 30, 31, 32, 37, 3, - 35, 36, 61, 5, 67, 7, 199, 9, 388, 11, - 601, 13, 630, 15, 662, 17, 519, 19, 528, 21, - 567, 23, 350, 25, 787, 27, 819, 29, 48, 41, - 0, 0, 0, 0, 0, 0, 664, 0, 530, 569, + 35, 36, 61, 5, 67, 7, 198, 9, 387, 11, + 592, 13, 621, 15, 653, 17, 510, 19, 519, 21, + 558, 23, 349, 25, 778, 27, 810, 29, 48, 41, + 0, 0, 0, 0, 0, 0, 655, 0, 521, 560, 0, 0, 0, 50, 0, 49, 0, 0, 42, 63, - 0, 65, 141, 817, 197, 218, 220, 222, 0, 0, + 0, 65, 140, 808, 196, 217, 219, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 187, 0, 0, 0, 0, 0, 160, 167, - 169, 0, 0, 0, 0, 379, 517, 558, 0, 190, - 192, 173, 461, 617, 619, 453, 0, 0, 0, 306, - 325, 315, 295, 697, 653, 341, 362, 729, 0, 327, - 754, 768, 785, 180, 182, 0, 0, 0, 829, 871, - 0, 140, 0, 69, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 111, 112, 113, 114, 115, 81, 119, - 120, 121, 122, 123, 124, 125, 126, 127, 128, 117, - 118, 129, 130, 131, 106, 137, 138, 139, 133, 134, - 135, 84, 85, 86, 87, 103, 88, 90, 89, 132, - 94, 95, 82, 108, 109, 110, 107, 83, 92, 93, - 101, 102, 104, 91, 96, 97, 98, 99, 100, 105, - 116, 136, 212, 0, 0, 0, 0, 211, 0, 201, - 204, 205, 206, 207, 208, 209, 210, 592, 621, 440, - 442, 444, 0, 0, 448, 446, 694, 439, 393, 394, - 395, 396, 397, 398, 399, 400, 419, 420, 421, 422, - 423, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 424, 425, 436, 437, 438, 0, 390, 404, 405, - 406, 409, 410, 413, 414, 415, 412, 407, 408, 401, - 402, 417, 418, 403, 411, 416, 614, 0, 613, 609, - 610, 608, 0, 603, 606, 607, 611, 612, 646, 0, - 649, 0, 0, 645, 639, 640, 638, 643, 644, 0, - 632, 635, 636, 641, 642, 637, 692, 680, 682, 684, - 686, 688, 690, 679, 676, 677, 678, 0, 665, 666, - 671, 672, 669, 673, 674, 675, 670, 0, 548, 269, - 0, 552, 550, 555, 0, 544, 545, 0, 531, 532, - 535, 547, 536, 537, 538, 554, 539, 540, 541, 542, - 543, 585, 0, 0, 0, 583, 584, 587, 588, 0, - 570, 571, 574, 575, 576, 577, 578, 579, 580, 581, - 582, 358, 360, 355, 0, 352, 356, 357, 0, 804, - 0, 807, 0, 0, 811, 815, 802, 800, 801, 0, - 789, 792, 793, 794, 795, 796, 797, 798, 799, 826, - 0, 0, 821, 824, 825, 47, 52, 0, 39, 45, - 0, 66, 62, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 186, 0, 0, 0, 0, 0, 159, 166, + 168, 0, 0, 0, 0, 378, 508, 549, 0, 189, + 191, 172, 453, 608, 610, 0, 0, 0, 305, 324, + 314, 294, 688, 644, 340, 361, 720, 0, 326, 745, + 759, 776, 179, 181, 0, 0, 0, 820, 862, 0, + 139, 0, 69, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 110, 111, 112, 113, 114, 81, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, 116, 117, + 128, 129, 130, 106, 136, 137, 138, 132, 133, 134, + 84, 85, 86, 87, 103, 88, 90, 89, 131, 94, + 95, 82, 107, 108, 109, 83, 92, 93, 101, 102, + 104, 91, 96, 97, 98, 99, 100, 105, 115, 135, + 211, 0, 0, 0, 0, 210, 0, 200, 203, 204, + 205, 206, 207, 208, 209, 583, 612, 438, 440, 442, + 0, 0, 446, 444, 685, 437, 392, 393, 394, 395, + 396, 397, 398, 399, 417, 418, 419, 420, 421, 424, + 425, 426, 427, 428, 429, 430, 431, 432, 433, 422, + 423, 434, 435, 436, 0, 389, 403, 404, 405, 408, + 409, 411, 412, 413, 406, 407, 400, 401, 415, 416, + 402, 410, 414, 605, 0, 604, 600, 601, 599, 0, + 594, 597, 598, 602, 603, 637, 0, 640, 0, 0, + 636, 630, 631, 629, 634, 635, 0, 623, 626, 627, + 632, 633, 628, 683, 671, 673, 675, 677, 679, 681, + 670, 667, 668, 669, 0, 656, 657, 662, 663, 660, + 664, 665, 666, 661, 0, 539, 268, 0, 543, 541, + 546, 0, 535, 536, 0, 522, 523, 526, 538, 527, + 528, 529, 545, 530, 531, 532, 533, 534, 576, 0, + 0, 0, 574, 575, 578, 579, 0, 561, 562, 565, + 566, 567, 568, 569, 570, 571, 572, 573, 357, 359, + 354, 0, 351, 355, 356, 0, 795, 0, 798, 0, + 0, 802, 806, 793, 791, 792, 0, 780, 783, 784, + 785, 786, 787, 788, 789, 790, 817, 0, 0, 812, + 815, 816, 47, 52, 0, 39, 45, 0, 66, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 60, 71, 68, 0, 0, 0, 0, 0, 203, - 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 392, 389, 0, 0, 605, 602, 0, 0, 0, - 0, 0, 634, 631, 0, 0, 0, 0, 0, 0, - 0, 663, 668, 520, 0, 0, 0, 0, 0, 0, - 0, 529, 534, 0, 0, 0, 0, 568, 573, 0, - 0, 354, 351, 0, 0, 0, 0, 0, 0, 0, - 0, 791, 788, 0, 0, 823, 820, 51, 43, 0, - 0, 0, 0, 0, 0, 0, 0, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 0, 185, 186, 157, 158, 159, 0, 0, 0, - 171, 172, 179, 184, 0, 0, 0, 189, 0, 0, - 0, 0, 0, 0, 0, 450, 451, 452, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 753, 0, 0, - 0, 0, 0, 0, 194, 195, 196, 0, 0, 70, - 0, 214, 215, 216, 217, 202, 0, 0, 0, 0, - 0, 459, 460, 0, 0, 0, 391, 0, 616, 604, - 0, 648, 0, 651, 652, 633, 0, 0, 0, 0, - 0, 0, 0, 667, 0, 0, 546, 0, 0, 0, - 557, 533, 0, 589, 590, 591, 572, 0, 0, 353, - 803, 0, 806, 0, 809, 810, 0, 0, 790, 0, - 828, 822, 0, 0, 142, 0, 0, 0, 0, 224, - 188, 162, 163, 164, 165, 166, 161, 168, 170, 381, - 521, 560, 191, 193, 175, 176, 177, 178, 174, 463, - 40, 618, 620, 455, 456, 457, 458, 454, 0, 48, - 0, 0, 0, 655, 343, 0, 0, 0, 0, 0, - 0, 181, 183, 0, 0, 53, 213, 594, 623, 441, - 443, 445, 449, 447, 0, 615, 647, 650, 693, 681, - 683, 685, 687, 689, 691, 549, 270, 553, 551, 556, - 586, 359, 361, 805, 808, 813, 814, 812, 816, 224, - 44, 0, 0, 0, 257, 262, 264, 266, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 279, 0, - 0, 287, 289, 291, 293, 256, 0, 231, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 248, 249, 250, 251, 247, 252, 253, 254, 255, - 0, 229, 0, 225, 226, 386, 0, 382, 383, 526, - 0, 522, 523, 565, 0, 561, 562, 468, 0, 464, - 465, 313, 314, 0, 308, 311, 312, 0, 323, 324, - 320, 0, 317, 321, 322, 302, 304, 0, 297, 300, - 301, 702, 0, 699, 660, 0, 656, 657, 348, 0, - 344, 345, 0, 0, 0, 0, 0, 0, 0, 364, - 367, 368, 369, 370, 371, 372, 743, 749, 0, 0, - 0, 742, 739, 740, 741, 0, 731, 734, 737, 735, - 736, 738, 0, 0, 0, 337, 0, 329, 332, 333, - 334, 335, 336, 764, 766, 763, 761, 762, 0, 756, - 759, 760, 0, 780, 0, 783, 776, 777, 0, 770, - 773, 774, 775, 778, 0, 834, 0, 831, 0, 877, - 0, 873, 876, 55, 599, 0, 595, 596, 628, 0, - 624, 625, 696, 0, 0, 64, 818, 198, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 60, 71, 68, + 0, 0, 0, 0, 0, 202, 199, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 391, 388, 0, + 0, 596, 593, 0, 0, 0, 0, 0, 625, 622, + 0, 0, 0, 0, 0, 0, 0, 654, 659, 511, + 0, 0, 0, 0, 0, 0, 0, 520, 525, 0, + 0, 0, 0, 559, 564, 0, 0, 353, 350, 0, + 0, 0, 0, 0, 0, 0, 0, 782, 779, 0, + 0, 814, 811, 51, 43, 0, 0, 0, 0, 0, + 0, 0, 0, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 155, 0, 184, 185, + 156, 157, 158, 0, 0, 0, 170, 171, 178, 183, + 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, + 448, 449, 450, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 744, 0, 0, 0, 0, 0, 0, 193, + 194, 195, 0, 0, 70, 0, 213, 214, 215, 216, + 201, 0, 0, 0, 0, 0, 451, 452, 0, 0, + 0, 390, 0, 607, 595, 0, 639, 0, 642, 643, + 624, 0, 0, 0, 0, 0, 0, 0, 658, 0, + 0, 537, 0, 0, 0, 548, 524, 0, 580, 581, + 582, 563, 0, 0, 352, 794, 0, 797, 0, 800, + 801, 0, 0, 781, 0, 819, 813, 0, 0, 141, + 0, 0, 0, 0, 223, 187, 161, 162, 163, 164, + 165, 160, 167, 169, 380, 512, 551, 190, 192, 174, + 175, 176, 177, 173, 455, 40, 609, 611, 0, 48, + 0, 0, 0, 646, 342, 0, 0, 0, 0, 0, + 0, 180, 182, 0, 0, 53, 212, 585, 614, 439, + 441, 443, 447, 445, 0, 606, 638, 641, 684, 672, + 674, 676, 678, 680, 682, 540, 269, 544, 542, 547, + 577, 358, 360, 796, 799, 804, 805, 803, 807, 223, + 44, 0, 0, 0, 256, 261, 263, 265, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, + 0, 286, 288, 290, 292, 255, 0, 230, 233, 234, + 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, + 245, 247, 248, 249, 250, 246, 251, 252, 253, 254, + 0, 228, 0, 224, 225, 385, 0, 381, 382, 517, + 0, 513, 514, 556, 0, 552, 553, 460, 0, 456, + 457, 312, 313, 0, 307, 310, 311, 0, 322, 323, + 319, 0, 316, 320, 321, 301, 303, 0, 296, 299, + 300, 693, 0, 690, 651, 0, 647, 648, 347, 0, + 343, 344, 0, 0, 0, 0, 0, 0, 0, 363, + 366, 367, 368, 369, 370, 371, 734, 740, 0, 0, + 0, 733, 730, 731, 732, 0, 722, 725, 728, 726, + 727, 729, 0, 0, 0, 336, 0, 328, 331, 332, + 333, 334, 335, 755, 757, 754, 752, 753, 0, 747, + 750, 751, 0, 771, 0, 774, 767, 768, 0, 761, + 764, 765, 766, 769, 0, 825, 0, 822, 0, 868, + 0, 864, 867, 55, 590, 0, 586, 587, 619, 0, + 615, 616, 687, 0, 0, 64, 809, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, - 219, 221, 0, 223, 228, 0, 380, 385, 530, 518, - 525, 569, 559, 564, 0, 462, 467, 310, 307, 326, - 319, 316, 0, 0, 299, 296, 704, 701, 698, 664, - 654, 659, 0, 342, 347, 0, 0, 0, 0, 0, - 0, 366, 363, 0, 0, 0, 0, 0, 733, 730, - 0, 0, 0, 331, 328, 0, 0, 758, 755, 0, - 0, 0, 0, 772, 769, 786, 0, 833, 830, 0, - 875, 872, 57, 0, 56, 0, 593, 598, 0, 622, - 627, 695, 827, 0, 0, 0, 0, 268, 271, 272, - 273, 274, 275, 276, 277, 286, 278, 0, 284, 285, - 0, 0, 0, 0, 232, 0, 227, 0, 384, 0, - 524, 0, 563, 516, 487, 488, 489, 491, 492, 493, - 477, 478, 496, 497, 498, 499, 500, 503, 504, 505, - 506, 507, 508, 509, 510, 511, 512, 501, 502, 513, - 514, 515, 473, 474, 475, 476, 485, 486, 482, 483, - 484, 481, 490, 0, 470, 479, 494, 495, 480, 466, - 309, 318, 0, 0, 298, 724, 726, 0, 722, 716, - 717, 718, 719, 720, 721, 723, 713, 714, 715, 0, - 705, 706, 709, 710, 711, 712, 700, 0, 658, 0, - 346, 373, 374, 375, 376, 377, 378, 365, 0, 0, - 748, 751, 752, 732, 338, 339, 340, 330, 0, 0, - 757, 779, 0, 782, 0, 771, 849, 0, 847, 845, - 839, 843, 844, 0, 836, 841, 842, 840, 832, 878, - 874, 54, 59, 0, 597, 0, 626, 259, 260, 261, - 258, 263, 265, 267, 281, 282, 283, 280, 288, 290, - 292, 294, 230, 387, 527, 566, 472, 469, 303, 305, - 0, 0, 0, 703, 708, 661, 349, 745, 746, 747, - 744, 750, 765, 767, 781, 784, 0, 0, 0, 838, - 835, 58, 600, 629, 471, 0, 0, 728, 707, 0, - 846, 0, 837, 725, 727, 0, 848, 854, 0, 851, - 0, 853, 850, 864, 0, 0, 0, 869, 0, 856, - 859, 860, 861, 862, 863, 852, 0, 0, 0, 0, - 0, 858, 855, 0, 866, 867, 868, 0, 857, 865, - 870 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, + 218, 220, 0, 222, 227, 0, 379, 384, 521, 509, + 516, 560, 550, 555, 0, 454, 459, 309, 306, 325, + 318, 315, 0, 0, 298, 295, 695, 692, 689, 655, + 645, 650, 0, 341, 346, 0, 0, 0, 0, 0, + 0, 365, 362, 0, 0, 0, 0, 0, 724, 721, + 0, 0, 0, 330, 327, 0, 0, 749, 746, 0, + 0, 0, 0, 763, 760, 777, 0, 824, 821, 0, + 866, 863, 57, 0, 56, 0, 584, 589, 0, 613, + 618, 686, 818, 0, 0, 0, 0, 267, 270, 271, + 272, 273, 274, 275, 276, 285, 277, 0, 283, 284, + 0, 0, 0, 0, 231, 0, 226, 0, 383, 0, + 515, 0, 554, 507, 478, 479, 480, 482, 483, 484, + 469, 470, 487, 488, 489, 490, 491, 494, 495, 496, + 497, 498, 499, 500, 501, 502, 503, 492, 493, 504, + 505, 506, 465, 466, 467, 468, 476, 477, 473, 474, + 475, 481, 0, 462, 471, 485, 486, 472, 458, 308, + 317, 0, 0, 297, 715, 717, 0, 713, 707, 708, + 709, 710, 711, 712, 714, 704, 705, 706, 0, 696, + 697, 700, 701, 702, 703, 691, 0, 649, 0, 345, + 372, 373, 374, 375, 376, 377, 364, 0, 0, 739, + 742, 743, 723, 337, 338, 339, 329, 0, 0, 748, + 770, 0, 773, 0, 762, 840, 0, 838, 836, 830, + 834, 835, 0, 827, 832, 833, 831, 823, 869, 865, + 54, 59, 0, 588, 0, 617, 258, 259, 260, 257, + 262, 264, 266, 280, 281, 282, 279, 287, 289, 291, + 293, 229, 386, 518, 557, 464, 461, 302, 304, 0, + 0, 0, 694, 699, 652, 348, 736, 737, 738, 735, + 741, 756, 758, 772, 775, 0, 0, 0, 829, 826, + 58, 591, 620, 463, 0, 0, 719, 698, 0, 837, + 0, 828, 716, 718, 0, 839, 845, 0, 842, 0, + 844, 841, 855, 0, 0, 0, 860, 0, 847, 850, + 851, 852, 853, 854, 843, 0, 0, 0, 0, 0, + 849, 846, 0, 857, 858, 859, 0, 848, 856, 861 }; const short Dhcp6Parser::yypgoto_[] = { - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -5, -1010, -597, -1010, - 445, -1010, -1010, -1010, -1010, 382, -1010, -633, -1010, -1010, - -1010, -71, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 402, - 646, -1010, -1010, -61, -43, -39, 10, 14, 15, -24, - -17, -11, 17, 25, 29, 30, -1010, 32, 33, 37, - 43, -1010, -1010, 44, -1010, 50, -1010, 51, 56, 62, - -1010, -1010, 63, 64, -1010, 66, -1010, 68, -1010, -1010, - -1010, -1010, -1010, 69, -1010, 74, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, 428, 631, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 343, -1010, - 132, -1010, -708, 136, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -41, -1010, -760, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, 113, -1010, -1010, -1010, -1010, -1010, -1010, -1010, 114, - -737, -1010, -1010, -1010, -1010, 119, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, 88, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, 109, -1010, -1010, -1010, 112, 591, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, 99, -1010, -1010, -1010, -1010, -1010, - -1010, -1009, -1010, -1010, -1010, 144, -1010, -1010, -1010, 164, - 636, -1010, -1010, -1008, -1010, -1007, -1010, 38, -1010, 82, - -1010, 76, 79, 80, 81, -1010, -1010, -1010, -1005, -1010, - -1010, -1010, -1010, 133, -1010, -1010, -108, 1119, -1010, -1010, - -1010, -1010, -1010, 163, -1010, -1010, -1010, 166, -1010, 633, - -1010, -66, -1010, -1010, -1010, -1010, -1010, -65, -1010, -1010, - -1010, -1010, -1010, -16, -1010, -1010, -1010, 165, -1010, -1010, - -1010, 168, -1010, 629, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, 103, -1010, -1010, -1010, - 111, 674, -1010, -1010, -1010, -57, -1010, -3, -1010, -1010, - -1010, -1010, -1010, 101, -1010, -1010, -1010, 104, 679, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -45, -1010, -1010, -1010, - 152, -1010, -1010, -1010, 155, -1010, 680, 430, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1003, -1010, -1010, -1010, -1010, -1010, 160, -1010, -1010, - -1010, -74, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, 149, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, 134, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 129, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, 438, 635, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, 505, 651, -1010, -1010, -1010, -1010, -1010, -1010, - 138, -1010, -1010, -81, -1010, -1010, -1010, -1010, -1010, -1010, - -101, -1010, -1010, -119, -1010, -1010, -1010, -1010, -1010, -1010, - -1010, -1010, -1010, -1010, 150, -1010 + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -10, -1000, -592, -1000, + 440, -1000, -1000, -1000, -1000, 402, -1000, -550, -1000, -1000, + -1000, -71, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 417, + 638, -1000, -1000, -61, -43, -39, 10, 14, 15, -24, + -17, -11, 17, 25, 29, 30, -1000, 32, 33, 37, + 43, -1000, -1000, 44, -1000, 50, -1000, 51, 56, 62, + -1000, -1000, 63, 64, -1000, 66, -1000, 68, -1000, -1000, + -1000, -1000, -1000, 69, -1000, 74, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 423, 639, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 346, -1000, + 133, -1000, -703, 139, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -41, -1000, -745, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 115, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 129, + -727, -1000, -1000, -1000, -1000, 120, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 94, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 116, -1000, -1000, -1000, 119, 601, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, 125, -1000, -1000, -1000, -1000, -1000, + -1000, -999, -1000, -1000, -1000, 153, -1000, -1000, -1000, 162, + 651, -1000, -1000, -998, -1000, -997, -1000, 38, -1000, 81, + -1000, 76, 79, 80, -1000, -995, -1000, -1000, -1000, -1000, + 154, -1000, -1000, -86, 1105, -1000, -1000, -1000, -1000, -1000, + 161, -1000, -1000, -1000, 166, -1000, 625, -1000, -66, -1000, + -1000, -1000, -1000, -1000, -65, -1000, -1000, -1000, -1000, -1000, + -16, -1000, -1000, -1000, 163, -1000, -1000, -1000, 164, -1000, + 624, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, 100, -1000, -1000, -1000, 104, 660, -1000, + -1000, -1000, -57, -1000, -3, -1000, -1000, -1000, -1000, -1000, + 102, -1000, -1000, -1000, 105, 652, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -45, -1000, -1000, -1000, 155, -1000, -1000, + -1000, 156, -1000, 649, 427, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -993, -1000, + -1000, -1000, -1000, -1000, 169, -1000, -1000, -1000, -75, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 145, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 132, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 134, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + 477, 628, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, 480, + 629, -1000, -1000, -1000, -1000, -1000, -1000, 138, -1000, -1000, + -79, -1000, -1000, -1000, -1000, -1000, -1000, -99, -1000, -1000, + -116, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, -1000, + -1000, 140, -1000 }; const short @@ -5490,565 +5433,560 @@ namespace isc { namespace dhcp { { 0, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 83, 39, 40, 69, - 751, 87, 88, 41, 68, 84, 85, 776, 983, 1093, - 1094, 835, 43, 70, 90, 440, 91, 45, 71, 162, - 163, 164, 443, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, - 182, 469, 736, 183, 470, 184, 471, 185, 186, 187, - 482, 748, 188, 189, 504, 190, 505, 191, 192, 193, - 194, 463, 195, 196, 480, 197, 481, 198, 199, 200, - 201, 445, 47, 72, 238, 239, 240, 514, 241, 242, - 243, 244, 202, 446, 203, 447, 204, 448, 862, 863, - 864, 1022, 836, 837, 838, 998, 1260, 839, 999, 840, - 1000, 841, 1001, 842, 843, 555, 844, 845, 846, 847, - 848, 849, 850, 851, 852, 1012, 1267, 853, 854, 855, - 856, 1015, 857, 1016, 858, 1017, 859, 1018, 205, 493, - 897, 898, 899, 1042, 900, 1043, 206, 490, 883, 884, - 885, 886, 207, 492, 891, 892, 893, 894, 208, 491, - 209, 500, 946, 947, 948, 949, 950, 210, 496, 909, - 910, 911, 1052, 63, 80, 404, 405, 406, 569, 407, - 570, 211, 497, 918, 919, 920, 921, 922, 923, 924, - 925, 212, 476, 866, 867, 868, 1025, 49, 73, 286, - 287, 288, 523, 289, 524, 290, 525, 291, 529, 292, - 528, 213, 214, 215, 216, 486, 757, 297, 298, 217, - 483, 878, 879, 880, 1034, 1173, 1174, 218, 477, 57, - 77, 870, 871, 872, 1028, 59, 78, 367, 368, 369, - 370, 371, 372, 373, 554, 374, 558, 375, 557, 376, - 377, 559, 378, 219, 478, 874, 875, 876, 1031, 61, - 79, 389, 390, 391, 392, 393, 563, 394, 395, 396, - 397, 398, 300, 521, 985, 986, 987, 1095, 51, 74, - 312, 313, 314, 533, 315, 220, 484, 221, 485, 303, - 522, 989, 990, 991, 1098, 53, 75, 329, 330, 331, - 537, 332, 333, 539, 334, 335, 222, 495, 905, 906, - 907, 1049, 55, 76, 347, 348, 349, 350, 545, 351, - 546, 352, 547, 353, 548, 354, 549, 355, 550, 356, - 544, 305, 530, 993, 223, 494, 902, 903, 1046, 1199, - 1200, 1201, 1202, 1203, 1280, 1204, 1281, 1205, 224, 498, - 935, 936, 937, 1063, 1290, 938, 939, 1064, 940, 941, - 225, 226, 501, 958, 959, 960, 1075, 961, 1076, 227, - 502, 968, 969, 970, 971, 1080, 972, 973, 1082, 228, - 503, 65, 81, 419, 420, 421, 422, 574, 423, 424, - 576, 425, 426, 427, 579, 807, 428, 580, 229, 444, - 67, 82, 431, 432, 433, 583, 434, 230, 509, 976, - 977, 1086, 1243, 1244, 1245, 1246, 1298, 1247, 1296, 1318, - 1319, 1320, 1328, 1329, 1330, 1336, 1331, 1332, 1333, 1334, - 1340, 231, 510, 980, 981, 982 + 746, 87, 88, 41, 68, 84, 85, 766, 973, 1083, + 1084, 825, 43, 70, 90, 437, 91, 45, 71, 161, + 162, 163, 440, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, + 181, 466, 731, 182, 467, 183, 468, 184, 185, 186, + 479, 743, 187, 188, 500, 189, 501, 190, 191, 192, + 193, 460, 194, 195, 477, 196, 478, 197, 198, 199, + 200, 442, 47, 72, 236, 237, 238, 510, 239, 240, + 241, 242, 201, 443, 202, 444, 203, 445, 852, 853, + 854, 1012, 826, 827, 828, 988, 1249, 829, 989, 830, + 990, 831, 991, 832, 833, 551, 834, 835, 836, 837, + 838, 839, 840, 841, 842, 1002, 1256, 843, 844, 845, + 846, 1005, 847, 1006, 848, 1007, 849, 1008, 204, 489, + 887, 888, 889, 1032, 890, 1033, 205, 486, 873, 874, + 875, 876, 206, 488, 881, 882, 883, 884, 207, 487, + 208, 496, 936, 937, 938, 939, 940, 209, 492, 899, + 900, 901, 1042, 63, 80, 401, 402, 403, 565, 404, + 566, 210, 493, 908, 909, 910, 911, 912, 913, 914, + 915, 211, 473, 856, 857, 858, 1015, 49, 73, 284, + 285, 286, 519, 287, 520, 288, 521, 289, 525, 290, + 524, 212, 213, 214, 294, 295, 215, 480, 868, 869, + 870, 1024, 1162, 1163, 216, 474, 57, 77, 860, 861, + 862, 1018, 59, 78, 364, 365, 366, 367, 368, 369, + 370, 550, 371, 554, 372, 553, 373, 374, 555, 375, + 217, 475, 864, 865, 866, 1021, 61, 79, 386, 387, + 388, 389, 390, 559, 391, 392, 393, 394, 395, 297, + 517, 975, 976, 977, 1085, 51, 74, 309, 310, 311, + 529, 312, 218, 481, 219, 482, 300, 518, 979, 980, + 981, 1088, 53, 75, 326, 327, 328, 533, 329, 330, + 535, 331, 332, 220, 491, 895, 896, 897, 1039, 55, + 76, 344, 345, 346, 347, 541, 348, 542, 349, 543, + 350, 544, 351, 545, 352, 546, 353, 540, 302, 526, + 983, 221, 490, 892, 893, 1036, 1188, 1189, 1190, 1191, + 1192, 1269, 1193, 1270, 1194, 222, 494, 925, 926, 927, + 1053, 1279, 928, 929, 1054, 930, 931, 223, 224, 497, + 948, 949, 950, 1065, 951, 1066, 225, 498, 958, 959, + 960, 961, 1070, 962, 963, 1072, 226, 499, 65, 81, + 416, 417, 418, 419, 570, 420, 421, 572, 422, 423, + 424, 575, 797, 425, 576, 227, 441, 67, 82, 428, + 429, 430, 579, 431, 228, 505, 966, 967, 1076, 1232, + 1233, 1234, 1235, 1287, 1236, 1285, 1307, 1308, 1309, 1317, + 1318, 1319, 1325, 1320, 1321, 1322, 1323, 1329, 229, 506, + 970, 971, 972 }; const short Dhcp6Parser::yytable_[] = { - 161, 237, 257, 308, 323, 343, 932, 365, 385, 403, - 416, 38, 258, 387, 388, 245, 301, 316, 327, 345, - 860, 379, 399, 890, 417, 1163, 1164, 1165, 304, 1172, - 259, 1178, 133, 134, 260, 750, 30, 366, 386, 31, - 782, 32, 42, 33, 881, 731, 732, 733, 734, 264, - 978, 401, 402, 788, 789, 790, 265, 299, 311, 326, - 344, 441, 266, 512, 1037, 160, 442, 1038, 513, 246, - 302, 317, 328, 346, 519, 380, 400, 44, 418, 520, - 531, 535, 735, 261, 86, 532, 536, 262, 263, 542, - 267, 1264, 1265, 1266, 543, 962, 963, 964, 268, 571, - 429, 430, 269, 270, 572, 271, 272, 401, 402, 581, - 273, 750, 309, 324, 582, 46, 274, 275, 232, 233, - 234, 235, 236, 276, 277, 882, 160, 585, 512, 278, - 48, 358, 586, 995, 50, 279, 280, 281, 585, 282, - 519, 283, 284, 996, 965, 997, 1019, 285, 52, 293, - 89, 1020, 294, 295, 296, 814, 310, 325, 54, 815, - 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, - 826, 827, 828, 1257, 1258, 1259, 829, 830, 831, 832, - 833, 834, 92, 93, 1019, 56, 94, 58, 359, 1021, - 360, 361, 95, 96, 97, 362, 363, 364, 1323, 133, - 134, 1324, 1325, 1326, 1327, 805, 806, 60, 1044, 1061, - 133, 134, 359, 1045, 1062, 133, 134, 1040, 133, 134, - 1041, 126, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 62, 64, 34, 35, 36, 37, 926, 953, - 954, 66, 128, 129, 130, 131, 819, 1163, 1164, 1165, - 132, 1172, 1068, 1178, 942, 943, 944, 1069, 1073, 133, - 134, 127, 1077, 1074, 435, 1083, 135, 1078, 436, 359, - 1084, 136, 137, 138, 139, 140, 141, 142, 437, 581, - 143, 1090, 306, 890, 1085, 438, 1091, 144, 932, 133, - 134, 160, 895, 896, 1125, 145, 133, 134, 146, 127, - 439, 1019, 160, 531, 1276, 147, 1272, 160, 1273, 1277, - 160, 254, 571, 148, 149, 255, 307, 1286, 150, 1299, - 551, 151, 133, 134, 1300, 152, 449, 133, 134, 881, - 888, 160, 889, 98, 99, 100, 101, 102, 103, 450, - 451, 153, 154, 155, 156, 157, 158, 535, 336, 542, - 553, 452, 1302, 127, 1303, 159, 337, 338, 339, 340, - 341, 342, 127, 359, 912, 913, 914, 915, 916, 917, - 453, 160, 927, 928, 929, 930, 318, 319, 320, 321, - 322, 133, 134, 1341, 1236, 454, 1237, 1238, 1342, 455, - 133, 134, 359, 381, 360, 361, 382, 383, 384, 1047, - 552, 160, 1048, 254, 456, 457, 1087, 255, 160, 1088, - 458, 587, 588, 1185, 1186, 1187, 1287, 1288, 1289, 133, - 134, 161, 744, 745, 746, 747, 459, 460, 237, 753, - 754, 755, 756, 1321, 160, 461, 1322, 462, 464, 160, - 257, 465, 245, 466, 308, 467, 468, 472, 473, 474, - 258, 323, 475, 479, 301, 487, 488, 562, 316, 489, - 499, 343, 506, 507, 508, 327, 304, 511, 259, 515, - 516, 365, 260, 517, 518, 345, 526, 385, 527, 534, - 538, 540, 387, 388, 541, 379, 556, 264, 560, 561, - 416, 399, 564, 160, 265, 299, 246, 565, 566, 311, - 266, 366, 160, 567, 417, 568, 326, 386, 302, 573, - 575, 577, 317, 578, 584, 589, 344, 590, 591, 328, - 592, 261, 593, 594, 595, 262, 263, 596, 267, 346, - 605, 160, 606, 611, 617, 597, 268, 607, 598, 380, - 269, 270, 599, 271, 272, 400, 133, 134, 273, 600, - 601, 602, 603, 309, 274, 275, 608, 618, 418, 604, - 324, 276, 277, 614, 609, 619, 610, 278, 624, 612, - 613, 625, 622, 279, 280, 281, 615, 282, 616, 283, - 284, 620, 621, 623, 626, 285, 627, 293, 628, 629, - 294, 295, 296, 630, 631, 632, 633, 310, 634, 635, - 636, 637, 638, 639, 325, 640, 641, 642, 643, 644, - 645, 646, 647, 408, 409, 410, 411, 412, 413, 414, - 415, 648, 649, 650, 651, 652, 653, 654, 655, 657, - 656, 658, 161, 660, 661, 237, 662, 663, 664, 666, - 667, 668, 669, 670, 672, 671, 673, 674, 675, 245, - 677, 680, 682, 678, 686, 687, 681, 683, 160, 1, - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 14, 688, 689, 931, 945, 955, 684, 416, - 690, 691, 692, 979, 694, 695, 697, 698, 696, 933, - 951, 956, 966, 417, 699, 702, 700, 810, 707, 708, - 711, 703, 704, 246, 713, 716, 705, 98, 99, 100, - 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 710, 712, 714, 717, 115, 116, 117, 118, 119, 120, - 121, 122, 123, 124, 719, 722, 127, 337, 715, 723, - 725, 726, 720, 934, 952, 957, 967, 418, 129, 130, - 131, 724, 727, 728, 729, 730, 247, 737, 248, 738, - 739, 740, 741, 742, 133, 134, 249, 250, 251, 252, - 253, 135, 743, 749, 32, 752, 136, 137, 138, 758, - 759, 760, 771, 762, 761, 763, 254, 764, 765, 772, - 255, 766, 144, 767, 768, 769, 770, 773, 774, 256, - 775, 777, 778, 779, 809, 784, 780, 781, 783, 861, - 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, - 108, 109, 110, 865, 869, 873, 877, 115, 116, 117, - 118, 119, 120, 121, 122, 123, 124, 125, 808, 127, - 359, 901, 904, 785, 786, 908, 153, 154, 787, 975, - 791, 129, 130, 131, 792, 984, 988, 1002, 1003, 1004, - 793, 794, 1005, 1006, 1007, 795, 1008, 133, 134, 796, - 250, 251, 797, 253, 135, 798, 160, 799, 800, 136, - 137, 138, 801, 803, 804, 1009, 1010, 1011, 1013, 254, - 1014, 1023, 1024, 255, 1026, 1027, 1029, 1030, 1033, 1032, - 1055, 1036, 256, 1035, 1051, 1039, 1050, 1054, 1053, 1056, - 1057, 1058, 1059, 1060, 1065, 1066, 1067, 1070, 1071, 1072, - 1079, 1081, 1089, 1092, 1097, 1096, 1099, 1100, 1107, 1102, - 1101, 1103, 1104, 1105, 257, 1106, 1108, 365, 1109, 1110, - 385, 1111, 1112, 1133, 258, 387, 388, 1113, 301, 153, - 154, 379, 1117, 1134, 399, 1188, 1114, 1176, 343, 1115, - 304, 403, 259, 1116, 1118, 1189, 260, 366, 1119, 1197, - 386, 1135, 345, 1162, 1120, 1136, 1121, 931, 1122, 160, - 1123, 264, 945, 1190, 1182, 1195, 955, 1191, 265, 299, - 1140, 933, 1183, 1211, 266, 1239, 951, 1141, 1175, 979, - 956, 1218, 302, 1142, 308, 380, 966, 323, 400, 1241, - 1196, 1177, 1219, 344, 1212, 261, 1228, 1224, 316, 262, - 263, 327, 267, 1198, 1137, 1240, 346, 1213, 1138, 1139, - 268, 1143, 1214, 1215, 269, 270, 1192, 271, 272, 1144, - 1193, 1194, 273, 1145, 1146, 934, 1147, 1148, 274, 275, - 952, 1149, 1166, 1216, 957, 276, 277, 1150, 1151, 311, - 967, 278, 326, 1242, 1152, 1153, 1220, 279, 280, 281, - 1154, 282, 317, 283, 284, 328, 1155, 1156, 1157, 285, - 1158, 293, 1159, 1160, 294, 295, 296, 1221, 1161, 1222, - 1168, 1225, 1226, 1169, 1170, 1171, 1167, 1229, 1231, 1232, - 1233, 1234, 1251, 1249, 1252, 811, 1274, 1261, 1275, 1282, - 1283, 1262, 1284, 309, 1285, 1297, 324, 1305, 1306, 1309, - 1311, 887, 1315, 1263, 1337, 1317, 1338, 1339, 1343, 1347, - 665, 1180, 994, 802, 813, 1124, 1126, 1184, 659, 1181, - 1217, 1227, 709, 1210, 1209, 1268, 1269, 676, 1304, 1179, - 1270, 1128, 1271, 1278, 1279, 1291, 1292, 310, 1293, 1294, - 325, 1301, 1313, 1307, 1310, 1314, 1316, 1344, 1345, 1127, - 1346, 1349, 1350, 1130, 1129, 701, 357, 706, 1132, 1131, - 1254, 1256, 1255, 1208, 1207, 1133, 1253, 1206, 974, 679, - 1308, 1230, 1235, 1188, 992, 1134, 718, 1223, 1312, 1176, - 1335, 685, 1348, 1189, 0, 1248, 0, 1197, 1239, 1295, - 812, 0, 693, 1135, 0, 1162, 721, 1136, 0, 0, - 1250, 1190, 1241, 1195, 0, 1191, 0, 0, 0, 0, - 0, 0, 1140, 0, 0, 0, 0, 0, 1240, 1141, - 1175, 0, 0, 0, 0, 1142, 0, 0, 1196, 0, - 0, 0, 0, 1177, 0, 0, 0, 0, 0, 0, - 0, 1198, 0, 0, 0, 0, 1137, 0, 0, 0, - 1138, 1139, 0, 1143, 1192, 0, 1242, 0, 1193, 1194, - 0, 1144, 0, 0, 0, 1145, 1146, 0, 1147, 1148, - 0, 0, 0, 1149, 1166, 0, 0, 0, 0, 1150, - 1151, 0, 0, 0, 0, 0, 1152, 1153, 0, 0, - 0, 0, 1154, 0, 0, 0, 0, 0, 1155, 1156, - 1157, 0, 1158, 0, 1159, 1160, 0, 0, 0, 0, - 1161, 0, 1168, 0, 0, 1169, 1170, 1171, 1167 + 160, 235, 255, 305, 320, 340, 38, 362, 382, 400, + 413, 922, 256, 384, 385, 243, 298, 313, 324, 342, + 850, 376, 396, 880, 414, 1153, 1154, 1155, 301, 1161, + 257, 1167, 968, 871, 258, 30, 745, 363, 383, 31, + 86, 32, 126, 33, 398, 399, 42, 159, 1027, 262, + 438, 1028, 89, 133, 134, 439, 263, 296, 308, 323, + 341, 432, 264, 434, 726, 727, 728, 729, 44, 244, + 299, 314, 325, 343, 508, 377, 397, 46, 415, 509, + 515, 527, 585, 259, 593, 516, 528, 260, 261, 48, + 265, 230, 231, 232, 233, 234, 398, 399, 266, 133, + 134, 730, 267, 268, 50, 269, 270, 355, 943, 944, + 271, 745, 306, 321, 872, 531, 272, 273, 772, 159, + 532, 52, 1312, 274, 275, 1313, 1314, 1315, 1316, 276, + 54, 778, 779, 780, 56, 277, 278, 279, 538, 280, + 127, 281, 282, 539, 58, 567, 577, 283, 60, 291, + 568, 578, 292, 293, 62, 307, 322, 952, 953, 954, + 159, 303, 133, 134, 356, 64, 357, 358, 133, 134, + 916, 359, 360, 361, 581, 433, 92, 93, 809, 582, + 94, 426, 427, 133, 134, 252, 95, 96, 97, 253, + 304, 133, 134, 66, 436, 902, 903, 904, 905, 906, + 907, 435, 508, 581, 515, 1009, 955, 985, 986, 987, + 1010, 885, 886, 932, 933, 934, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 446, 447, 1009, 34, + 35, 36, 37, 1011, 133, 134, 128, 129, 130, 131, + 1034, 1246, 1247, 1248, 132, 1035, 1153, 1154, 1155, 159, + 1161, 1051, 1167, 133, 134, 159, 1052, 1253, 1254, 1255, + 135, 136, 137, 138, 139, 140, 141, 448, 1058, 142, + 159, 1030, 127, 1059, 1031, 449, 143, 356, 159, 917, + 918, 919, 920, 880, 144, 1063, 1067, 145, 450, 1115, + 1064, 1068, 451, 922, 146, 315, 316, 317, 318, 319, + 133, 134, 147, 148, 133, 134, 1073, 149, 577, 1037, + 150, 1074, 1038, 1075, 151, 1080, 547, 252, 1009, 527, + 1081, 253, 1265, 1261, 1262, 871, 878, 1266, 879, 452, + 152, 153, 154, 155, 156, 157, 1077, 548, 567, 1078, + 1288, 159, 804, 1275, 158, 1289, 805, 806, 807, 808, + 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, + 159, 795, 796, 819, 820, 821, 822, 823, 824, 739, + 740, 741, 742, 356, 378, 357, 358, 379, 380, 381, + 531, 538, 549, 1330, 557, 1291, 1292, 1225, 1331, 1226, + 1227, 1310, 563, 453, 1311, 1276, 1277, 1278, 454, 356, + 133, 134, 455, 583, 584, 456, 457, 159, 458, 459, + 461, 159, 462, 463, 464, 465, 469, 160, 470, 471, + 472, 476, 483, 484, 235, 485, 495, 502, 503, 504, + 507, 511, 512, 513, 514, 522, 255, 523, 243, 530, + 305, 534, 536, 594, 537, 552, 256, 320, 556, 558, + 298, 560, 561, 562, 313, 564, 595, 340, 569, 571, + 573, 324, 301, 574, 257, 580, 586, 362, 258, 587, + 588, 342, 589, 382, 590, 591, 592, 596, 384, 385, + 597, 376, 598, 262, 602, 599, 413, 396, 600, 605, + 263, 296, 244, 601, 603, 308, 264, 363, 604, 607, + 414, 606, 323, 383, 299, 608, 609, 159, 314, 610, + 613, 611, 341, 612, 614, 325, 615, 259, 616, 617, + 619, 260, 261, 620, 265, 343, 618, 621, 622, 623, + 624, 625, 266, 159, 626, 377, 267, 268, 627, 269, + 270, 397, 628, 629, 271, 630, 631, 133, 134, 306, + 272, 273, 633, 634, 415, 635, 321, 274, 275, 632, + 636, 637, 638, 276, 639, 640, 641, 642, 643, 277, + 278, 279, 644, 280, 645, 281, 282, 646, 647, 127, + 648, 283, 649, 291, 650, 651, 292, 293, 652, 653, + 655, 656, 307, 657, 661, 658, 662, 659, 663, 322, + 664, 665, 666, 667, 668, 669, 670, 133, 134, 405, + 406, 407, 408, 409, 410, 411, 412, 98, 99, 100, + 101, 102, 103, 333, 672, 675, 677, 160, 681, 673, + 235, 334, 335, 336, 337, 338, 339, 682, 683, 684, + 685, 686, 687, 689, 243, 690, 127, 356, 676, 692, + 678, 693, 679, 694, 159, 697, 702, 703, 691, 706, + 708, 695, 711, 698, 712, 921, 935, 945, 699, 413, + 714, 700, 717, 969, 133, 134, 705, 718, 719, 923, + 941, 946, 956, 414, 720, 707, 721, 800, 724, 709, + 710, 715, 1174, 1175, 1176, 722, 723, 725, 244, 98, + 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 732, 733, 159, 734, 115, 116, 117, 118, + 119, 120, 121, 122, 123, 124, 735, 736, 127, 737, + 738, 744, 32, 924, 942, 947, 957, 415, 748, 749, + 129, 130, 131, 747, 750, 751, 752, 753, 245, 754, + 246, 761, 755, 756, 757, 758, 133, 134, 247, 248, + 249, 250, 251, 135, 136, 137, 759, 760, 762, 763, + 764, 765, 767, 252, 768, 774, 799, 253, 769, 143, + 770, 159, 771, 798, 773, 851, 254, 775, 855, 859, + 776, 863, 777, 781, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 867, 782, 891, + 783, 115, 116, 117, 118, 119, 120, 121, 122, 123, + 124, 125, 784, 127, 356, 785, 786, 787, 788, 789, + 790, 791, 793, 152, 153, 129, 130, 131, 794, 894, + 898, 965, 974, 978, 334, 992, 993, 994, 995, 996, + 997, 133, 134, 998, 248, 249, 999, 251, 135, 136, + 137, 1000, 1001, 159, 1003, 1004, 1045, 1014, 252, 1013, + 1017, 1016, 253, 1020, 1019, 1022, 1023, 1025, 1026, 1041, + 1029, 254, 1, 2, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 1040, 1043, 1044, 1082, + 1046, 1047, 1048, 1049, 1050, 1055, 1056, 1057, 1060, 1061, + 1062, 1069, 1071, 1079, 1087, 1097, 1086, 1090, 1089, 1093, + 1098, 1091, 1092, 1094, 255, 1095, 1096, 362, 152, 153, + 382, 1099, 1100, 1123, 256, 384, 385, 1107, 298, 1101, + 1102, 376, 1110, 1124, 396, 1177, 1103, 1165, 340, 1108, + 301, 400, 257, 1104, 1111, 1178, 258, 363, 159, 1186, + 383, 1125, 342, 1152, 1112, 1126, 1105, 921, 1106, 1109, + 1113, 262, 935, 1179, 1171, 1184, 945, 1180, 263, 296, + 1130, 923, 1172, 1207, 264, 1228, 941, 1131, 1164, 969, + 946, 1200, 299, 1132, 305, 377, 956, 320, 397, 1230, + 1185, 1166, 1201, 341, 1202, 259, 1203, 1204, 313, 260, + 261, 324, 265, 1187, 1127, 1229, 343, 1205, 1128, 1129, + 266, 1133, 1208, 1209, 267, 268, 1181, 269, 270, 1134, + 1182, 1183, 271, 1135, 1136, 924, 1137, 1138, 272, 273, + 942, 1139, 1156, 1210, 947, 274, 275, 1140, 1141, 308, + 957, 276, 323, 1231, 1142, 1143, 1211, 277, 278, 279, + 1144, 280, 314, 281, 282, 325, 1145, 1146, 1147, 283, + 1148, 291, 1149, 1150, 292, 293, 1217, 1213, 1151, 1218, + 1158, 1221, 1214, 1159, 1160, 1157, 1223, 1240, 1215, 1241, + 1273, 1263, 1264, 1271, 1222, 1220, 1250, 1238, 1251, 1252, + 1257, 1258, 1259, 306, 1260, 1272, 321, 1267, 1268, 1274, + 1286, 1294, 1295, 1298, 1300, 801, 1304, 1326, 1327, 1306, + 1328, 1332, 1336, 792, 803, 984, 654, 1116, 1114, 1173, + 1170, 877, 1280, 1281, 660, 1282, 1169, 1216, 1283, 1290, + 1199, 1198, 1299, 1296, 1302, 1303, 307, 1305, 704, 322, + 1118, 1334, 1333, 1335, 1338, 1339, 1206, 1117, 671, 1293, + 1168, 1120, 354, 696, 1119, 1121, 1122, 1243, 701, 1242, + 680, 674, 1245, 1244, 1123, 1196, 1197, 688, 1297, 1219, + 802, 982, 1177, 1212, 1124, 713, 1195, 1224, 1165, 1301, + 716, 1324, 1178, 1284, 1337, 1237, 1186, 1228, 0, 0, + 1239, 0, 1125, 0, 1152, 0, 1126, 0, 0, 0, + 1179, 1230, 1184, 0, 1180, 0, 0, 964, 0, 0, + 0, 1130, 0, 0, 0, 0, 0, 1229, 1131, 1164, + 0, 0, 0, 0, 1132, 0, 0, 1185, 0, 0, + 0, 0, 1166, 0, 0, 0, 0, 0, 0, 0, + 1187, 0, 0, 0, 0, 1127, 0, 0, 0, 1128, + 1129, 0, 1133, 1181, 0, 1231, 0, 1182, 1183, 0, + 1134, 0, 0, 0, 1135, 1136, 0, 1137, 1138, 0, + 0, 0, 1139, 1156, 0, 0, 0, 0, 1140, 1141, + 0, 0, 0, 0, 0, 1142, 1143, 0, 0, 0, + 0, 1144, 0, 0, 0, 0, 0, 1145, 1146, 1147, + 0, 1148, 0, 1149, 1150, 0, 0, 0, 0, 1151, + 0, 1158, 0, 0, 1159, 1160, 1157 }; const short Dhcp6Parser::yycheck_[] = { - 71, 72, 73, 74, 75, 76, 766, 78, 79, 80, - 81, 16, 73, 79, 79, 72, 73, 74, 75, 76, - 728, 78, 79, 760, 81, 1034, 1034, 1034, 73, 1034, - 73, 1034, 108, 109, 73, 632, 0, 78, 79, 5, - 673, 7, 7, 9, 139, 186, 187, 188, 189, 73, - 205, 145, 146, 686, 687, 688, 73, 73, 74, 75, - 76, 3, 73, 3, 3, 220, 8, 6, 8, 72, + 71, 72, 73, 74, 75, 76, 16, 78, 79, 80, + 81, 756, 73, 79, 79, 72, 73, 74, 75, 76, + 723, 78, 79, 750, 81, 1024, 1024, 1024, 73, 1024, + 73, 1024, 200, 134, 73, 0, 628, 78, 79, 5, + 215, 7, 79, 9, 140, 141, 7, 215, 3, 73, + 3, 6, 10, 108, 109, 8, 73, 73, 74, 75, + 76, 6, 73, 4, 181, 182, 183, 184, 7, 72, 73, 74, 75, 76, 3, 78, 79, 7, 81, 8, - 3, 3, 223, 73, 220, 8, 8, 73, 73, 3, - 73, 42, 43, 44, 8, 171, 172, 173, 73, 3, - 13, 14, 73, 73, 8, 73, 73, 145, 146, 3, - 73, 708, 74, 75, 8, 7, 73, 73, 16, 17, - 18, 19, 20, 73, 73, 220, 220, 3, 3, 73, - 7, 24, 8, 8, 7, 73, 73, 73, 3, 73, - 3, 73, 73, 8, 220, 8, 3, 73, 7, 73, - 10, 8, 73, 73, 73, 24, 74, 75, 7, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 25, 26, 27, 45, 46, 47, 48, - 49, 50, 11, 12, 3, 7, 15, 7, 81, 8, - 83, 84, 21, 22, 23, 88, 89, 90, 197, 108, - 109, 200, 201, 202, 203, 183, 184, 7, 3, 3, - 108, 109, 81, 8, 8, 108, 109, 3, 108, 109, - 6, 79, 51, 52, 53, 54, 55, 56, 57, 58, - 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 7, 7, 220, 221, 222, 223, 24, 168, - 169, 7, 91, 92, 93, 94, 32, 1276, 1276, 1276, - 99, 1276, 3, 1276, 164, 165, 166, 8, 3, 108, - 109, 80, 3, 8, 6, 3, 115, 8, 3, 81, - 8, 120, 121, 122, 123, 124, 125, 126, 4, 3, - 129, 3, 101, 1040, 8, 8, 8, 136, 1068, 108, - 109, 220, 127, 128, 1022, 144, 108, 109, 147, 80, - 3, 3, 220, 3, 3, 154, 8, 220, 8, 8, - 220, 130, 3, 162, 163, 134, 135, 8, 167, 3, - 8, 170, 108, 109, 8, 174, 4, 108, 109, 139, - 140, 220, 142, 51, 52, 53, 54, 55, 56, 4, - 4, 190, 191, 192, 193, 194, 195, 3, 129, 3, - 8, 4, 8, 80, 8, 204, 137, 138, 139, 140, - 141, 142, 80, 81, 148, 149, 150, 151, 152, 153, - 4, 220, 158, 159, 160, 161, 103, 104, 105, 106, - 107, 108, 109, 3, 196, 4, 198, 199, 8, 4, - 108, 109, 81, 82, 83, 84, 85, 86, 87, 3, - 3, 220, 6, 130, 4, 4, 3, 134, 220, 6, - 4, 436, 437, 131, 132, 133, 155, 156, 157, 108, - 109, 512, 95, 96, 97, 98, 4, 4, 519, 116, - 117, 118, 119, 3, 220, 4, 6, 4, 4, 220, - 531, 4, 519, 4, 535, 4, 4, 4, 4, 4, - 531, 542, 4, 4, 531, 4, 4, 3, 535, 4, - 4, 552, 4, 4, 4, 542, 531, 4, 531, 4, - 4, 562, 531, 4, 4, 552, 4, 568, 4, 4, - 4, 4, 568, 568, 4, 562, 4, 531, 4, 8, - 581, 568, 4, 220, 531, 531, 519, 4, 4, 535, - 531, 562, 220, 8, 581, 3, 542, 568, 531, 4, - 4, 4, 535, 4, 4, 220, 552, 4, 4, 542, - 4, 531, 4, 4, 4, 531, 531, 4, 531, 552, - 223, 220, 222, 4, 4, 221, 531, 222, 221, 562, - 531, 531, 221, 531, 531, 568, 108, 109, 531, 221, - 221, 221, 221, 535, 531, 531, 222, 4, 581, 221, - 542, 531, 531, 223, 221, 4, 221, 531, 4, 221, - 221, 4, 222, 531, 531, 531, 223, 531, 223, 531, - 531, 223, 223, 223, 4, 531, 221, 531, 4, 4, - 531, 531, 531, 4, 4, 4, 4, 535, 4, 223, - 223, 223, 4, 4, 542, 4, 4, 4, 4, 4, - 4, 4, 221, 175, 176, 177, 178, 179, 180, 181, - 182, 4, 4, 4, 4, 4, 4, 223, 223, 4, - 223, 4, 723, 4, 223, 726, 223, 221, 221, 4, - 4, 4, 4, 4, 223, 221, 4, 4, 4, 726, - 4, 4, 4, 221, 4, 4, 221, 221, 220, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 4, 4, 766, 767, 768, 221, 770, - 4, 4, 4, 774, 4, 4, 4, 4, 221, 766, - 767, 768, 769, 770, 4, 4, 223, 722, 4, 4, - 4, 223, 223, 726, 4, 4, 223, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 223, 221, 221, 4, 68, 69, 70, 71, 72, 73, - 74, 75, 76, 77, 4, 4, 80, 137, 221, 7, - 7, 7, 221, 766, 767, 768, 769, 770, 92, 93, - 94, 220, 7, 7, 5, 220, 100, 220, 102, 220, - 5, 5, 5, 220, 108, 109, 110, 111, 112, 113, - 114, 115, 220, 5, 7, 220, 120, 121, 122, 5, - 5, 5, 220, 5, 7, 5, 130, 5, 7, 220, - 134, 7, 136, 7, 7, 7, 7, 5, 7, 143, - 5, 5, 5, 220, 5, 7, 220, 220, 220, 7, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 7, 7, 7, 7, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 185, 80, - 81, 7, 7, 220, 220, 7, 190, 191, 220, 7, - 220, 92, 93, 94, 220, 7, 7, 4, 4, 4, - 220, 220, 4, 4, 4, 220, 4, 108, 109, 220, - 111, 112, 220, 114, 115, 220, 220, 220, 220, 120, - 121, 122, 220, 220, 220, 4, 4, 4, 4, 130, - 4, 6, 3, 134, 6, 3, 6, 3, 3, 6, - 4, 3, 143, 6, 3, 6, 6, 3, 6, 4, + 3, 3, 215, 73, 216, 8, 8, 73, 73, 7, + 73, 16, 17, 18, 19, 20, 140, 141, 73, 108, + 109, 218, 73, 73, 7, 73, 73, 24, 163, 164, + 73, 703, 74, 75, 215, 3, 73, 73, 668, 215, + 8, 7, 192, 73, 73, 195, 196, 197, 198, 73, + 7, 681, 682, 683, 7, 73, 73, 73, 3, 73, + 80, 73, 73, 8, 7, 3, 3, 73, 7, 73, + 8, 8, 73, 73, 7, 74, 75, 166, 167, 168, + 215, 101, 108, 109, 81, 7, 83, 84, 108, 109, + 24, 88, 89, 90, 3, 3, 11, 12, 32, 8, + 15, 13, 14, 108, 109, 125, 21, 22, 23, 129, + 130, 108, 109, 7, 3, 143, 144, 145, 146, 147, + 148, 8, 3, 3, 3, 3, 215, 8, 8, 8, + 8, 122, 123, 159, 160, 161, 51, 52, 53, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 4, 4, 3, 215, + 216, 217, 218, 8, 108, 109, 91, 92, 93, 94, + 3, 25, 26, 27, 99, 8, 1265, 1265, 1265, 215, + 1265, 3, 1265, 108, 109, 215, 8, 42, 43, 44, + 115, 116, 117, 118, 119, 120, 121, 4, 3, 124, + 215, 3, 80, 8, 6, 4, 131, 81, 215, 153, + 154, 155, 156, 1030, 139, 3, 3, 142, 4, 1012, + 8, 8, 4, 1058, 149, 103, 104, 105, 106, 107, + 108, 109, 157, 158, 108, 109, 3, 162, 3, 3, + 165, 8, 6, 8, 169, 3, 8, 125, 3, 3, + 8, 129, 3, 8, 8, 134, 135, 8, 137, 4, + 185, 186, 187, 188, 189, 190, 3, 3, 3, 6, + 3, 215, 24, 8, 199, 8, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 215, 178, 179, 45, 46, 47, 48, 49, 50, 95, + 96, 97, 98, 81, 82, 83, 84, 85, 86, 87, + 3, 3, 8, 3, 8, 8, 8, 191, 8, 193, + 194, 3, 8, 4, 6, 150, 151, 152, 4, 81, + 108, 109, 4, 433, 434, 4, 4, 215, 4, 4, + 4, 215, 4, 4, 4, 4, 4, 508, 4, 4, + 4, 4, 4, 4, 515, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 527, 4, 515, 4, + 531, 4, 4, 216, 4, 4, 527, 538, 4, 3, + 527, 4, 4, 4, 531, 3, 216, 548, 4, 4, + 4, 538, 527, 4, 527, 4, 4, 558, 527, 4, + 4, 548, 4, 564, 4, 4, 4, 216, 564, 564, + 216, 558, 216, 527, 217, 216, 577, 564, 216, 216, + 527, 527, 515, 218, 217, 531, 527, 558, 217, 4, + 577, 216, 538, 564, 527, 216, 216, 215, 531, 218, + 4, 218, 548, 218, 4, 538, 4, 527, 218, 218, + 218, 527, 527, 4, 527, 548, 217, 4, 4, 216, + 4, 4, 527, 215, 4, 558, 527, 527, 4, 527, + 527, 564, 4, 4, 527, 218, 218, 108, 109, 531, + 527, 527, 4, 4, 577, 4, 538, 527, 527, 218, + 4, 4, 4, 527, 4, 4, 4, 216, 4, 527, + 527, 527, 4, 527, 4, 527, 527, 4, 4, 80, + 4, 527, 218, 527, 218, 218, 527, 527, 4, 4, + 4, 218, 531, 218, 4, 216, 4, 216, 4, 538, + 4, 4, 216, 218, 4, 4, 4, 108, 109, 170, + 171, 172, 173, 174, 175, 176, 177, 51, 52, 53, + 54, 55, 56, 124, 4, 4, 4, 718, 4, 216, + 721, 132, 133, 134, 135, 136, 137, 4, 4, 4, + 4, 4, 4, 4, 721, 4, 80, 81, 216, 4, + 216, 4, 216, 4, 215, 4, 4, 4, 216, 4, + 4, 218, 4, 218, 4, 756, 757, 758, 218, 760, + 4, 218, 4, 764, 108, 109, 218, 7, 215, 756, + 757, 758, 759, 760, 7, 216, 7, 717, 5, 216, + 216, 216, 126, 127, 128, 7, 7, 215, 721, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 215, 215, 215, 5, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 5, 5, 80, 215, + 215, 5, 7, 756, 757, 758, 759, 760, 5, 5, + 92, 93, 94, 215, 5, 7, 5, 5, 100, 5, + 102, 215, 7, 7, 7, 7, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 7, 7, 215, 5, + 7, 5, 5, 125, 5, 7, 5, 129, 215, 131, + 215, 215, 215, 180, 215, 7, 138, 215, 7, 7, + 215, 7, 215, 215, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 7, 215, 7, + 215, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 77, 78, 215, 80, 81, 215, 215, 215, 215, 215, + 215, 215, 215, 185, 186, 92, 93, 94, 215, 7, + 7, 7, 7, 7, 132, 4, 4, 4, 4, 4, + 4, 108, 109, 4, 111, 112, 4, 114, 115, 116, + 117, 4, 4, 215, 4, 4, 4, 3, 125, 6, + 3, 6, 129, 3, 6, 6, 3, 6, 3, 3, + 6, 138, 201, 202, 203, 204, 205, 206, 207, 208, + 209, 210, 211, 212, 213, 214, 6, 6, 3, 215, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 220, 3, 6, 6, 3, 221, 6, - 8, 4, 4, 4, 1025, 4, 223, 1028, 221, 223, - 1031, 221, 221, 1034, 1025, 1031, 1031, 221, 1025, 190, - 191, 1028, 4, 1034, 1031, 1046, 221, 1034, 1049, 221, - 1025, 1052, 1025, 221, 223, 1046, 1025, 1028, 221, 1046, - 1031, 1034, 1049, 1034, 4, 1034, 4, 1068, 4, 220, - 4, 1025, 1073, 1046, 4, 1046, 1077, 1046, 1025, 1025, - 1034, 1068, 4, 221, 1025, 1086, 1073, 1034, 1034, 1090, - 1077, 4, 1025, 1034, 1095, 1028, 1083, 1098, 1031, 1086, - 1046, 1034, 4, 1049, 221, 1025, 4, 223, 1095, 1025, - 1025, 1098, 1025, 1046, 1034, 1086, 1049, 221, 1034, 1034, - 1025, 1034, 221, 221, 1025, 1025, 1046, 1025, 1025, 1034, - 1046, 1046, 1025, 1034, 1034, 1068, 1034, 1034, 1025, 1025, - 1073, 1034, 1034, 221, 1077, 1025, 1025, 1034, 1034, 1095, - 1083, 1025, 1098, 1086, 1034, 1034, 221, 1025, 1025, 1025, - 1034, 1025, 1095, 1025, 1025, 1098, 1034, 1034, 1034, 1025, - 1034, 1025, 1034, 1034, 1025, 1025, 1025, 221, 1034, 221, - 1034, 221, 221, 1034, 1034, 1034, 1034, 4, 223, 4, - 221, 4, 6, 223, 3, 723, 8, 220, 8, 4, - 8, 220, 3, 1095, 8, 4, 1098, 4, 4, 4, - 4, 759, 5, 220, 4, 7, 4, 4, 4, 4, - 519, 1037, 809, 708, 726, 1019, 1024, 1044, 512, 1040, - 1061, 1073, 571, 1054, 1052, 220, 220, 531, 1276, 1036, - 220, 1027, 220, 220, 220, 220, 220, 1095, 220, 220, - 1098, 220, 220, 223, 221, 220, 220, 223, 221, 1025, - 221, 220, 220, 1030, 1028, 562, 77, 568, 1033, 1031, - 1097, 1100, 1098, 1051, 1049, 1276, 1095, 1047, 770, 535, - 1284, 1077, 1083, 1284, 784, 1276, 581, 1068, 1299, 1276, - 1321, 542, 1341, 1284, -1, 1087, -1, 1284, 1299, 1234, - 725, -1, 552, 1276, -1, 1276, 585, 1276, -1, -1, - 1090, 1284, 1299, 1284, -1, 1284, -1, -1, -1, -1, - -1, -1, 1276, -1, -1, -1, -1, -1, 1299, 1276, - 1276, -1, -1, -1, -1, 1276, -1, -1, 1284, -1, - -1, -1, -1, 1276, -1, -1, -1, -1, -1, -1, - -1, 1284, -1, -1, -1, -1, 1276, -1, -1, -1, - 1276, 1276, -1, 1276, 1284, -1, 1299, -1, 1284, 1284, - -1, 1276, -1, -1, -1, 1276, 1276, -1, 1276, 1276, - -1, -1, -1, 1276, 1276, -1, -1, -1, -1, 1276, - 1276, -1, -1, -1, -1, -1, 1276, 1276, -1, -1, - -1, -1, 1276, -1, -1, -1, -1, -1, 1276, 1276, - 1276, -1, 1276, -1, 1276, 1276, -1, -1, -1, -1, - 1276, -1, 1276, -1, -1, 1276, 1276, 1276, 1276 + 4, 4, 4, 4, 3, 216, 6, 3, 6, 4, + 218, 8, 6, 4, 1015, 4, 4, 1018, 185, 186, + 1021, 216, 218, 1024, 1015, 1021, 1021, 4, 1015, 216, + 216, 1018, 4, 1024, 1021, 1036, 216, 1024, 1039, 218, + 1015, 1042, 1015, 216, 4, 1036, 1015, 1018, 215, 1036, + 1021, 1024, 1039, 1024, 4, 1024, 216, 1058, 216, 216, + 4, 1015, 1063, 1036, 4, 1036, 1067, 1036, 1015, 1015, + 1024, 1058, 4, 4, 1015, 1076, 1063, 1024, 1024, 1080, + 1067, 216, 1015, 1024, 1085, 1018, 1073, 1088, 1021, 1076, + 1036, 1024, 216, 1039, 216, 1015, 216, 216, 1085, 1015, + 1015, 1088, 1015, 1036, 1024, 1076, 1039, 216, 1024, 1024, + 1015, 1024, 4, 216, 1015, 1015, 1036, 1015, 1015, 1024, + 1036, 1036, 1015, 1024, 1024, 1058, 1024, 1024, 1015, 1015, + 1063, 1024, 1024, 216, 1067, 1015, 1015, 1024, 1024, 1085, + 1073, 1015, 1088, 1076, 1024, 1024, 216, 1015, 1015, 1015, + 1024, 1015, 1085, 1015, 1015, 1088, 1024, 1024, 1024, 1015, + 1024, 1015, 1024, 1024, 1015, 1015, 4, 218, 1024, 4, + 1024, 4, 216, 1024, 1024, 1024, 4, 6, 216, 3, + 3, 8, 8, 4, 216, 218, 215, 218, 215, 215, + 215, 215, 215, 1085, 215, 8, 1088, 215, 215, 8, + 4, 4, 4, 4, 4, 718, 5, 4, 4, 7, + 4, 4, 4, 703, 721, 799, 508, 1014, 1009, 1034, + 1030, 749, 215, 215, 515, 215, 1027, 1063, 215, 215, + 1044, 1042, 216, 218, 215, 215, 1085, 215, 567, 1088, + 1017, 216, 218, 216, 215, 215, 1051, 1015, 527, 1265, + 1026, 1020, 77, 558, 1018, 1021, 1023, 1087, 564, 1085, + 538, 531, 1090, 1088, 1265, 1039, 1041, 548, 1273, 1067, + 720, 774, 1273, 1058, 1265, 577, 1037, 1073, 1265, 1288, + 581, 1310, 1273, 1223, 1330, 1077, 1273, 1288, -1, -1, + 1080, -1, 1265, -1, 1265, -1, 1265, -1, -1, -1, + 1273, 1288, 1273, -1, 1273, -1, -1, 760, -1, -1, + -1, 1265, -1, -1, -1, -1, -1, 1288, 1265, 1265, + -1, -1, -1, -1, 1265, -1, -1, 1273, -1, -1, + -1, -1, 1265, -1, -1, -1, -1, -1, -1, -1, + 1273, -1, -1, -1, -1, 1265, -1, -1, -1, 1265, + 1265, -1, 1265, 1273, -1, 1288, -1, 1273, 1273, -1, + 1265, -1, -1, -1, 1265, 1265, -1, 1265, 1265, -1, + -1, -1, 1265, 1265, -1, -1, -1, -1, 1265, 1265, + -1, -1, -1, -1, -1, 1265, 1265, -1, -1, -1, + -1, 1265, -1, -1, -1, -1, -1, 1265, 1265, 1265, + -1, 1265, -1, 1265, 1265, -1, -1, -1, -1, 1265, + -1, 1265, -1, -1, 1265, 1265, 1265 }; const short Dhcp6Parser::yystos_[] = { - 0, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 225, 226, 227, 228, 229, - 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, - 0, 5, 7, 9, 220, 221, 222, 223, 240, 241, - 242, 247, 7, 256, 7, 261, 7, 316, 7, 431, - 7, 512, 7, 529, 7, 546, 7, 463, 7, 469, - 7, 493, 7, 407, 7, 615, 7, 634, 248, 243, - 257, 262, 317, 432, 513, 530, 547, 464, 470, 494, - 408, 616, 635, 240, 249, 250, 220, 245, 246, 10, - 258, 260, 11, 12, 15, 21, 22, 23, 51, 52, + 0, 201, 202, 203, 204, 205, 206, 207, 208, 209, + 210, 211, 212, 213, 214, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, + 0, 5, 7, 9, 215, 216, 217, 218, 235, 236, + 237, 242, 7, 251, 7, 256, 7, 311, 7, 426, + 7, 504, 7, 521, 7, 538, 7, 455, 7, 461, + 7, 485, 7, 402, 7, 607, 7, 626, 243, 238, + 252, 257, 312, 427, 505, 522, 539, 456, 462, 486, + 403, 608, 627, 235, 244, 245, 215, 240, 241, 10, + 253, 255, 11, 12, 15, 21, 22, 23, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 91, 92, - 93, 94, 99, 108, 109, 115, 120, 121, 122, 123, - 124, 125, 126, 129, 136, 144, 147, 154, 162, 163, - 167, 170, 174, 190, 191, 192, 193, 194, 195, 204, - 220, 255, 263, 264, 265, 267, 268, 269, 270, 271, - 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, - 282, 283, 284, 287, 289, 291, 292, 293, 296, 297, - 299, 301, 302, 303, 304, 306, 307, 309, 311, 312, - 313, 314, 326, 328, 330, 372, 380, 386, 392, 394, - 401, 415, 425, 445, 446, 447, 448, 453, 461, 487, - 519, 521, 540, 568, 582, 594, 595, 603, 613, 632, - 641, 665, 16, 17, 18, 19, 20, 255, 318, 319, - 320, 322, 323, 324, 325, 519, 521, 100, 102, 110, - 111, 112, 113, 114, 130, 134, 143, 255, 267, 268, - 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, - 279, 281, 282, 283, 284, 287, 289, 291, 292, 293, - 296, 297, 299, 301, 307, 309, 433, 434, 435, 437, - 439, 441, 443, 445, 446, 447, 448, 451, 452, 487, - 506, 519, 521, 523, 540, 565, 101, 135, 255, 441, - 443, 487, 514, 515, 516, 518, 519, 521, 103, 104, - 105, 106, 107, 255, 441, 443, 487, 519, 521, 531, - 532, 533, 535, 536, 538, 539, 129, 137, 138, 139, - 140, 141, 142, 255, 487, 519, 521, 548, 549, 550, - 551, 553, 555, 557, 559, 561, 563, 461, 24, 81, - 83, 84, 88, 89, 90, 255, 348, 471, 472, 473, - 474, 475, 476, 477, 479, 481, 483, 484, 486, 519, - 521, 82, 85, 86, 87, 255, 348, 475, 481, 495, - 496, 497, 498, 499, 501, 502, 503, 504, 505, 519, - 521, 145, 146, 255, 409, 410, 411, 413, 175, 176, - 177, 178, 179, 180, 181, 182, 255, 519, 521, 617, - 618, 619, 620, 622, 623, 625, 626, 627, 630, 13, - 14, 636, 637, 638, 640, 6, 3, 4, 8, 3, - 259, 3, 8, 266, 633, 315, 327, 329, 331, 4, + 93, 94, 99, 108, 109, 115, 116, 117, 118, 119, + 120, 121, 124, 131, 139, 142, 149, 157, 158, 162, + 165, 169, 185, 186, 187, 188, 189, 190, 199, 215, + 250, 258, 259, 260, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, + 278, 279, 282, 284, 286, 287, 288, 291, 292, 294, + 296, 297, 298, 299, 301, 302, 304, 306, 307, 308, + 309, 321, 323, 325, 367, 375, 381, 387, 389, 396, + 410, 420, 440, 441, 442, 445, 453, 479, 511, 513, + 532, 560, 574, 586, 587, 595, 605, 624, 633, 657, + 16, 17, 18, 19, 20, 250, 313, 314, 315, 317, + 318, 319, 320, 511, 513, 100, 102, 110, 111, 112, + 113, 114, 125, 129, 138, 250, 262, 263, 264, 265, + 266, 267, 268, 269, 270, 271, 272, 273, 274, 276, + 277, 278, 279, 282, 284, 286, 287, 288, 291, 292, + 294, 296, 302, 304, 428, 429, 430, 432, 434, 436, + 438, 440, 441, 442, 443, 444, 479, 498, 511, 513, + 515, 532, 557, 101, 130, 250, 436, 438, 479, 506, + 507, 508, 510, 511, 513, 103, 104, 105, 106, 107, + 250, 436, 438, 479, 511, 513, 523, 524, 525, 527, + 528, 530, 531, 124, 132, 133, 134, 135, 136, 137, + 250, 479, 511, 513, 540, 541, 542, 543, 545, 547, + 549, 551, 553, 555, 453, 24, 81, 83, 84, 88, + 89, 90, 250, 343, 463, 464, 465, 466, 467, 468, + 469, 471, 473, 475, 476, 478, 511, 513, 82, 85, + 86, 87, 250, 343, 467, 473, 487, 488, 489, 490, + 491, 493, 494, 495, 496, 497, 511, 513, 140, 141, + 250, 404, 405, 406, 408, 170, 171, 172, 173, 174, + 175, 176, 177, 250, 511, 513, 609, 610, 611, 612, + 614, 615, 617, 618, 619, 622, 13, 14, 628, 629, + 630, 632, 6, 3, 4, 8, 3, 254, 3, 8, + 261, 625, 310, 322, 324, 326, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 305, 4, 4, 4, 4, 4, 285, - 288, 290, 4, 4, 4, 4, 426, 462, 488, 4, - 308, 310, 294, 454, 520, 522, 449, 4, 4, 4, - 381, 393, 387, 373, 569, 541, 402, 416, 583, 4, - 395, 596, 604, 614, 298, 300, 4, 4, 4, 642, - 666, 4, 3, 8, 321, 4, 4, 4, 4, 3, - 8, 507, 524, 436, 438, 440, 4, 4, 444, 442, - 566, 3, 8, 517, 4, 3, 8, 534, 4, 537, - 4, 4, 3, 8, 564, 552, 554, 556, 558, 560, - 562, 8, 3, 8, 478, 349, 4, 482, 480, 485, - 4, 8, 3, 500, 4, 4, 4, 8, 3, 412, - 414, 3, 8, 4, 621, 4, 624, 4, 4, 628, - 631, 3, 8, 639, 4, 3, 8, 240, 240, 220, - 4, 4, 4, 4, 4, 4, 4, 221, 221, 221, - 221, 221, 221, 221, 221, 223, 222, 222, 222, 221, - 221, 4, 221, 221, 223, 223, 223, 4, 4, 4, - 223, 223, 222, 223, 4, 4, 4, 221, 4, 4, - 4, 4, 4, 4, 4, 223, 223, 223, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 221, 4, 4, - 4, 4, 4, 4, 223, 223, 223, 4, 4, 264, - 4, 223, 223, 221, 221, 319, 4, 4, 4, 4, - 4, 221, 223, 4, 4, 4, 434, 4, 221, 515, - 4, 221, 4, 221, 221, 532, 4, 4, 4, 4, - 4, 4, 4, 550, 4, 4, 221, 4, 4, 4, - 223, 473, 4, 223, 223, 223, 497, 4, 4, 410, - 223, 4, 221, 4, 221, 221, 4, 4, 618, 4, - 221, 637, 4, 7, 220, 7, 7, 7, 7, 5, - 220, 186, 187, 188, 189, 223, 286, 220, 220, 5, - 5, 5, 220, 220, 95, 96, 97, 98, 295, 5, - 242, 244, 220, 116, 117, 118, 119, 450, 5, 5, + 300, 4, 4, 4, 4, 4, 280, 283, 285, 4, + 4, 4, 4, 421, 454, 480, 4, 303, 305, 289, + 446, 512, 514, 4, 4, 4, 376, 388, 382, 368, + 561, 533, 397, 411, 575, 4, 390, 588, 596, 606, + 293, 295, 4, 4, 4, 634, 658, 4, 3, 8, + 316, 4, 4, 4, 4, 3, 8, 499, 516, 431, + 433, 435, 4, 4, 439, 437, 558, 3, 8, 509, + 4, 3, 8, 526, 4, 529, 4, 4, 3, 8, + 556, 544, 546, 548, 550, 552, 554, 8, 3, 8, + 470, 344, 4, 474, 472, 477, 4, 8, 3, 492, + 4, 4, 4, 8, 3, 407, 409, 3, 8, 4, + 613, 4, 616, 4, 4, 620, 623, 3, 8, 631, + 4, 3, 8, 235, 235, 215, 4, 4, 4, 4, + 4, 4, 4, 216, 216, 216, 216, 216, 216, 216, + 216, 218, 217, 217, 217, 216, 216, 4, 216, 216, + 218, 218, 218, 4, 4, 4, 218, 218, 217, 218, + 4, 4, 4, 216, 4, 4, 4, 4, 4, 4, + 218, 218, 218, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 216, 4, 4, 4, 4, 4, 4, 218, + 218, 218, 4, 4, 259, 4, 218, 218, 216, 216, + 314, 4, 4, 4, 4, 4, 216, 218, 4, 4, + 4, 429, 4, 216, 507, 4, 216, 4, 216, 216, + 524, 4, 4, 4, 4, 4, 4, 4, 542, 4, + 4, 216, 4, 4, 4, 218, 465, 4, 218, 218, + 218, 489, 4, 4, 405, 218, 4, 216, 4, 216, + 216, 4, 4, 610, 4, 216, 629, 4, 7, 215, + 7, 7, 7, 7, 5, 215, 181, 182, 183, 184, + 218, 281, 215, 215, 5, 5, 5, 215, 215, 95, + 96, 97, 98, 290, 5, 237, 239, 215, 5, 5, 5, 7, 5, 5, 5, 7, 7, 7, 7, 7, - 7, 220, 220, 5, 7, 5, 251, 5, 5, 220, - 220, 220, 251, 220, 7, 220, 220, 220, 251, 251, - 251, 220, 220, 220, 220, 220, 220, 220, 220, 220, - 220, 220, 244, 220, 220, 183, 184, 629, 185, 5, - 240, 263, 636, 318, 24, 28, 29, 30, 31, 32, + 7, 215, 215, 5, 7, 5, 246, 5, 5, 215, + 215, 215, 246, 215, 7, 215, 215, 215, 246, 246, + 246, 215, 215, 215, 215, 215, 215, 215, 215, 215, + 215, 215, 239, 215, 215, 178, 179, 621, 180, 5, + 235, 258, 628, 313, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 45, - 46, 47, 48, 49, 50, 255, 336, 337, 338, 341, - 343, 345, 347, 348, 350, 351, 352, 353, 354, 355, - 356, 357, 358, 361, 362, 363, 364, 366, 368, 370, - 336, 7, 332, 333, 334, 7, 427, 428, 429, 7, - 465, 466, 467, 7, 489, 490, 491, 7, 455, 456, - 457, 139, 220, 382, 383, 384, 385, 249, 140, 142, - 384, 388, 389, 390, 391, 127, 128, 374, 375, 376, - 378, 7, 570, 571, 7, 542, 543, 544, 7, 403, - 404, 405, 148, 149, 150, 151, 152, 153, 417, 418, - 419, 420, 421, 422, 423, 424, 24, 158, 159, 160, - 161, 255, 350, 519, 521, 584, 585, 586, 589, 590, - 592, 593, 164, 165, 166, 255, 396, 397, 398, 399, - 400, 519, 521, 168, 169, 255, 519, 521, 597, 598, - 599, 601, 171, 172, 173, 220, 519, 521, 605, 606, - 607, 608, 610, 611, 617, 7, 643, 644, 205, 255, - 667, 668, 669, 252, 7, 508, 509, 510, 7, 525, - 526, 527, 551, 567, 332, 8, 8, 8, 339, 342, - 344, 346, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 359, 4, 4, 365, 367, 369, 371, 3, - 8, 8, 335, 6, 3, 430, 6, 3, 468, 6, - 3, 492, 6, 3, 458, 6, 3, 3, 6, 6, - 3, 6, 377, 379, 3, 8, 572, 3, 6, 545, - 6, 3, 406, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 587, 591, 4, 4, 4, 3, 8, - 4, 4, 4, 3, 8, 600, 602, 3, 8, 4, - 609, 4, 612, 3, 8, 8, 645, 3, 6, 4, - 3, 8, 220, 253, 254, 511, 6, 3, 528, 6, - 3, 8, 6, 4, 4, 4, 4, 221, 223, 221, - 223, 221, 221, 221, 221, 221, 221, 4, 223, 221, - 4, 4, 4, 4, 337, 336, 334, 433, 429, 471, - 467, 495, 491, 255, 267, 268, 269, 270, 271, 272, - 273, 274, 275, 276, 277, 278, 279, 281, 282, 283, - 284, 287, 289, 291, 292, 293, 296, 297, 299, 301, - 307, 309, 348, 425, 437, 439, 441, 443, 445, 446, - 447, 448, 452, 459, 460, 487, 519, 521, 565, 457, - 383, 389, 4, 4, 375, 131, 132, 133, 255, 267, - 268, 269, 270, 271, 272, 348, 487, 519, 521, 573, - 574, 575, 576, 577, 579, 581, 571, 548, 544, 409, - 405, 221, 221, 221, 221, 221, 221, 418, 4, 4, - 221, 221, 221, 585, 223, 221, 221, 397, 4, 4, - 598, 223, 4, 221, 4, 606, 196, 198, 199, 255, - 348, 519, 521, 646, 647, 648, 649, 651, 644, 223, - 668, 6, 3, 514, 510, 531, 527, 25, 26, 27, - 340, 220, 220, 220, 42, 43, 44, 360, 220, 220, - 220, 220, 8, 8, 8, 8, 3, 8, 220, 220, - 578, 580, 4, 8, 3, 8, 8, 155, 156, 157, - 588, 220, 220, 220, 220, 240, 652, 4, 650, 3, - 8, 220, 8, 8, 460, 4, 4, 223, 575, 4, - 221, 4, 647, 220, 220, 5, 220, 7, 653, 654, - 655, 3, 6, 197, 200, 201, 202, 203, 656, 657, - 658, 660, 661, 662, 663, 654, 659, 4, 4, 4, - 664, 3, 8, 4, 223, 221, 221, 4, 657, 220, - 220 + 46, 47, 48, 49, 50, 250, 331, 332, 333, 336, + 338, 340, 342, 343, 345, 346, 347, 348, 349, 350, + 351, 352, 353, 356, 357, 358, 359, 361, 363, 365, + 331, 7, 327, 328, 329, 7, 422, 423, 424, 7, + 457, 458, 459, 7, 481, 482, 483, 7, 447, 448, + 449, 134, 215, 377, 378, 379, 380, 244, 135, 137, + 379, 383, 384, 385, 386, 122, 123, 369, 370, 371, + 373, 7, 562, 563, 7, 534, 535, 536, 7, 398, + 399, 400, 143, 144, 145, 146, 147, 148, 412, 413, + 414, 415, 416, 417, 418, 419, 24, 153, 154, 155, + 156, 250, 345, 511, 513, 576, 577, 578, 581, 582, + 584, 585, 159, 160, 161, 250, 391, 392, 393, 394, + 395, 511, 513, 163, 164, 250, 511, 513, 589, 590, + 591, 593, 166, 167, 168, 215, 511, 513, 597, 598, + 599, 600, 602, 603, 609, 7, 635, 636, 200, 250, + 659, 660, 661, 247, 7, 500, 501, 502, 7, 517, + 518, 519, 543, 559, 327, 8, 8, 8, 334, 337, + 339, 341, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 354, 4, 4, 360, 362, 364, 366, 3, + 8, 8, 330, 6, 3, 425, 6, 3, 460, 6, + 3, 484, 6, 3, 450, 6, 3, 3, 6, 6, + 3, 6, 372, 374, 3, 8, 564, 3, 6, 537, + 6, 3, 401, 6, 3, 4, 4, 4, 4, 4, + 4, 3, 8, 579, 583, 4, 4, 4, 3, 8, + 4, 4, 4, 3, 8, 592, 594, 3, 8, 4, + 601, 4, 604, 3, 8, 8, 637, 3, 6, 4, + 3, 8, 215, 248, 249, 503, 6, 3, 520, 6, + 3, 8, 6, 4, 4, 4, 4, 216, 218, 216, + 218, 216, 216, 216, 216, 216, 216, 4, 218, 216, + 4, 4, 4, 4, 332, 331, 329, 428, 424, 463, + 459, 487, 483, 250, 262, 263, 264, 265, 266, 267, + 268, 269, 270, 271, 272, 273, 274, 276, 277, 278, + 279, 282, 284, 286, 287, 288, 291, 292, 294, 296, + 302, 304, 343, 420, 432, 434, 436, 438, 440, 441, + 442, 444, 451, 452, 479, 511, 513, 557, 449, 378, + 384, 4, 4, 370, 126, 127, 128, 250, 262, 263, + 264, 265, 266, 267, 343, 479, 511, 513, 565, 566, + 567, 568, 569, 571, 573, 563, 540, 536, 404, 400, + 216, 216, 216, 216, 216, 216, 413, 4, 4, 216, + 216, 216, 577, 218, 216, 216, 392, 4, 4, 590, + 218, 4, 216, 4, 598, 191, 193, 194, 250, 343, + 511, 513, 638, 639, 640, 641, 643, 636, 218, 660, + 6, 3, 506, 502, 523, 519, 25, 26, 27, 335, + 215, 215, 215, 42, 43, 44, 355, 215, 215, 215, + 215, 8, 8, 8, 8, 3, 8, 215, 215, 570, + 572, 4, 8, 3, 8, 8, 150, 151, 152, 580, + 215, 215, 215, 215, 235, 644, 4, 642, 3, 8, + 215, 8, 8, 452, 4, 4, 218, 567, 4, 216, + 4, 639, 215, 215, 5, 215, 7, 645, 646, 647, + 3, 6, 192, 195, 196, 197, 198, 648, 649, 650, + 652, 653, 654, 655, 646, 651, 4, 4, 4, 656, + 3, 8, 4, 218, 216, 216, 4, 649, 215, 215 }; const short Dhcp6Parser::yyr1_[] = { - 0, 224, 226, 225, 227, 225, 228, 225, 229, 225, - 230, 225, 231, 225, 232, 225, 233, 225, 234, 225, - 235, 225, 236, 225, 237, 225, 238, 225, 239, 225, - 240, 240, 240, 240, 240, 240, 240, 241, 243, 242, - 244, 245, 245, 246, 246, 246, 248, 247, 249, 249, - 250, 250, 250, 252, 251, 253, 253, 254, 254, 254, - 255, 257, 256, 259, 258, 258, 260, 262, 261, 263, - 263, 263, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 264, 264, 264, 264, 264, 264, 264, 264, 264, - 264, 266, 265, 267, 268, 269, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 285, 284, 286, 286, 286, 286, 286, 288, 287, 290, - 289, 291, 292, 294, 293, 295, 295, 295, 295, 296, - 298, 297, 300, 299, 301, 302, 303, 305, 304, 306, - 308, 307, 310, 309, 311, 312, 313, 315, 314, 317, - 316, 318, 318, 318, 319, 319, 319, 319, 319, 319, - 319, 319, 321, 320, 322, 323, 324, 325, 327, 326, - 329, 328, 331, 330, 332, 332, 333, 333, 333, 335, - 334, 336, 336, 336, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, - 337, 337, 337, 337, 337, 337, 337, 339, 338, 340, - 340, 340, 342, 341, 344, 343, 346, 345, 347, 349, - 348, 350, 351, 352, 353, 354, 355, 356, 357, 359, - 358, 360, 360, 360, 361, 362, 363, 365, 364, 367, - 366, 369, 368, 371, 370, 373, 372, 374, 374, 374, - 375, 375, 377, 376, 379, 378, 381, 380, 382, 382, - 382, 383, 383, 384, 385, 387, 386, 388, 388, 388, - 389, 389, 389, 390, 391, 393, 392, 395, 394, 396, - 396, 396, 397, 397, 397, 397, 397, 397, 398, 399, - 400, 402, 401, 403, 403, 404, 404, 404, 406, 405, - 408, 407, 409, 409, 409, 409, 410, 410, 412, 411, - 414, 413, 416, 415, 417, 417, 417, 418, 418, 418, - 418, 418, 418, 419, 420, 421, 422, 423, 424, 426, - 425, 427, 427, 428, 428, 428, 430, 429, 432, 431, - 433, 433, 433, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 434, 434, 434, 434, 434, 434, 434, 434, 434, 434, - 436, 435, 438, 437, 440, 439, 442, 441, 444, 443, - 445, 446, 447, 449, 448, 450, 450, 450, 450, 451, - 452, 454, 453, 455, 455, 456, 456, 456, 458, 457, - 459, 459, 459, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, - 460, 460, 460, 460, 460, 460, 460, 462, 461, 464, - 463, 465, 465, 466, 466, 466, 468, 467, 470, 469, - 471, 471, 472, 472, 472, 473, 473, 473, 473, 473, - 473, 473, 473, 473, 473, 474, 475, 476, 478, 477, - 480, 479, 482, 481, 483, 485, 484, 486, 488, 487, - 489, 489, 490, 490, 490, 492, 491, 494, 493, 495, - 495, 496, 496, 496, 497, 497, 497, 497, 497, 497, - 497, 497, 497, 497, 498, 500, 499, 501, 502, 503, - 504, 505, 507, 506, 508, 508, 509, 509, 509, 511, - 510, 513, 512, 514, 514, 514, 515, 515, 515, 515, - 515, 515, 515, 515, 517, 516, 518, 520, 519, 522, - 521, 524, 523, 525, 525, 526, 526, 526, 528, 527, - 530, 529, 531, 531, 531, 532, 532, 532, 532, 532, - 532, 532, 532, 532, 532, 532, 534, 533, 535, 537, - 536, 538, 539, 541, 540, 542, 542, 543, 543, 543, - 545, 544, 547, 546, 548, 548, 549, 549, 549, 550, - 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, - 552, 551, 554, 553, 556, 555, 558, 557, 560, 559, - 562, 561, 564, 563, 566, 565, 567, 569, 568, 570, - 570, 570, 572, 571, 573, 573, 574, 574, 574, 575, - 575, 575, 575, 575, 575, 575, 575, 575, 575, 575, - 575, 575, 575, 576, 578, 577, 580, 579, 581, 583, - 582, 584, 584, 584, 585, 585, 585, 585, 585, 585, - 585, 585, 585, 587, 586, 588, 588, 588, 589, 591, - 590, 592, 593, 594, 596, 595, 597, 597, 597, 598, - 598, 598, 598, 598, 600, 599, 602, 601, 604, 603, - 605, 605, 605, 606, 606, 606, 606, 606, 606, 607, - 609, 608, 610, 612, 611, 614, 613, 616, 615, 617, - 617, 617, 618, 618, 618, 618, 618, 618, 618, 618, - 618, 618, 618, 619, 621, 620, 622, 624, 623, 625, - 626, 628, 627, 629, 629, 631, 630, 633, 632, 635, - 634, 636, 636, 636, 637, 637, 639, 638, 640, 642, - 641, 643, 643, 643, 645, 644, 646, 646, 646, 647, - 647, 647, 647, 647, 647, 647, 648, 650, 649, 652, - 651, 653, 653, 653, 655, 654, 656, 656, 656, 657, - 657, 657, 657, 657, 659, 658, 660, 661, 662, 664, - 663, 666, 665, 667, 667, 667, 668, 668, 669 + 0, 219, 221, 220, 222, 220, 223, 220, 224, 220, + 225, 220, 226, 220, 227, 220, 228, 220, 229, 220, + 230, 220, 231, 220, 232, 220, 233, 220, 234, 220, + 235, 235, 235, 235, 235, 235, 235, 236, 238, 237, + 239, 240, 240, 241, 241, 241, 243, 242, 244, 244, + 245, 245, 245, 247, 246, 248, 248, 249, 249, 249, + 250, 252, 251, 254, 253, 253, 255, 257, 256, 258, + 258, 258, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, + 261, 260, 262, 263, 264, 265, 266, 267, 268, 269, + 270, 271, 272, 273, 274, 275, 276, 277, 278, 280, + 279, 281, 281, 281, 281, 281, 283, 282, 285, 284, + 286, 287, 289, 288, 290, 290, 290, 290, 291, 293, + 292, 295, 294, 296, 297, 298, 300, 299, 301, 303, + 302, 305, 304, 306, 307, 308, 310, 309, 312, 311, + 313, 313, 313, 314, 314, 314, 314, 314, 314, 314, + 314, 316, 315, 317, 318, 319, 320, 322, 321, 324, + 323, 326, 325, 327, 327, 328, 328, 328, 330, 329, + 331, 331, 331, 332, 332, 332, 332, 332, 332, 332, + 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, + 332, 332, 332, 332, 332, 332, 334, 333, 335, 335, + 335, 337, 336, 339, 338, 341, 340, 342, 344, 343, + 345, 346, 347, 348, 349, 350, 351, 352, 354, 353, + 355, 355, 355, 356, 357, 358, 360, 359, 362, 361, + 364, 363, 366, 365, 368, 367, 369, 369, 369, 370, + 370, 372, 371, 374, 373, 376, 375, 377, 377, 377, + 378, 378, 379, 380, 382, 381, 383, 383, 383, 384, + 384, 384, 385, 386, 388, 387, 390, 389, 391, 391, + 391, 392, 392, 392, 392, 392, 392, 393, 394, 395, + 397, 396, 398, 398, 399, 399, 399, 401, 400, 403, + 402, 404, 404, 404, 404, 405, 405, 407, 406, 409, + 408, 411, 410, 412, 412, 412, 413, 413, 413, 413, + 413, 413, 414, 415, 416, 417, 418, 419, 421, 420, + 422, 422, 423, 423, 423, 425, 424, 427, 426, 428, + 428, 428, 429, 429, 429, 429, 429, 429, 429, 429, + 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, + 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, + 429, 429, 429, 429, 429, 429, 429, 429, 429, 429, + 429, 429, 429, 429, 429, 429, 429, 429, 431, 430, + 433, 432, 435, 434, 437, 436, 439, 438, 440, 441, + 442, 443, 444, 446, 445, 447, 447, 448, 448, 448, + 450, 449, 451, 451, 451, 452, 452, 452, 452, 452, + 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, + 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, + 452, 452, 452, 452, 452, 452, 452, 452, 452, 452, + 452, 452, 452, 452, 452, 452, 452, 452, 454, 453, + 456, 455, 457, 457, 458, 458, 458, 460, 459, 462, + 461, 463, 463, 464, 464, 464, 465, 465, 465, 465, + 465, 465, 465, 465, 465, 465, 466, 467, 468, 470, + 469, 472, 471, 474, 473, 475, 477, 476, 478, 480, + 479, 481, 481, 482, 482, 482, 484, 483, 486, 485, + 487, 487, 488, 488, 488, 489, 489, 489, 489, 489, + 489, 489, 489, 489, 489, 490, 492, 491, 493, 494, + 495, 496, 497, 499, 498, 500, 500, 501, 501, 501, + 503, 502, 505, 504, 506, 506, 506, 507, 507, 507, + 507, 507, 507, 507, 507, 509, 508, 510, 512, 511, + 514, 513, 516, 515, 517, 517, 518, 518, 518, 520, + 519, 522, 521, 523, 523, 523, 524, 524, 524, 524, + 524, 524, 524, 524, 524, 524, 524, 526, 525, 527, + 529, 528, 530, 531, 533, 532, 534, 534, 535, 535, + 535, 537, 536, 539, 538, 540, 540, 541, 541, 541, + 542, 542, 542, 542, 542, 542, 542, 542, 542, 542, + 542, 544, 543, 546, 545, 548, 547, 550, 549, 552, + 551, 554, 553, 556, 555, 558, 557, 559, 561, 560, + 562, 562, 562, 564, 563, 565, 565, 566, 566, 566, + 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, + 567, 567, 567, 567, 568, 570, 569, 572, 571, 573, + 575, 574, 576, 576, 576, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 579, 578, 580, 580, 580, 581, + 583, 582, 584, 585, 586, 588, 587, 589, 589, 589, + 590, 590, 590, 590, 590, 592, 591, 594, 593, 596, + 595, 597, 597, 597, 598, 598, 598, 598, 598, 598, + 599, 601, 600, 602, 604, 603, 606, 605, 608, 607, + 609, 609, 609, 610, 610, 610, 610, 610, 610, 610, + 610, 610, 610, 610, 611, 613, 612, 614, 616, 615, + 617, 618, 620, 619, 621, 621, 623, 622, 625, 624, + 627, 626, 628, 628, 628, 629, 629, 631, 630, 632, + 634, 633, 635, 635, 635, 637, 636, 638, 638, 638, + 639, 639, 639, 639, 639, 639, 639, 640, 642, 641, + 644, 643, 645, 645, 645, 647, 646, 648, 648, 648, + 649, 649, 649, 649, 649, 651, 650, 652, 653, 654, + 656, 655, 658, 657, 659, 659, 659, 660, 660, 661 }; const signed char @@ -6068,80 +6006,79 @@ namespace isc { namespace dhcp { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 0, 4, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 3, 3, 0, 4, 1, 1, 1, 1, 3, - 0, 4, 0, 4, 3, 3, 3, 0, 4, 3, - 0, 4, 0, 4, 3, 3, 3, 0, 6, 0, - 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 3, 3, 3, 3, 0, 6, - 0, 6, 0, 6, 0, 1, 1, 3, 2, 0, - 4, 1, 3, 2, 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, 1, - 1, 1, 0, 4, 0, 4, 0, 4, 3, 0, - 4, 3, 3, 3, 3, 3, 3, 3, 3, 0, - 4, 1, 1, 1, 3, 3, 3, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 6, 1, 3, 2, - 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, - 2, 1, 1, 1, 1, 0, 6, 1, 3, 2, - 1, 1, 1, 1, 1, 0, 6, 0, 6, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 1, 3, 2, 1, 1, 1, 0, 4, - 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 3, 3, 3, 0, - 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, + 0, 4, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, + 4, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 3, 3, 0, 4, 1, 1, 1, 1, 3, 0, + 4, 0, 4, 3, 3, 3, 0, 4, 3, 0, + 4, 0, 4, 3, 3, 3, 0, 6, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 4, 3, 3, 3, 3, 0, 6, 0, + 6, 0, 6, 0, 1, 1, 3, 2, 0, 4, 1, 3, 2, 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, 1, 1, + 1, 0, 4, 0, 4, 0, 4, 3, 0, 4, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 4, + 1, 1, 1, 3, 3, 3, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, + 1, 0, 4, 0, 4, 0, 6, 1, 3, 2, + 1, 1, 1, 1, 0, 6, 1, 3, 2, 1, + 1, 1, 1, 1, 0, 6, 0, 6, 1, 3, + 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, + 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, + 4, 1, 3, 2, 1, 1, 1, 0, 4, 0, + 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 3, 3, 3, 0, 6, + 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, + 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 3, 3, 3, 0, 4, 1, 1, 1, 1, 3, - 3, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 3, 3, + 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, - 4, 0, 1, 1, 3, 2, 0, 4, 0, 4, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 6, + 0, 4, 0, 1, 1, 3, 2, 0, 4, 0, + 4, 0, 1, 1, 3, 2, 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, 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 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, 2, 0, 4, 0, 4, 0, - 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 4, 1, 1, 3, - 3, 3, 0, 6, 0, 1, 1, 3, 2, 0, + 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, + 3, 3, 3, 0, 6, 0, 1, 1, 3, 2, + 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 4, 3, 0, 4, + 0, 4, 0, 6, 0, 1, 1, 3, 2, 0, 4, 0, 4, 1, 3, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 3, 0, 4, 0, - 4, 0, 6, 0, 1, 1, 3, 2, 0, 4, - 0, 4, 1, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 4, 3, 3, 0, 6, 0, 1, 1, 3, 2, - 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 4, 3, + 0, 4, 3, 3, 0, 6, 0, 1, 1, 3, + 2, 0, 4, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, - 0, 4, 0, 4, 0, 6, 1, 0, 6, 1, - 3, 2, 0, 4, 0, 1, 1, 3, 2, 1, + 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, + 4, 0, 4, 0, 4, 0, 6, 1, 0, 6, + 1, 3, 2, 0, 4, 0, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 4, 0, 4, 3, 0, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 3, + 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, + 0, 4, 3, 3, 3, 0, 6, 1, 3, 2, + 1, 1, 1, 1, 1, 0, 4, 0, 4, 0, 6, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 4, 1, 1, 1, 3, 0, - 4, 3, 3, 3, 0, 6, 1, 3, 2, 1, - 1, 1, 1, 1, 0, 4, 0, 4, 0, 6, - 1, 3, 2, 1, 1, 1, 1, 1, 1, 3, - 0, 4, 3, 0, 4, 0, 6, 0, 4, 1, - 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 0, 4, 3, 0, 4, 3, - 3, 0, 4, 1, 1, 0, 4, 0, 6, 0, - 4, 1, 3, 2, 1, 1, 0, 6, 3, 0, - 6, 1, 3, 2, 0, 4, 1, 3, 2, 1, - 1, 1, 1, 1, 1, 1, 3, 0, 4, 0, - 6, 1, 3, 2, 0, 4, 1, 3, 2, 1, - 1, 1, 1, 1, 0, 4, 3, 3, 3, 0, - 4, 0, 6, 1, 3, 2, 1, 1, 3 + 3, 0, 4, 3, 0, 4, 0, 6, 0, 4, + 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 3, 0, 4, 3, 0, 4, + 3, 3, 0, 4, 1, 1, 0, 4, 0, 6, + 0, 4, 1, 3, 2, 1, 1, 0, 6, 3, + 0, 6, 1, 3, 2, 0, 4, 1, 3, 2, + 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, + 0, 6, 1, 3, 2, 0, 4, 1, 3, 2, + 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, + 0, 4, 0, 6, 1, 3, 2, 1, 1, 3 }; @@ -6188,8 +6125,7 @@ namespace isc { namespace dhcp { "\"pool\"", "\"pd-pools\"", "\"prefix\"", "\"prefix-len\"", "\"excluded-prefix\"", "\"excluded-prefix-len\"", "\"delegated-len\"", "\"user-context\"", "\"comment\"", "\"subnet\"", "\"interface\"", - "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", - "\"disabled\"", "\"out-of-pool\"", "\"global\"", "\"all\"", + "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservations-global\"", "\"reservations-in-subnet\"", "\"reservations-out-of-pool\"", "\"mac-sources\"", "\"relay-supplied-options\"", "\"host-reservation-identifiers\"", @@ -6280,60 +6216,60 @@ namespace isc { namespace dhcp { "sub_subnet6", "$@63", "subnet6_params", "subnet6_param", "subnet", "$@64", "interface", "$@65", "interface_id", "$@66", "client_class", "$@67", "require_client_classes", "$@68", "reservations_global", - "reservations_in_subnet", "reservations_out_of_pool", "reservation_mode", - "$@69", "hr_mode", "id", "rapid_commit", "shared_networks", "$@70", - "shared_networks_content", "shared_networks_list", "shared_network", - "$@71", "shared_network_params", "shared_network_param", - "option_def_list", "$@72", "sub_option_def_list", "$@73", - "option_def_list_content", "not_empty_option_def_list", - "option_def_entry", "$@74", "sub_option_def", "$@75", - "option_def_params", "not_empty_option_def_params", "option_def_param", - "option_def_name", "code", "option_def_code", "option_def_type", "$@76", - "option_def_record_types", "$@77", "space", "$@78", "option_def_space", - "option_def_encapsulate", "$@79", "option_def_array", "option_data_list", - "$@80", "option_data_list_content", "not_empty_option_data_list", - "option_data_entry", "$@81", "sub_option_data", "$@82", + "reservations_in_subnet", "reservations_out_of_pool", "id", + "rapid_commit", "shared_networks", "$@69", "shared_networks_content", + "shared_networks_list", "shared_network", "$@70", + "shared_network_params", "shared_network_param", "option_def_list", + "$@71", "sub_option_def_list", "$@72", "option_def_list_content", + "not_empty_option_def_list", "option_def_entry", "$@73", + "sub_option_def", "$@74", "option_def_params", + "not_empty_option_def_params", "option_def_param", "option_def_name", + "code", "option_def_code", "option_def_type", "$@75", + "option_def_record_types", "$@76", "space", "$@77", "option_def_space", + "option_def_encapsulate", "$@78", "option_def_array", "option_data_list", + "$@79", "option_data_list_content", "not_empty_option_data_list", + "option_data_entry", "$@80", "sub_option_data", "$@81", "option_data_params", "not_empty_option_data_params", - "option_data_param", "option_data_name", "option_data_data", "$@83", + "option_data_param", "option_data_name", "option_data_data", "$@82", "option_data_code", "option_data_space", "option_data_csv_format", "option_data_always_send", "option_data_never_send", "pools_list", - "$@84", "pools_list_content", "not_empty_pools_list", "pool_list_entry", - "$@85", "sub_pool6", "$@86", "pool_params", "pool_param", "pool_entry", - "$@87", "pool_id", "user_context", "$@88", "comment", "$@89", - "pd_pools_list", "$@90", "pd_pools_list_content", - "not_empty_pd_pools_list", "pd_pool_entry", "$@91", "sub_pd_pool", - "$@92", "pd_pool_params", "pd_pool_param", "pd_prefix", "$@93", - "pd_prefix_len", "excluded_prefix", "$@94", "excluded_prefix_len", - "pd_delegated_len", "reservations", "$@95", "reservations_list", - "not_empty_reservations_list", "reservation", "$@96", "sub_reservation", - "$@97", "reservation_params", "not_empty_reservation_params", - "reservation_param", "ip_addresses", "$@98", "prefixes", "$@99", "duid", - "$@100", "hw_address", "$@101", "hostname", "$@102", "flex_id_value", - "$@103", "reservation_client_classes", "$@104", "relay", "$@105", - "relay_map", "client_classes", "$@106", "client_classes_list", - "client_class_entry", "$@107", "client_class_params", + "$@83", "pools_list_content", "not_empty_pools_list", "pool_list_entry", + "$@84", "sub_pool6", "$@85", "pool_params", "pool_param", "pool_entry", + "$@86", "pool_id", "user_context", "$@87", "comment", "$@88", + "pd_pools_list", "$@89", "pd_pools_list_content", + "not_empty_pd_pools_list", "pd_pool_entry", "$@90", "sub_pd_pool", + "$@91", "pd_pool_params", "pd_pool_param", "pd_prefix", "$@92", + "pd_prefix_len", "excluded_prefix", "$@93", "excluded_prefix_len", + "pd_delegated_len", "reservations", "$@94", "reservations_list", + "not_empty_reservations_list", "reservation", "$@95", "sub_reservation", + "$@96", "reservation_params", "not_empty_reservation_params", + "reservation_param", "ip_addresses", "$@97", "prefixes", "$@98", "duid", + "$@99", "hw_address", "$@100", "hostname", "$@101", "flex_id_value", + "$@102", "reservation_client_classes", "$@103", "relay", "$@104", + "relay_map", "client_classes", "$@105", "client_classes_list", + "client_class_entry", "$@106", "client_class_params", "not_empty_client_class_params", "client_class_param", - "client_class_name", "client_class_test", "$@108", - "client_class_template_test", "$@109", "only_if_required", "server_id", - "$@110", "server_id_params", "server_id_param", "server_id_type", - "$@111", "duid_type", "htype", "identifier", "$@112", "time", - "enterprise_id", "dhcp4o6_port", "control_socket", "$@113", - "control_socket_params", "control_socket_param", "socket_type", "$@114", - "socket_name", "$@115", "dhcp_queue_control", "$@116", + "client_class_name", "client_class_test", "$@107", + "client_class_template_test", "$@108", "only_if_required", "server_id", + "$@109", "server_id_params", "server_id_param", "server_id_type", + "$@110", "duid_type", "htype", "identifier", "$@111", "time", + "enterprise_id", "dhcp4o6_port", "control_socket", "$@112", + "control_socket_params", "control_socket_param", "socket_type", "$@113", + "socket_name", "$@114", "dhcp_queue_control", "$@115", "queue_control_params", "queue_control_param", "enable_queue", - "queue_type", "$@117", "capacity", "arbitrary_map_entry", "$@118", - "dhcp_ddns", "$@119", "sub_dhcp_ddns", "$@120", "dhcp_ddns_params", - "dhcp_ddns_param", "enable_updates", "server_ip", "$@121", "server_port", - "sender_ip", "$@122", "sender_port", "max_queue_size", "ncr_protocol", - "$@123", "ncr_protocol_value", "ncr_format", "$@124", "config_control", - "$@125", "sub_config_control", "$@126", "config_control_params", - "config_control_param", "config_databases", "$@127", - "config_fetch_wait_time", "loggers", "$@128", "loggers_entries", - "logger_entry", "$@129", "logger_params", "logger_param", "debuglevel", - "severity", "$@130", "output_options_list", "$@131", - "output_options_list_content", "output_entry", "$@132", - "output_params_list", "output_params", "output", "$@133", "flush", - "maxsize", "maxver", "pattern", "$@134", "compatibility", "$@135", + "queue_type", "$@116", "capacity", "arbitrary_map_entry", "$@117", + "dhcp_ddns", "$@118", "sub_dhcp_ddns", "$@119", "dhcp_ddns_params", + "dhcp_ddns_param", "enable_updates", "server_ip", "$@120", "server_port", + "sender_ip", "$@121", "sender_port", "max_queue_size", "ncr_protocol", + "$@122", "ncr_protocol_value", "ncr_format", "$@123", "config_control", + "$@124", "sub_config_control", "$@125", "config_control_params", + "config_control_param", "config_databases", "$@126", + "config_fetch_wait_time", "loggers", "$@127", "loggers_entries", + "logger_entry", "$@128", "logger_params", "logger_param", "debuglevel", + "severity", "$@129", "output_options_list", "$@130", + "output_options_list_content", "output_entry", "$@131", + "output_params_list", "output_params", "output", "$@132", "flush", + "maxsize", "maxver", "pattern", "$@133", "compatibility", "$@134", "compatibility_params", "compatibility_param", "lenient_option_parsing", YY_NULLPTR }; #endif @@ -6343,94 +6279,93 @@ namespace isc { namespace dhcp { const short Dhcp6Parser::yyrline_[] = { - 0, 318, 318, 318, 319, 319, 320, 320, 321, 321, - 322, 322, 323, 323, 324, 324, 325, 325, 326, 326, - 327, 327, 328, 328, 329, 329, 330, 330, 331, 331, - 339, 340, 341, 342, 343, 344, 345, 348, 353, 353, - 364, 367, 368, 371, 376, 382, 387, 387, 394, 395, - 398, 402, 406, 412, 412, 419, 420, 423, 427, 431, - 441, 450, 450, 465, 465, 479, 482, 488, 488, 497, - 498, 499, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, - 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, - 574, 577, 577, 586, 592, 598, 604, 610, 616, 622, - 628, 634, 640, 646, 652, 658, 664, 670, 676, 682, - 688, 688, 697, 700, 703, 706, 709, 715, 715, 724, - 724, 733, 742, 752, 752, 761, 764, 767, 770, 775, - 781, 781, 790, 790, 799, 805, 811, 817, 817, 826, - 832, 832, 841, 841, 850, 856, 862, 868, 868, 880, - 880, 889, 890, 891, 896, 897, 898, 899, 900, 901, - 902, 903, 906, 906, 917, 923, 929, 935, 941, 941, - 954, 954, 967, 967, 978, 979, 982, 983, 984, 989, - 989, 999, 1000, 1001, 1006, 1007, 1008, 1009, 1010, 1011, - 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, - 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1031, 1031, 1039, - 1040, 1041, 1044, 1044, 1053, 1053, 1062, 1062, 1071, 1077, - 1077, 1086, 1092, 1098, 1104, 1110, 1116, 1122, 1129, 1135, - 1135, 1143, 1144, 1145, 1148, 1154, 1160, 1166, 1166, 1175, - 1175, 1184, 1184, 1193, 1193, 1202, 1202, 1213, 1214, 1215, - 1220, 1221, 1224, 1224, 1243, 1243, 1261, 1261, 1272, 1273, - 1274, 1279, 1280, 1283, 1288, 1293, 1293, 1304, 1305, 1306, - 1311, 1312, 1313, 1316, 1321, 1328, 1328, 1341, 1341, 1354, - 1355, 1356, 1361, 1362, 1363, 1364, 1365, 1366, 1369, 1375, - 1381, 1387, 1387, 1398, 1399, 1402, 1403, 1404, 1409, 1409, - 1419, 1419, 1429, 1430, 1431, 1434, 1437, 1438, 1441, 1441, - 1450, 1450, 1459, 1459, 1471, 1472, 1473, 1478, 1479, 1480, - 1481, 1482, 1483, 1486, 1492, 1498, 1504, 1510, 1516, 1525, - 1525, 1539, 1540, 1543, 1544, 1545, 1554, 1554, 1580, 1580, - 1591, 1592, 1593, 1599, 1600, 1601, 1602, 1603, 1604, 1605, - 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, - 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, - 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, - 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, - 1648, 1648, 1657, 1657, 1666, 1666, 1675, 1675, 1684, 1684, - 1695, 1701, 1707, 1713, 1713, 1721, 1722, 1723, 1724, 1727, - 1733, 1741, 1741, 1753, 1754, 1758, 1759, 1760, 1765, 1765, - 1773, 1774, 1775, 1780, 1781, 1782, 1783, 1784, 1785, 1786, - 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, - 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, - 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, - 1817, 1818, 1819, 1820, 1821, 1822, 1823, 1830, 1830, 1844, - 1844, 1853, 1854, 1857, 1858, 1859, 1866, 1866, 1881, 1881, - 1895, 1896, 1899, 1900, 1901, 1906, 1907, 1908, 1909, 1910, - 1911, 1912, 1913, 1914, 1915, 1918, 1920, 1926, 1928, 1928, - 1937, 1937, 1946, 1946, 1955, 1957, 1957, 1966, 1976, 1976, - 1989, 1990, 1995, 1996, 1997, 2004, 2004, 2016, 2016, 2028, - 2029, 2034, 2035, 2036, 2043, 2044, 2045, 2046, 2047, 2048, - 2049, 2050, 2051, 2052, 2055, 2057, 2057, 2066, 2068, 2070, - 2076, 2082, 2091, 2091, 2104, 2105, 2108, 2109, 2110, 2115, - 2115, 2125, 2125, 2135, 2136, 2137, 2142, 2143, 2144, 2145, - 2146, 2147, 2148, 2149, 2152, 2152, 2161, 2167, 2167, 2192, - 2192, 2222, 2222, 2235, 2236, 2239, 2240, 2241, 2246, 2246, - 2258, 2258, 2270, 2271, 2272, 2277, 2278, 2279, 2280, 2281, - 2282, 2283, 2284, 2285, 2286, 2287, 2290, 2290, 2299, 2305, - 2305, 2314, 2320, 2329, 2329, 2340, 2341, 2344, 2345, 2346, - 2351, 2351, 2360, 2360, 2369, 2370, 2373, 2374, 2375, 2381, - 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, - 2394, 2394, 2405, 2405, 2416, 2416, 2425, 2425, 2434, 2434, - 2443, 2443, 2452, 2452, 2466, 2466, 2477, 2483, 2483, 2494, - 2495, 2496, 2501, 2501, 2511, 2512, 2515, 2516, 2517, 2522, - 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, - 2533, 2534, 2535, 2538, 2540, 2540, 2549, 2549, 2558, 2567, - 2567, 2580, 2581, 2582, 2587, 2588, 2589, 2590, 2591, 2592, - 2593, 2594, 2595, 2598, 2598, 2606, 2607, 2608, 2611, 2617, - 2617, 2626, 2632, 2640, 2648, 2648, 2659, 2660, 2661, 2666, - 2667, 2668, 2669, 2670, 2673, 2673, 2682, 2682, 2694, 2694, - 2707, 2708, 2709, 2714, 2715, 2716, 2717, 2718, 2719, 2722, - 2728, 2728, 2737, 2743, 2743, 2753, 2753, 2766, 2766, 2776, - 2777, 2778, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, - 2791, 2792, 2793, 2796, 2802, 2802, 2811, 2817, 2817, 2826, - 2832, 2838, 2838, 2847, 2848, 2851, 2851, 2862, 2862, 2874, - 2874, 2884, 2885, 2886, 2892, 2893, 2896, 2896, 2907, 2915, - 2915, 2928, 2929, 2930, 2936, 2936, 2944, 2945, 2946, 2951, - 2952, 2953, 2954, 2955, 2956, 2957, 2960, 2966, 2966, 2975, - 2975, 2986, 2987, 2988, 2993, 2993, 3001, 3002, 3003, 3008, - 3009, 3010, 3011, 3012, 3015, 3015, 3024, 3030, 3036, 3042, - 3042, 3051, 3051, 3062, 3063, 3064, 3069, 3070, 3073 + 0, 312, 312, 312, 313, 313, 314, 314, 315, 315, + 316, 316, 317, 317, 318, 318, 319, 319, 320, 320, + 321, 321, 322, 322, 323, 323, 324, 324, 325, 325, + 333, 334, 335, 336, 337, 338, 339, 342, 347, 347, + 358, 361, 362, 365, 370, 376, 381, 381, 388, 389, + 392, 396, 400, 406, 406, 413, 414, 417, 421, 425, + 435, 444, 444, 459, 459, 473, 476, 482, 482, 491, + 492, 493, 500, 501, 502, 503, 504, 505, 506, 507, + 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, + 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, + 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, + 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, + 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, + 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, + 570, 570, 579, 585, 591, 597, 603, 609, 615, 621, + 627, 633, 639, 645, 651, 657, 663, 669, 675, 681, + 681, 690, 693, 696, 699, 702, 708, 708, 717, 717, + 726, 735, 745, 745, 754, 757, 760, 763, 768, 774, + 774, 783, 783, 792, 798, 804, 810, 810, 819, 825, + 825, 834, 834, 843, 849, 855, 861, 861, 873, 873, + 882, 883, 884, 889, 890, 891, 892, 893, 894, 895, + 896, 899, 899, 910, 916, 922, 928, 934, 934, 947, + 947, 960, 960, 971, 972, 975, 976, 977, 982, 982, + 992, 993, 994, 999, 1000, 1001, 1002, 1003, 1004, 1005, + 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, + 1016, 1017, 1018, 1019, 1020, 1021, 1024, 1024, 1032, 1033, + 1034, 1037, 1037, 1046, 1046, 1055, 1055, 1064, 1070, 1070, + 1079, 1085, 1091, 1097, 1103, 1109, 1115, 1122, 1128, 1128, + 1136, 1137, 1138, 1141, 1147, 1153, 1159, 1159, 1168, 1168, + 1177, 1177, 1186, 1186, 1195, 1195, 1206, 1207, 1208, 1213, + 1214, 1217, 1217, 1236, 1236, 1254, 1254, 1265, 1266, 1267, + 1272, 1273, 1276, 1281, 1286, 1286, 1297, 1298, 1299, 1304, + 1305, 1306, 1309, 1314, 1321, 1321, 1334, 1334, 1347, 1348, + 1349, 1354, 1355, 1356, 1357, 1358, 1359, 1362, 1368, 1374, + 1380, 1380, 1391, 1392, 1395, 1396, 1397, 1402, 1402, 1412, + 1412, 1422, 1423, 1424, 1427, 1430, 1431, 1434, 1434, 1443, + 1443, 1452, 1452, 1464, 1465, 1466, 1471, 1472, 1473, 1474, + 1475, 1476, 1479, 1485, 1491, 1497, 1503, 1509, 1518, 1518, + 1532, 1533, 1536, 1537, 1538, 1547, 1547, 1573, 1573, 1584, + 1585, 1586, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, + 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, + 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, + 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1640, 1640, + 1649, 1649, 1658, 1658, 1667, 1667, 1676, 1676, 1687, 1693, + 1699, 1705, 1711, 1719, 1719, 1731, 1732, 1736, 1737, 1738, + 1743, 1743, 1751, 1752, 1753, 1758, 1759, 1760, 1761, 1762, + 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, + 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, + 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, + 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1800, 1807, 1807, + 1821, 1821, 1830, 1831, 1834, 1835, 1836, 1843, 1843, 1858, + 1858, 1872, 1873, 1876, 1877, 1878, 1883, 1884, 1885, 1886, + 1887, 1888, 1889, 1890, 1891, 1892, 1895, 1897, 1903, 1905, + 1905, 1914, 1914, 1923, 1923, 1932, 1934, 1934, 1943, 1953, + 1953, 1966, 1967, 1972, 1973, 1974, 1981, 1981, 1993, 1993, + 2005, 2006, 2011, 2012, 2013, 2020, 2021, 2022, 2023, 2024, + 2025, 2026, 2027, 2028, 2029, 2032, 2034, 2034, 2043, 2045, + 2047, 2053, 2059, 2068, 2068, 2081, 2082, 2085, 2086, 2087, + 2092, 2092, 2102, 2102, 2112, 2113, 2114, 2119, 2120, 2121, + 2122, 2123, 2124, 2125, 2126, 2129, 2129, 2138, 2144, 2144, + 2169, 2169, 2199, 2199, 2212, 2213, 2216, 2217, 2218, 2223, + 2223, 2235, 2235, 2247, 2248, 2249, 2254, 2255, 2256, 2257, + 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2267, 2267, 2276, + 2282, 2282, 2291, 2297, 2306, 2306, 2317, 2318, 2321, 2322, + 2323, 2328, 2328, 2337, 2337, 2346, 2347, 2350, 2351, 2352, + 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, + 2368, 2371, 2371, 2382, 2382, 2393, 2393, 2402, 2402, 2411, + 2411, 2420, 2420, 2429, 2429, 2443, 2443, 2454, 2460, 2460, + 2471, 2472, 2473, 2478, 2478, 2488, 2489, 2492, 2493, 2494, + 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, + 2509, 2510, 2511, 2512, 2515, 2517, 2517, 2526, 2526, 2535, + 2544, 2544, 2557, 2558, 2559, 2564, 2565, 2566, 2567, 2568, + 2569, 2570, 2571, 2572, 2575, 2575, 2583, 2584, 2585, 2588, + 2594, 2594, 2603, 2609, 2617, 2625, 2625, 2636, 2637, 2638, + 2643, 2644, 2645, 2646, 2647, 2650, 2650, 2659, 2659, 2671, + 2671, 2684, 2685, 2686, 2691, 2692, 2693, 2694, 2695, 2696, + 2699, 2705, 2705, 2714, 2720, 2720, 2730, 2730, 2743, 2743, + 2753, 2754, 2755, 2760, 2761, 2762, 2763, 2764, 2765, 2766, + 2767, 2768, 2769, 2770, 2773, 2779, 2779, 2788, 2794, 2794, + 2803, 2809, 2815, 2815, 2824, 2825, 2828, 2828, 2839, 2839, + 2851, 2851, 2861, 2862, 2863, 2869, 2870, 2873, 2873, 2884, + 2892, 2892, 2905, 2906, 2907, 2913, 2913, 2921, 2922, 2923, + 2928, 2929, 2930, 2931, 2932, 2933, 2934, 2937, 2943, 2943, + 2952, 2952, 2963, 2964, 2965, 2970, 2970, 2978, 2979, 2980, + 2985, 2986, 2987, 2988, 2989, 2992, 2992, 3001, 3007, 3013, + 3019, 3019, 3028, 3028, 3039, 3040, 3041, 3046, 3047, 3050 }; void @@ -6463,9 +6398,9 @@ namespace isc { namespace dhcp { #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 6467 "dhcp6_parser.cc" +#line 6402 "dhcp6_parser.cc" -#line 3079 "dhcp6_parser.yy" +#line 3056 "dhcp6_parser.yy" void diff --git a/src/bin/dhcp6/dhcp6_parser.h b/src/bin/dhcp6/dhcp6_parser.h index caf6f1e8e6..93a16b466f 100644 --- a/src/bin/dhcp6/dhcp6_parser.h +++ b/src/bin/dhcp6/dhcp6_parser.h @@ -431,7 +431,6 @@ namespace isc { namespace dhcp { // ddns_conflict_resolution_mode_value // db_type // on_fail_mode - // hr_mode // duid_type // ncr_protocol_value char dummy1[sizeof (ElementPtr)]; @@ -611,115 +610,110 @@ namespace isc { namespace dhcp { TOKEN_INTERFACE_ID = 367, // "interface-id" TOKEN_ID = 368, // "id" TOKEN_RAPID_COMMIT = 369, // "rapid-commit" - TOKEN_RESERVATION_MODE = 370, // "reservation-mode" - TOKEN_DISABLED = 371, // "disabled" - TOKEN_OUT_OF_POOL = 372, // "out-of-pool" - TOKEN_GLOBAL = 373, // "global" - TOKEN_ALL = 374, // "all" - TOKEN_RESERVATIONS_GLOBAL = 375, // "reservations-global" - TOKEN_RESERVATIONS_IN_SUBNET = 376, // "reservations-in-subnet" - TOKEN_RESERVATIONS_OUT_OF_POOL = 377, // "reservations-out-of-pool" - TOKEN_MAC_SOURCES = 378, // "mac-sources" - TOKEN_RELAY_SUPPLIED_OPTIONS = 379, // "relay-supplied-options" - TOKEN_HOST_RESERVATION_IDENTIFIERS = 380, // "host-reservation-identifiers" - TOKEN_SANITY_CHECKS = 381, // "sanity-checks" - TOKEN_LEASE_CHECKS = 382, // "lease-checks" - TOKEN_EXTENDED_INFO_CHECKS = 383, // "extended-info-checks" - TOKEN_CLIENT_CLASSES = 384, // "client-classes" - TOKEN_REQUIRE_CLIENT_CLASSES = 385, // "require-client-classes" - TOKEN_TEST = 386, // "test" - TOKEN_TEMPLATE_TEST = 387, // "template-test" - TOKEN_ONLY_IF_REQUIRED = 388, // "only-if-required" - TOKEN_CLIENT_CLASS = 389, // "client-class" - TOKEN_POOL_ID = 390, // "pool-id" - TOKEN_RESERVATIONS = 391, // "reservations" - TOKEN_IP_ADDRESSES = 392, // "ip-addresses" - TOKEN_PREFIXES = 393, // "prefixes" - TOKEN_DUID = 394, // "duid" - TOKEN_HW_ADDRESS = 395, // "hw-address" - TOKEN_HOSTNAME = 396, // "hostname" - TOKEN_FLEX_ID = 397, // "flex-id" - TOKEN_RELAY = 398, // "relay" - TOKEN_HOOKS_LIBRARIES = 399, // "hooks-libraries" - TOKEN_LIBRARY = 400, // "library" - TOKEN_PARAMETERS = 401, // "parameters" - TOKEN_EXPIRED_LEASES_PROCESSING = 402, // "expired-leases-processing" - TOKEN_RECLAIM_TIMER_WAIT_TIME = 403, // "reclaim-timer-wait-time" - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 404, // "flush-reclaimed-timer-wait-time" - TOKEN_HOLD_RECLAIMED_TIME = 405, // "hold-reclaimed-time" - TOKEN_MAX_RECLAIM_LEASES = 406, // "max-reclaim-leases" - TOKEN_MAX_RECLAIM_TIME = 407, // "max-reclaim-time" - TOKEN_UNWARNED_RECLAIM_CYCLES = 408, // "unwarned-reclaim-cycles" - TOKEN_SERVER_ID = 409, // "server-id" - TOKEN_LLT = 410, // "LLT" - TOKEN_EN = 411, // "EN" - TOKEN_LL = 412, // "LL" - TOKEN_IDENTIFIER = 413, // "identifier" - TOKEN_HTYPE = 414, // "htype" - TOKEN_TIME = 415, // "time" - TOKEN_ENTERPRISE_ID = 416, // "enterprise-id" - TOKEN_DHCP4O6_PORT = 417, // "dhcp4o6-port" - TOKEN_DHCP_MULTI_THREADING = 418, // "multi-threading" - TOKEN_ENABLE_MULTI_THREADING = 419, // "enable-multi-threading" - TOKEN_THREAD_POOL_SIZE = 420, // "thread-pool-size" - TOKEN_PACKET_QUEUE_SIZE = 421, // "packet-queue-size" - TOKEN_CONTROL_SOCKET = 422, // "control-socket" - TOKEN_SOCKET_TYPE = 423, // "socket-type" - TOKEN_SOCKET_NAME = 424, // "socket-name" - TOKEN_DHCP_QUEUE_CONTROL = 425, // "dhcp-queue-control" - TOKEN_ENABLE_QUEUE = 426, // "enable-queue" - TOKEN_QUEUE_TYPE = 427, // "queue-type" - TOKEN_CAPACITY = 428, // "capacity" - TOKEN_DHCP_DDNS = 429, // "dhcp-ddns" - TOKEN_ENABLE_UPDATES = 430, // "enable-updates" - TOKEN_SERVER_IP = 431, // "server-ip" - TOKEN_SERVER_PORT = 432, // "server-port" - TOKEN_SENDER_IP = 433, // "sender-ip" - TOKEN_SENDER_PORT = 434, // "sender-port" - TOKEN_MAX_QUEUE_SIZE = 435, // "max-queue-size" - TOKEN_NCR_PROTOCOL = 436, // "ncr-protocol" - TOKEN_NCR_FORMAT = 437, // "ncr-format" - TOKEN_UDP = 438, // "UDP" - TOKEN_TCP = 439, // "TCP" - TOKEN_JSON = 440, // "JSON" - TOKEN_WHEN_PRESENT = 441, // "when-present" - TOKEN_NEVER = 442, // "never" - TOKEN_ALWAYS = 443, // "always" - TOKEN_WHEN_NOT_PRESENT = 444, // "when-not-present" - TOKEN_HOSTNAME_CHAR_SET = 445, // "hostname-char-set" - TOKEN_HOSTNAME_CHAR_REPLACEMENT = 446, // "hostname-char-replacement" - TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 447, // "early-global-reservations-lookup" - TOKEN_IP_RESERVATIONS_UNIQUE = 448, // "ip-reservations-unique" - TOKEN_RESERVATIONS_LOOKUP_FIRST = 449, // "reservations-lookup-first" - TOKEN_LOGGERS = 450, // "loggers" - TOKEN_OUTPUT_OPTIONS = 451, // "output-options" - TOKEN_OUTPUT = 452, // "output" - TOKEN_DEBUGLEVEL = 453, // "debuglevel" - TOKEN_SEVERITY = 454, // "severity" - TOKEN_FLUSH = 455, // "flush" - TOKEN_MAXSIZE = 456, // "maxsize" - TOKEN_MAXVER = 457, // "maxver" - TOKEN_PATTERN = 458, // "pattern" - TOKEN_COMPATIBILITY = 459, // "compatibility" - TOKEN_LENIENT_OPTION_PARSING = 460, // "lenient-option-parsing" - TOKEN_TOPLEVEL_JSON = 461, // TOPLEVEL_JSON - TOKEN_TOPLEVEL_DHCP6 = 462, // TOPLEVEL_DHCP6 - TOKEN_SUB_DHCP6 = 463, // SUB_DHCP6 - TOKEN_SUB_INTERFACES6 = 464, // SUB_INTERFACES6 - TOKEN_SUB_SUBNET6 = 465, // SUB_SUBNET6 - TOKEN_SUB_POOL6 = 466, // SUB_POOL6 - TOKEN_SUB_PD_POOL = 467, // SUB_PD_POOL - TOKEN_SUB_RESERVATION = 468, // SUB_RESERVATION - TOKEN_SUB_OPTION_DEFS = 469, // SUB_OPTION_DEFS - TOKEN_SUB_OPTION_DEF = 470, // SUB_OPTION_DEF - TOKEN_SUB_OPTION_DATA = 471, // SUB_OPTION_DATA - TOKEN_SUB_HOOKS_LIBRARY = 472, // SUB_HOOKS_LIBRARY - TOKEN_SUB_DHCP_DDNS = 473, // SUB_DHCP_DDNS - TOKEN_SUB_CONFIG_CONTROL = 474, // SUB_CONFIG_CONTROL - TOKEN_STRING = 475, // "constant string" - TOKEN_INTEGER = 476, // "integer" - TOKEN_FLOAT = 477, // "floating point" - TOKEN_BOOLEAN = 478 // "boolean" + TOKEN_RESERVATIONS_GLOBAL = 370, // "reservations-global" + TOKEN_RESERVATIONS_IN_SUBNET = 371, // "reservations-in-subnet" + TOKEN_RESERVATIONS_OUT_OF_POOL = 372, // "reservations-out-of-pool" + TOKEN_MAC_SOURCES = 373, // "mac-sources" + TOKEN_RELAY_SUPPLIED_OPTIONS = 374, // "relay-supplied-options" + TOKEN_HOST_RESERVATION_IDENTIFIERS = 375, // "host-reservation-identifiers" + TOKEN_SANITY_CHECKS = 376, // "sanity-checks" + TOKEN_LEASE_CHECKS = 377, // "lease-checks" + TOKEN_EXTENDED_INFO_CHECKS = 378, // "extended-info-checks" + TOKEN_CLIENT_CLASSES = 379, // "client-classes" + TOKEN_REQUIRE_CLIENT_CLASSES = 380, // "require-client-classes" + TOKEN_TEST = 381, // "test" + TOKEN_TEMPLATE_TEST = 382, // "template-test" + TOKEN_ONLY_IF_REQUIRED = 383, // "only-if-required" + TOKEN_CLIENT_CLASS = 384, // "client-class" + TOKEN_POOL_ID = 385, // "pool-id" + TOKEN_RESERVATIONS = 386, // "reservations" + TOKEN_IP_ADDRESSES = 387, // "ip-addresses" + TOKEN_PREFIXES = 388, // "prefixes" + TOKEN_DUID = 389, // "duid" + TOKEN_HW_ADDRESS = 390, // "hw-address" + TOKEN_HOSTNAME = 391, // "hostname" + TOKEN_FLEX_ID = 392, // "flex-id" + TOKEN_RELAY = 393, // "relay" + TOKEN_HOOKS_LIBRARIES = 394, // "hooks-libraries" + TOKEN_LIBRARY = 395, // "library" + TOKEN_PARAMETERS = 396, // "parameters" + TOKEN_EXPIRED_LEASES_PROCESSING = 397, // "expired-leases-processing" + TOKEN_RECLAIM_TIMER_WAIT_TIME = 398, // "reclaim-timer-wait-time" + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 399, // "flush-reclaimed-timer-wait-time" + TOKEN_HOLD_RECLAIMED_TIME = 400, // "hold-reclaimed-time" + TOKEN_MAX_RECLAIM_LEASES = 401, // "max-reclaim-leases" + TOKEN_MAX_RECLAIM_TIME = 402, // "max-reclaim-time" + TOKEN_UNWARNED_RECLAIM_CYCLES = 403, // "unwarned-reclaim-cycles" + TOKEN_SERVER_ID = 404, // "server-id" + TOKEN_LLT = 405, // "LLT" + TOKEN_EN = 406, // "EN" + TOKEN_LL = 407, // "LL" + TOKEN_IDENTIFIER = 408, // "identifier" + TOKEN_HTYPE = 409, // "htype" + TOKEN_TIME = 410, // "time" + TOKEN_ENTERPRISE_ID = 411, // "enterprise-id" + TOKEN_DHCP4O6_PORT = 412, // "dhcp4o6-port" + TOKEN_DHCP_MULTI_THREADING = 413, // "multi-threading" + TOKEN_ENABLE_MULTI_THREADING = 414, // "enable-multi-threading" + TOKEN_THREAD_POOL_SIZE = 415, // "thread-pool-size" + TOKEN_PACKET_QUEUE_SIZE = 416, // "packet-queue-size" + TOKEN_CONTROL_SOCKET = 417, // "control-socket" + TOKEN_SOCKET_TYPE = 418, // "socket-type" + TOKEN_SOCKET_NAME = 419, // "socket-name" + TOKEN_DHCP_QUEUE_CONTROL = 420, // "dhcp-queue-control" + TOKEN_ENABLE_QUEUE = 421, // "enable-queue" + TOKEN_QUEUE_TYPE = 422, // "queue-type" + TOKEN_CAPACITY = 423, // "capacity" + TOKEN_DHCP_DDNS = 424, // "dhcp-ddns" + TOKEN_ENABLE_UPDATES = 425, // "enable-updates" + TOKEN_SERVER_IP = 426, // "server-ip" + TOKEN_SERVER_PORT = 427, // "server-port" + TOKEN_SENDER_IP = 428, // "sender-ip" + TOKEN_SENDER_PORT = 429, // "sender-port" + TOKEN_MAX_QUEUE_SIZE = 430, // "max-queue-size" + TOKEN_NCR_PROTOCOL = 431, // "ncr-protocol" + TOKEN_NCR_FORMAT = 432, // "ncr-format" + TOKEN_UDP = 433, // "UDP" + TOKEN_TCP = 434, // "TCP" + TOKEN_JSON = 435, // "JSON" + TOKEN_WHEN_PRESENT = 436, // "when-present" + TOKEN_NEVER = 437, // "never" + TOKEN_ALWAYS = 438, // "always" + TOKEN_WHEN_NOT_PRESENT = 439, // "when-not-present" + TOKEN_HOSTNAME_CHAR_SET = 440, // "hostname-char-set" + TOKEN_HOSTNAME_CHAR_REPLACEMENT = 441, // "hostname-char-replacement" + TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 442, // "early-global-reservations-lookup" + TOKEN_IP_RESERVATIONS_UNIQUE = 443, // "ip-reservations-unique" + TOKEN_RESERVATIONS_LOOKUP_FIRST = 444, // "reservations-lookup-first" + TOKEN_LOGGERS = 445, // "loggers" + TOKEN_OUTPUT_OPTIONS = 446, // "output-options" + TOKEN_OUTPUT = 447, // "output" + TOKEN_DEBUGLEVEL = 448, // "debuglevel" + TOKEN_SEVERITY = 449, // "severity" + TOKEN_FLUSH = 450, // "flush" + TOKEN_MAXSIZE = 451, // "maxsize" + TOKEN_MAXVER = 452, // "maxver" + TOKEN_PATTERN = 453, // "pattern" + TOKEN_COMPATIBILITY = 454, // "compatibility" + TOKEN_LENIENT_OPTION_PARSING = 455, // "lenient-option-parsing" + TOKEN_TOPLEVEL_JSON = 456, // TOPLEVEL_JSON + TOKEN_TOPLEVEL_DHCP6 = 457, // TOPLEVEL_DHCP6 + TOKEN_SUB_DHCP6 = 458, // SUB_DHCP6 + TOKEN_SUB_INTERFACES6 = 459, // SUB_INTERFACES6 + TOKEN_SUB_SUBNET6 = 460, // SUB_SUBNET6 + TOKEN_SUB_POOL6 = 461, // SUB_POOL6 + TOKEN_SUB_PD_POOL = 462, // SUB_PD_POOL + TOKEN_SUB_RESERVATION = 463, // SUB_RESERVATION + TOKEN_SUB_OPTION_DEFS = 464, // SUB_OPTION_DEFS + TOKEN_SUB_OPTION_DEF = 465, // SUB_OPTION_DEF + TOKEN_SUB_OPTION_DATA = 466, // SUB_OPTION_DATA + TOKEN_SUB_HOOKS_LIBRARY = 467, // SUB_HOOKS_LIBRARY + TOKEN_SUB_DHCP_DDNS = 468, // SUB_DHCP_DDNS + TOKEN_SUB_CONFIG_CONTROL = 469, // SUB_CONFIG_CONTROL + TOKEN_STRING = 470, // "constant string" + TOKEN_INTEGER = 471, // "integer" + TOKEN_FLOAT = 472, // "floating point" + TOKEN_BOOLEAN = 473 // "boolean" }; /// Backward compatibility alias (Bison 3.6). typedef token_kind_type yytokentype; @@ -736,7 +730,7 @@ namespace isc { namespace dhcp { { enum symbol_kind_type { - YYNTOKENS = 224, ///< Number of tokens. + YYNTOKENS = 219, ///< Number of tokens. S_YYEMPTY = -2, S_YYEOF = 0, // "end of file" S_YYerror = 1, // error @@ -853,561 +847,553 @@ namespace isc { namespace dhcp { S_INTERFACE_ID = 112, // "interface-id" S_ID = 113, // "id" S_RAPID_COMMIT = 114, // "rapid-commit" - S_RESERVATION_MODE = 115, // "reservation-mode" - S_DISABLED = 116, // "disabled" - S_OUT_OF_POOL = 117, // "out-of-pool" - S_GLOBAL = 118, // "global" - S_ALL = 119, // "all" - S_RESERVATIONS_GLOBAL = 120, // "reservations-global" - S_RESERVATIONS_IN_SUBNET = 121, // "reservations-in-subnet" - S_RESERVATIONS_OUT_OF_POOL = 122, // "reservations-out-of-pool" - S_MAC_SOURCES = 123, // "mac-sources" - S_RELAY_SUPPLIED_OPTIONS = 124, // "relay-supplied-options" - S_HOST_RESERVATION_IDENTIFIERS = 125, // "host-reservation-identifiers" - S_SANITY_CHECKS = 126, // "sanity-checks" - S_LEASE_CHECKS = 127, // "lease-checks" - S_EXTENDED_INFO_CHECKS = 128, // "extended-info-checks" - S_CLIENT_CLASSES = 129, // "client-classes" - S_REQUIRE_CLIENT_CLASSES = 130, // "require-client-classes" - S_TEST = 131, // "test" - S_TEMPLATE_TEST = 132, // "template-test" - S_ONLY_IF_REQUIRED = 133, // "only-if-required" - S_CLIENT_CLASS = 134, // "client-class" - S_POOL_ID = 135, // "pool-id" - S_RESERVATIONS = 136, // "reservations" - S_IP_ADDRESSES = 137, // "ip-addresses" - S_PREFIXES = 138, // "prefixes" - S_DUID = 139, // "duid" - S_HW_ADDRESS = 140, // "hw-address" - S_HOSTNAME = 141, // "hostname" - S_FLEX_ID = 142, // "flex-id" - S_RELAY = 143, // "relay" - S_HOOKS_LIBRARIES = 144, // "hooks-libraries" - S_LIBRARY = 145, // "library" - S_PARAMETERS = 146, // "parameters" - S_EXPIRED_LEASES_PROCESSING = 147, // "expired-leases-processing" - S_RECLAIM_TIMER_WAIT_TIME = 148, // "reclaim-timer-wait-time" - S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 149, // "flush-reclaimed-timer-wait-time" - S_HOLD_RECLAIMED_TIME = 150, // "hold-reclaimed-time" - S_MAX_RECLAIM_LEASES = 151, // "max-reclaim-leases" - S_MAX_RECLAIM_TIME = 152, // "max-reclaim-time" - S_UNWARNED_RECLAIM_CYCLES = 153, // "unwarned-reclaim-cycles" - S_SERVER_ID = 154, // "server-id" - S_LLT = 155, // "LLT" - S_EN = 156, // "EN" - S_LL = 157, // "LL" - S_IDENTIFIER = 158, // "identifier" - S_HTYPE = 159, // "htype" - S_TIME = 160, // "time" - S_ENTERPRISE_ID = 161, // "enterprise-id" - S_DHCP4O6_PORT = 162, // "dhcp4o6-port" - S_DHCP_MULTI_THREADING = 163, // "multi-threading" - S_ENABLE_MULTI_THREADING = 164, // "enable-multi-threading" - S_THREAD_POOL_SIZE = 165, // "thread-pool-size" - S_PACKET_QUEUE_SIZE = 166, // "packet-queue-size" - S_CONTROL_SOCKET = 167, // "control-socket" - S_SOCKET_TYPE = 168, // "socket-type" - S_SOCKET_NAME = 169, // "socket-name" - S_DHCP_QUEUE_CONTROL = 170, // "dhcp-queue-control" - S_ENABLE_QUEUE = 171, // "enable-queue" - S_QUEUE_TYPE = 172, // "queue-type" - S_CAPACITY = 173, // "capacity" - S_DHCP_DDNS = 174, // "dhcp-ddns" - S_ENABLE_UPDATES = 175, // "enable-updates" - S_SERVER_IP = 176, // "server-ip" - S_SERVER_PORT = 177, // "server-port" - S_SENDER_IP = 178, // "sender-ip" - S_SENDER_PORT = 179, // "sender-port" - S_MAX_QUEUE_SIZE = 180, // "max-queue-size" - S_NCR_PROTOCOL = 181, // "ncr-protocol" - S_NCR_FORMAT = 182, // "ncr-format" - S_UDP = 183, // "UDP" - S_TCP = 184, // "TCP" - S_JSON = 185, // "JSON" - S_WHEN_PRESENT = 186, // "when-present" - S_NEVER = 187, // "never" - S_ALWAYS = 188, // "always" - S_WHEN_NOT_PRESENT = 189, // "when-not-present" - S_HOSTNAME_CHAR_SET = 190, // "hostname-char-set" - S_HOSTNAME_CHAR_REPLACEMENT = 191, // "hostname-char-replacement" - S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 192, // "early-global-reservations-lookup" - S_IP_RESERVATIONS_UNIQUE = 193, // "ip-reservations-unique" - S_RESERVATIONS_LOOKUP_FIRST = 194, // "reservations-lookup-first" - S_LOGGERS = 195, // "loggers" - S_OUTPUT_OPTIONS = 196, // "output-options" - S_OUTPUT = 197, // "output" - S_DEBUGLEVEL = 198, // "debuglevel" - S_SEVERITY = 199, // "severity" - S_FLUSH = 200, // "flush" - S_MAXSIZE = 201, // "maxsize" - S_MAXVER = 202, // "maxver" - S_PATTERN = 203, // "pattern" - S_COMPATIBILITY = 204, // "compatibility" - S_LENIENT_OPTION_PARSING = 205, // "lenient-option-parsing" - S_TOPLEVEL_JSON = 206, // TOPLEVEL_JSON - S_TOPLEVEL_DHCP6 = 207, // TOPLEVEL_DHCP6 - S_SUB_DHCP6 = 208, // SUB_DHCP6 - S_SUB_INTERFACES6 = 209, // SUB_INTERFACES6 - S_SUB_SUBNET6 = 210, // SUB_SUBNET6 - S_SUB_POOL6 = 211, // SUB_POOL6 - S_SUB_PD_POOL = 212, // SUB_PD_POOL - S_SUB_RESERVATION = 213, // SUB_RESERVATION - S_SUB_OPTION_DEFS = 214, // SUB_OPTION_DEFS - S_SUB_OPTION_DEF = 215, // SUB_OPTION_DEF - S_SUB_OPTION_DATA = 216, // SUB_OPTION_DATA - S_SUB_HOOKS_LIBRARY = 217, // SUB_HOOKS_LIBRARY - S_SUB_DHCP_DDNS = 218, // SUB_DHCP_DDNS - S_SUB_CONFIG_CONTROL = 219, // SUB_CONFIG_CONTROL - S_STRING = 220, // "constant string" - S_INTEGER = 221, // "integer" - S_FLOAT = 222, // "floating point" - S_BOOLEAN = 223, // "boolean" - S_YYACCEPT = 224, // $accept - S_start = 225, // start - S_226_1 = 226, // $@1 - S_227_2 = 227, // $@2 - S_228_3 = 228, // $@3 - S_229_4 = 229, // $@4 - S_230_5 = 230, // $@5 - S_231_6 = 231, // $@6 - S_232_7 = 232, // $@7 - S_233_8 = 233, // $@8 - S_234_9 = 234, // $@9 - S_235_10 = 235, // $@10 - S_236_11 = 236, // $@11 - S_237_12 = 237, // $@12 - S_238_13 = 238, // $@13 - S_239_14 = 239, // $@14 - S_value = 240, // value - S_sub_json = 241, // sub_json - S_map2 = 242, // map2 - S_243_15 = 243, // $@15 - S_map_value = 244, // map_value - S_map_content = 245, // map_content - S_not_empty_map = 246, // not_empty_map - S_list_generic = 247, // list_generic - S_248_16 = 248, // $@16 - S_list_content = 249, // list_content - S_not_empty_list = 250, // not_empty_list - S_list_strings = 251, // list_strings - S_252_17 = 252, // $@17 - S_list_strings_content = 253, // list_strings_content - S_not_empty_list_strings = 254, // not_empty_list_strings - S_unknown_map_entry = 255, // unknown_map_entry - S_syntax_map = 256, // syntax_map - S_257_18 = 257, // $@18 - S_global_object = 258, // global_object - S_259_19 = 259, // $@19 - S_global_object_comma = 260, // global_object_comma - S_sub_dhcp6 = 261, // sub_dhcp6 - S_262_20 = 262, // $@20 - S_global_params = 263, // global_params - S_global_param = 264, // global_param - S_data_directory = 265, // data_directory - S_266_21 = 266, // $@21 - S_preferred_lifetime = 267, // preferred_lifetime - S_min_preferred_lifetime = 268, // min_preferred_lifetime - S_max_preferred_lifetime = 269, // max_preferred_lifetime - S_valid_lifetime = 270, // valid_lifetime - S_min_valid_lifetime = 271, // min_valid_lifetime - S_max_valid_lifetime = 272, // max_valid_lifetime - S_renew_timer = 273, // renew_timer - S_rebind_timer = 274, // rebind_timer - S_calculate_tee_times = 275, // calculate_tee_times - S_t1_percent = 276, // t1_percent - S_t2_percent = 277, // t2_percent - S_cache_threshold = 278, // cache_threshold - S_cache_max_age = 279, // cache_max_age - S_decline_probation_period = 280, // decline_probation_period - S_ddns_send_updates = 281, // ddns_send_updates - S_ddns_override_no_update = 282, // ddns_override_no_update - S_ddns_override_client_update = 283, // ddns_override_client_update - S_ddns_replace_client_name = 284, // ddns_replace_client_name - S_285_22 = 285, // $@22 - S_ddns_replace_client_name_value = 286, // ddns_replace_client_name_value - S_ddns_generated_prefix = 287, // ddns_generated_prefix - S_288_23 = 288, // $@23 - S_ddns_qualifying_suffix = 289, // ddns_qualifying_suffix - S_290_24 = 290, // $@24 - S_ddns_update_on_renew = 291, // ddns_update_on_renew - S_ddns_use_conflict_resolution = 292, // ddns_use_conflict_resolution - S_ddns_conflict_resolution_mode = 293, // ddns_conflict_resolution_mode - S_294_25 = 294, // $@25 - S_ddns_conflict_resolution_mode_value = 295, // ddns_conflict_resolution_mode_value - S_ddns_ttl_percent = 296, // ddns_ttl_percent - S_hostname_char_set = 297, // hostname_char_set - S_298_26 = 298, // $@26 - S_hostname_char_replacement = 299, // hostname_char_replacement - S_300_27 = 300, // $@27 - S_store_extended_info = 301, // store_extended_info - S_statistic_default_sample_count = 302, // statistic_default_sample_count - S_statistic_default_sample_age = 303, // statistic_default_sample_age - S_server_tag = 304, // server_tag - S_305_28 = 305, // $@28 - S_parked_packet_limit = 306, // parked_packet_limit - S_allocator = 307, // allocator - S_308_29 = 308, // $@29 - S_pd_allocator = 309, // pd_allocator - S_310_30 = 310, // $@30 - S_early_global_reservations_lookup = 311, // early_global_reservations_lookup - S_ip_reservations_unique = 312, // ip_reservations_unique - S_reservations_lookup_first = 313, // reservations_lookup_first - S_interfaces_config = 314, // interfaces_config - S_315_31 = 315, // $@31 - S_sub_interfaces6 = 316, // sub_interfaces6 - S_317_32 = 317, // $@32 - S_interfaces_config_params = 318, // interfaces_config_params - S_interfaces_config_param = 319, // interfaces_config_param - S_interfaces_list = 320, // interfaces_list - S_321_33 = 321, // $@33 - S_re_detect = 322, // re_detect - S_service_sockets_require_all = 323, // service_sockets_require_all - S_service_sockets_retry_wait_time = 324, // service_sockets_retry_wait_time - S_service_sockets_max_retries = 325, // service_sockets_max_retries - S_lease_database = 326, // lease_database - S_327_34 = 327, // $@34 - S_hosts_database = 328, // hosts_database - S_329_35 = 329, // $@35 - S_hosts_databases = 330, // hosts_databases - S_331_36 = 331, // $@36 - S_database_list = 332, // database_list - S_not_empty_database_list = 333, // not_empty_database_list - S_database = 334, // database - S_335_37 = 335, // $@37 - S_database_map_params = 336, // database_map_params - S_database_map_param = 337, // database_map_param - S_database_type = 338, // database_type - S_339_38 = 339, // $@38 - S_db_type = 340, // db_type - S_user = 341, // user - S_342_39 = 342, // $@39 - S_password = 343, // password - S_344_40 = 344, // $@40 - S_host = 345, // host - S_346_41 = 346, // $@41 - S_port = 347, // port - S_name = 348, // name - S_349_42 = 349, // $@42 - S_persist = 350, // persist - S_lfc_interval = 351, // lfc_interval - S_readonly = 352, // readonly - S_connect_timeout = 353, // connect_timeout - S_read_timeout = 354, // read_timeout - S_write_timeout = 355, // write_timeout - S_tcp_user_timeout = 356, // tcp_user_timeout - S_reconnect_wait_time = 357, // reconnect_wait_time - S_on_fail = 358, // on_fail - S_359_43 = 359, // $@43 - S_on_fail_mode = 360, // on_fail_mode - S_retry_on_startup = 361, // retry_on_startup - S_max_row_errors = 362, // max_row_errors - S_max_reconnect_tries = 363, // max_reconnect_tries - S_trust_anchor = 364, // trust_anchor - S_365_44 = 365, // $@44 - S_cert_file = 366, // cert_file - S_367_45 = 367, // $@45 - S_key_file = 368, // key_file - S_369_46 = 369, // $@46 - S_cipher_list = 370, // cipher_list - S_371_47 = 371, // $@47 - S_sanity_checks = 372, // sanity_checks - S_373_48 = 373, // $@48 - S_sanity_checks_params = 374, // sanity_checks_params - S_sanity_checks_param = 375, // sanity_checks_param - S_lease_checks = 376, // lease_checks - S_377_49 = 377, // $@49 - S_extended_info_checks = 378, // extended_info_checks - S_379_50 = 379, // $@50 - S_mac_sources = 380, // mac_sources - S_381_51 = 381, // $@51 - S_mac_sources_list = 382, // mac_sources_list - S_mac_sources_value = 383, // mac_sources_value - S_duid_id = 384, // duid_id - S_string_id = 385, // string_id - S_host_reservation_identifiers = 386, // host_reservation_identifiers - S_387_52 = 387, // $@52 - S_host_reservation_identifiers_list = 388, // host_reservation_identifiers_list - S_host_reservation_identifier = 389, // host_reservation_identifier - S_hw_address_id = 390, // hw_address_id - S_flex_id = 391, // flex_id - S_relay_supplied_options = 392, // relay_supplied_options - S_393_53 = 393, // $@53 - S_dhcp_multi_threading = 394, // dhcp_multi_threading - S_395_54 = 395, // $@54 - S_multi_threading_params = 396, // multi_threading_params - S_multi_threading_param = 397, // multi_threading_param - S_enable_multi_threading = 398, // enable_multi_threading - S_thread_pool_size = 399, // thread_pool_size - S_packet_queue_size = 400, // packet_queue_size - S_hooks_libraries = 401, // hooks_libraries - S_402_55 = 402, // $@55 - S_hooks_libraries_list = 403, // hooks_libraries_list - S_not_empty_hooks_libraries_list = 404, // not_empty_hooks_libraries_list - S_hooks_library = 405, // hooks_library - S_406_56 = 406, // $@56 - S_sub_hooks_library = 407, // sub_hooks_library - S_408_57 = 408, // $@57 - S_hooks_params = 409, // hooks_params - S_hooks_param = 410, // hooks_param - S_library = 411, // library - S_412_58 = 412, // $@58 - S_parameters = 413, // parameters - S_414_59 = 414, // $@59 - S_expired_leases_processing = 415, // expired_leases_processing - S_416_60 = 416, // $@60 - S_expired_leases_params = 417, // expired_leases_params - S_expired_leases_param = 418, // expired_leases_param - S_reclaim_timer_wait_time = 419, // reclaim_timer_wait_time - S_flush_reclaimed_timer_wait_time = 420, // flush_reclaimed_timer_wait_time - S_hold_reclaimed_time = 421, // hold_reclaimed_time - S_max_reclaim_leases = 422, // max_reclaim_leases - S_max_reclaim_time = 423, // max_reclaim_time - S_unwarned_reclaim_cycles = 424, // unwarned_reclaim_cycles - S_subnet6_list = 425, // subnet6_list - S_426_61 = 426, // $@61 - S_subnet6_list_content = 427, // subnet6_list_content - S_not_empty_subnet6_list = 428, // not_empty_subnet6_list - S_subnet6 = 429, // subnet6 - S_430_62 = 430, // $@62 - S_sub_subnet6 = 431, // sub_subnet6 - S_432_63 = 432, // $@63 - S_subnet6_params = 433, // subnet6_params - S_subnet6_param = 434, // subnet6_param - S_subnet = 435, // subnet - S_436_64 = 436, // $@64 - S_interface = 437, // interface - S_438_65 = 438, // $@65 - S_interface_id = 439, // interface_id - S_440_66 = 440, // $@66 - S_client_class = 441, // client_class - S_442_67 = 442, // $@67 - S_require_client_classes = 443, // require_client_classes - S_444_68 = 444, // $@68 - S_reservations_global = 445, // reservations_global - S_reservations_in_subnet = 446, // reservations_in_subnet - S_reservations_out_of_pool = 447, // reservations_out_of_pool - S_reservation_mode = 448, // reservation_mode - S_449_69 = 449, // $@69 - S_hr_mode = 450, // hr_mode - S_id = 451, // id - S_rapid_commit = 452, // rapid_commit - S_shared_networks = 453, // shared_networks - S_454_70 = 454, // $@70 - S_shared_networks_content = 455, // shared_networks_content - S_shared_networks_list = 456, // shared_networks_list - S_shared_network = 457, // shared_network - S_458_71 = 458, // $@71 - S_shared_network_params = 459, // shared_network_params - S_shared_network_param = 460, // shared_network_param - S_option_def_list = 461, // option_def_list - S_462_72 = 462, // $@72 - S_sub_option_def_list = 463, // sub_option_def_list - S_464_73 = 464, // $@73 - S_option_def_list_content = 465, // option_def_list_content - S_not_empty_option_def_list = 466, // not_empty_option_def_list - S_option_def_entry = 467, // option_def_entry - S_468_74 = 468, // $@74 - S_sub_option_def = 469, // sub_option_def + S_RESERVATIONS_GLOBAL = 115, // "reservations-global" + S_RESERVATIONS_IN_SUBNET = 116, // "reservations-in-subnet" + S_RESERVATIONS_OUT_OF_POOL = 117, // "reservations-out-of-pool" + S_MAC_SOURCES = 118, // "mac-sources" + S_RELAY_SUPPLIED_OPTIONS = 119, // "relay-supplied-options" + S_HOST_RESERVATION_IDENTIFIERS = 120, // "host-reservation-identifiers" + S_SANITY_CHECKS = 121, // "sanity-checks" + S_LEASE_CHECKS = 122, // "lease-checks" + S_EXTENDED_INFO_CHECKS = 123, // "extended-info-checks" + S_CLIENT_CLASSES = 124, // "client-classes" + S_REQUIRE_CLIENT_CLASSES = 125, // "require-client-classes" + S_TEST = 126, // "test" + S_TEMPLATE_TEST = 127, // "template-test" + S_ONLY_IF_REQUIRED = 128, // "only-if-required" + S_CLIENT_CLASS = 129, // "client-class" + S_POOL_ID = 130, // "pool-id" + S_RESERVATIONS = 131, // "reservations" + S_IP_ADDRESSES = 132, // "ip-addresses" + S_PREFIXES = 133, // "prefixes" + S_DUID = 134, // "duid" + S_HW_ADDRESS = 135, // "hw-address" + S_HOSTNAME = 136, // "hostname" + S_FLEX_ID = 137, // "flex-id" + S_RELAY = 138, // "relay" + S_HOOKS_LIBRARIES = 139, // "hooks-libraries" + S_LIBRARY = 140, // "library" + S_PARAMETERS = 141, // "parameters" + S_EXPIRED_LEASES_PROCESSING = 142, // "expired-leases-processing" + S_RECLAIM_TIMER_WAIT_TIME = 143, // "reclaim-timer-wait-time" + S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 144, // "flush-reclaimed-timer-wait-time" + S_HOLD_RECLAIMED_TIME = 145, // "hold-reclaimed-time" + S_MAX_RECLAIM_LEASES = 146, // "max-reclaim-leases" + S_MAX_RECLAIM_TIME = 147, // "max-reclaim-time" + S_UNWARNED_RECLAIM_CYCLES = 148, // "unwarned-reclaim-cycles" + S_SERVER_ID = 149, // "server-id" + S_LLT = 150, // "LLT" + S_EN = 151, // "EN" + S_LL = 152, // "LL" + S_IDENTIFIER = 153, // "identifier" + S_HTYPE = 154, // "htype" + S_TIME = 155, // "time" + S_ENTERPRISE_ID = 156, // "enterprise-id" + S_DHCP4O6_PORT = 157, // "dhcp4o6-port" + S_DHCP_MULTI_THREADING = 158, // "multi-threading" + S_ENABLE_MULTI_THREADING = 159, // "enable-multi-threading" + S_THREAD_POOL_SIZE = 160, // "thread-pool-size" + S_PACKET_QUEUE_SIZE = 161, // "packet-queue-size" + S_CONTROL_SOCKET = 162, // "control-socket" + S_SOCKET_TYPE = 163, // "socket-type" + S_SOCKET_NAME = 164, // "socket-name" + S_DHCP_QUEUE_CONTROL = 165, // "dhcp-queue-control" + S_ENABLE_QUEUE = 166, // "enable-queue" + S_QUEUE_TYPE = 167, // "queue-type" + S_CAPACITY = 168, // "capacity" + S_DHCP_DDNS = 169, // "dhcp-ddns" + S_ENABLE_UPDATES = 170, // "enable-updates" + S_SERVER_IP = 171, // "server-ip" + S_SERVER_PORT = 172, // "server-port" + S_SENDER_IP = 173, // "sender-ip" + S_SENDER_PORT = 174, // "sender-port" + S_MAX_QUEUE_SIZE = 175, // "max-queue-size" + S_NCR_PROTOCOL = 176, // "ncr-protocol" + S_NCR_FORMAT = 177, // "ncr-format" + S_UDP = 178, // "UDP" + S_TCP = 179, // "TCP" + S_JSON = 180, // "JSON" + S_WHEN_PRESENT = 181, // "when-present" + S_NEVER = 182, // "never" + S_ALWAYS = 183, // "always" + S_WHEN_NOT_PRESENT = 184, // "when-not-present" + S_HOSTNAME_CHAR_SET = 185, // "hostname-char-set" + S_HOSTNAME_CHAR_REPLACEMENT = 186, // "hostname-char-replacement" + S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 187, // "early-global-reservations-lookup" + S_IP_RESERVATIONS_UNIQUE = 188, // "ip-reservations-unique" + S_RESERVATIONS_LOOKUP_FIRST = 189, // "reservations-lookup-first" + S_LOGGERS = 190, // "loggers" + S_OUTPUT_OPTIONS = 191, // "output-options" + S_OUTPUT = 192, // "output" + S_DEBUGLEVEL = 193, // "debuglevel" + S_SEVERITY = 194, // "severity" + S_FLUSH = 195, // "flush" + S_MAXSIZE = 196, // "maxsize" + S_MAXVER = 197, // "maxver" + S_PATTERN = 198, // "pattern" + S_COMPATIBILITY = 199, // "compatibility" + S_LENIENT_OPTION_PARSING = 200, // "lenient-option-parsing" + S_TOPLEVEL_JSON = 201, // TOPLEVEL_JSON + S_TOPLEVEL_DHCP6 = 202, // TOPLEVEL_DHCP6 + S_SUB_DHCP6 = 203, // SUB_DHCP6 + S_SUB_INTERFACES6 = 204, // SUB_INTERFACES6 + S_SUB_SUBNET6 = 205, // SUB_SUBNET6 + S_SUB_POOL6 = 206, // SUB_POOL6 + S_SUB_PD_POOL = 207, // SUB_PD_POOL + S_SUB_RESERVATION = 208, // SUB_RESERVATION + S_SUB_OPTION_DEFS = 209, // SUB_OPTION_DEFS + S_SUB_OPTION_DEF = 210, // SUB_OPTION_DEF + S_SUB_OPTION_DATA = 211, // SUB_OPTION_DATA + S_SUB_HOOKS_LIBRARY = 212, // SUB_HOOKS_LIBRARY + S_SUB_DHCP_DDNS = 213, // SUB_DHCP_DDNS + S_SUB_CONFIG_CONTROL = 214, // SUB_CONFIG_CONTROL + S_STRING = 215, // "constant string" + S_INTEGER = 216, // "integer" + S_FLOAT = 217, // "floating point" + S_BOOLEAN = 218, // "boolean" + S_YYACCEPT = 219, // $accept + S_start = 220, // start + S_221_1 = 221, // $@1 + S_222_2 = 222, // $@2 + S_223_3 = 223, // $@3 + S_224_4 = 224, // $@4 + S_225_5 = 225, // $@5 + S_226_6 = 226, // $@6 + S_227_7 = 227, // $@7 + S_228_8 = 228, // $@8 + S_229_9 = 229, // $@9 + S_230_10 = 230, // $@10 + S_231_11 = 231, // $@11 + S_232_12 = 232, // $@12 + S_233_13 = 233, // $@13 + S_234_14 = 234, // $@14 + S_value = 235, // value + S_sub_json = 236, // sub_json + S_map2 = 237, // map2 + S_238_15 = 238, // $@15 + S_map_value = 239, // map_value + S_map_content = 240, // map_content + S_not_empty_map = 241, // not_empty_map + S_list_generic = 242, // list_generic + S_243_16 = 243, // $@16 + S_list_content = 244, // list_content + S_not_empty_list = 245, // not_empty_list + S_list_strings = 246, // list_strings + S_247_17 = 247, // $@17 + S_list_strings_content = 248, // list_strings_content + S_not_empty_list_strings = 249, // not_empty_list_strings + S_unknown_map_entry = 250, // unknown_map_entry + S_syntax_map = 251, // syntax_map + S_252_18 = 252, // $@18 + S_global_object = 253, // global_object + S_254_19 = 254, // $@19 + S_global_object_comma = 255, // global_object_comma + S_sub_dhcp6 = 256, // sub_dhcp6 + S_257_20 = 257, // $@20 + S_global_params = 258, // global_params + S_global_param = 259, // global_param + S_data_directory = 260, // data_directory + S_261_21 = 261, // $@21 + S_preferred_lifetime = 262, // preferred_lifetime + S_min_preferred_lifetime = 263, // min_preferred_lifetime + S_max_preferred_lifetime = 264, // max_preferred_lifetime + S_valid_lifetime = 265, // valid_lifetime + S_min_valid_lifetime = 266, // min_valid_lifetime + S_max_valid_lifetime = 267, // max_valid_lifetime + S_renew_timer = 268, // renew_timer + S_rebind_timer = 269, // rebind_timer + S_calculate_tee_times = 270, // calculate_tee_times + S_t1_percent = 271, // t1_percent + S_t2_percent = 272, // t2_percent + S_cache_threshold = 273, // cache_threshold + S_cache_max_age = 274, // cache_max_age + S_decline_probation_period = 275, // decline_probation_period + S_ddns_send_updates = 276, // ddns_send_updates + S_ddns_override_no_update = 277, // ddns_override_no_update + S_ddns_override_client_update = 278, // ddns_override_client_update + S_ddns_replace_client_name = 279, // ddns_replace_client_name + S_280_22 = 280, // $@22 + S_ddns_replace_client_name_value = 281, // ddns_replace_client_name_value + S_ddns_generated_prefix = 282, // ddns_generated_prefix + S_283_23 = 283, // $@23 + S_ddns_qualifying_suffix = 284, // ddns_qualifying_suffix + S_285_24 = 285, // $@24 + S_ddns_update_on_renew = 286, // ddns_update_on_renew + S_ddns_use_conflict_resolution = 287, // ddns_use_conflict_resolution + S_ddns_conflict_resolution_mode = 288, // ddns_conflict_resolution_mode + S_289_25 = 289, // $@25 + S_ddns_conflict_resolution_mode_value = 290, // ddns_conflict_resolution_mode_value + S_ddns_ttl_percent = 291, // ddns_ttl_percent + S_hostname_char_set = 292, // hostname_char_set + S_293_26 = 293, // $@26 + S_hostname_char_replacement = 294, // hostname_char_replacement + S_295_27 = 295, // $@27 + S_store_extended_info = 296, // store_extended_info + S_statistic_default_sample_count = 297, // statistic_default_sample_count + S_statistic_default_sample_age = 298, // statistic_default_sample_age + S_server_tag = 299, // server_tag + S_300_28 = 300, // $@28 + S_parked_packet_limit = 301, // parked_packet_limit + S_allocator = 302, // allocator + S_303_29 = 303, // $@29 + S_pd_allocator = 304, // pd_allocator + S_305_30 = 305, // $@30 + S_early_global_reservations_lookup = 306, // early_global_reservations_lookup + S_ip_reservations_unique = 307, // ip_reservations_unique + S_reservations_lookup_first = 308, // reservations_lookup_first + S_interfaces_config = 309, // interfaces_config + S_310_31 = 310, // $@31 + S_sub_interfaces6 = 311, // sub_interfaces6 + S_312_32 = 312, // $@32 + S_interfaces_config_params = 313, // interfaces_config_params + S_interfaces_config_param = 314, // interfaces_config_param + S_interfaces_list = 315, // interfaces_list + S_316_33 = 316, // $@33 + S_re_detect = 317, // re_detect + S_service_sockets_require_all = 318, // service_sockets_require_all + S_service_sockets_retry_wait_time = 319, // service_sockets_retry_wait_time + S_service_sockets_max_retries = 320, // service_sockets_max_retries + S_lease_database = 321, // lease_database + S_322_34 = 322, // $@34 + S_hosts_database = 323, // hosts_database + S_324_35 = 324, // $@35 + S_hosts_databases = 325, // hosts_databases + S_326_36 = 326, // $@36 + S_database_list = 327, // database_list + S_not_empty_database_list = 328, // not_empty_database_list + S_database = 329, // database + S_330_37 = 330, // $@37 + S_database_map_params = 331, // database_map_params + S_database_map_param = 332, // database_map_param + S_database_type = 333, // database_type + S_334_38 = 334, // $@38 + S_db_type = 335, // db_type + S_user = 336, // user + S_337_39 = 337, // $@39 + S_password = 338, // password + S_339_40 = 339, // $@40 + S_host = 340, // host + S_341_41 = 341, // $@41 + S_port = 342, // port + S_name = 343, // name + S_344_42 = 344, // $@42 + S_persist = 345, // persist + S_lfc_interval = 346, // lfc_interval + S_readonly = 347, // readonly + S_connect_timeout = 348, // connect_timeout + S_read_timeout = 349, // read_timeout + S_write_timeout = 350, // write_timeout + S_tcp_user_timeout = 351, // tcp_user_timeout + S_reconnect_wait_time = 352, // reconnect_wait_time + S_on_fail = 353, // on_fail + S_354_43 = 354, // $@43 + S_on_fail_mode = 355, // on_fail_mode + S_retry_on_startup = 356, // retry_on_startup + S_max_row_errors = 357, // max_row_errors + S_max_reconnect_tries = 358, // max_reconnect_tries + S_trust_anchor = 359, // trust_anchor + S_360_44 = 360, // $@44 + S_cert_file = 361, // cert_file + S_362_45 = 362, // $@45 + S_key_file = 363, // key_file + S_364_46 = 364, // $@46 + S_cipher_list = 365, // cipher_list + S_366_47 = 366, // $@47 + S_sanity_checks = 367, // sanity_checks + S_368_48 = 368, // $@48 + S_sanity_checks_params = 369, // sanity_checks_params + S_sanity_checks_param = 370, // sanity_checks_param + S_lease_checks = 371, // lease_checks + S_372_49 = 372, // $@49 + S_extended_info_checks = 373, // extended_info_checks + S_374_50 = 374, // $@50 + S_mac_sources = 375, // mac_sources + S_376_51 = 376, // $@51 + S_mac_sources_list = 377, // mac_sources_list + S_mac_sources_value = 378, // mac_sources_value + S_duid_id = 379, // duid_id + S_string_id = 380, // string_id + S_host_reservation_identifiers = 381, // host_reservation_identifiers + S_382_52 = 382, // $@52 + S_host_reservation_identifiers_list = 383, // host_reservation_identifiers_list + S_host_reservation_identifier = 384, // host_reservation_identifier + S_hw_address_id = 385, // hw_address_id + S_flex_id = 386, // flex_id + S_relay_supplied_options = 387, // relay_supplied_options + S_388_53 = 388, // $@53 + S_dhcp_multi_threading = 389, // dhcp_multi_threading + S_390_54 = 390, // $@54 + S_multi_threading_params = 391, // multi_threading_params + S_multi_threading_param = 392, // multi_threading_param + S_enable_multi_threading = 393, // enable_multi_threading + S_thread_pool_size = 394, // thread_pool_size + S_packet_queue_size = 395, // packet_queue_size + S_hooks_libraries = 396, // hooks_libraries + S_397_55 = 397, // $@55 + S_hooks_libraries_list = 398, // hooks_libraries_list + S_not_empty_hooks_libraries_list = 399, // not_empty_hooks_libraries_list + S_hooks_library = 400, // hooks_library + S_401_56 = 401, // $@56 + S_sub_hooks_library = 402, // sub_hooks_library + S_403_57 = 403, // $@57 + S_hooks_params = 404, // hooks_params + S_hooks_param = 405, // hooks_param + S_library = 406, // library + S_407_58 = 407, // $@58 + S_parameters = 408, // parameters + S_409_59 = 409, // $@59 + S_expired_leases_processing = 410, // expired_leases_processing + S_411_60 = 411, // $@60 + S_expired_leases_params = 412, // expired_leases_params + S_expired_leases_param = 413, // expired_leases_param + S_reclaim_timer_wait_time = 414, // reclaim_timer_wait_time + S_flush_reclaimed_timer_wait_time = 415, // flush_reclaimed_timer_wait_time + S_hold_reclaimed_time = 416, // hold_reclaimed_time + S_max_reclaim_leases = 417, // max_reclaim_leases + S_max_reclaim_time = 418, // max_reclaim_time + S_unwarned_reclaim_cycles = 419, // unwarned_reclaim_cycles + S_subnet6_list = 420, // subnet6_list + S_421_61 = 421, // $@61 + S_subnet6_list_content = 422, // subnet6_list_content + S_not_empty_subnet6_list = 423, // not_empty_subnet6_list + S_subnet6 = 424, // subnet6 + S_425_62 = 425, // $@62 + S_sub_subnet6 = 426, // sub_subnet6 + S_427_63 = 427, // $@63 + S_subnet6_params = 428, // subnet6_params + S_subnet6_param = 429, // subnet6_param + S_subnet = 430, // subnet + S_431_64 = 431, // $@64 + S_interface = 432, // interface + S_433_65 = 433, // $@65 + S_interface_id = 434, // interface_id + S_435_66 = 435, // $@66 + S_client_class = 436, // client_class + S_437_67 = 437, // $@67 + S_require_client_classes = 438, // require_client_classes + S_439_68 = 439, // $@68 + S_reservations_global = 440, // reservations_global + S_reservations_in_subnet = 441, // reservations_in_subnet + S_reservations_out_of_pool = 442, // reservations_out_of_pool + S_id = 443, // id + S_rapid_commit = 444, // rapid_commit + S_shared_networks = 445, // shared_networks + S_446_69 = 446, // $@69 + S_shared_networks_content = 447, // shared_networks_content + S_shared_networks_list = 448, // shared_networks_list + S_shared_network = 449, // shared_network + S_450_70 = 450, // $@70 + S_shared_network_params = 451, // shared_network_params + S_shared_network_param = 452, // shared_network_param + S_option_def_list = 453, // option_def_list + S_454_71 = 454, // $@71 + S_sub_option_def_list = 455, // sub_option_def_list + S_456_72 = 456, // $@72 + S_option_def_list_content = 457, // option_def_list_content + S_not_empty_option_def_list = 458, // not_empty_option_def_list + S_option_def_entry = 459, // option_def_entry + S_460_73 = 460, // $@73 + S_sub_option_def = 461, // sub_option_def + S_462_74 = 462, // $@74 + S_option_def_params = 463, // option_def_params + S_not_empty_option_def_params = 464, // not_empty_option_def_params + S_option_def_param = 465, // option_def_param + S_option_def_name = 466, // option_def_name + S_code = 467, // code + S_option_def_code = 468, // option_def_code + S_option_def_type = 469, // option_def_type S_470_75 = 470, // $@75 - S_option_def_params = 471, // option_def_params - S_not_empty_option_def_params = 472, // not_empty_option_def_params - S_option_def_param = 473, // option_def_param - S_option_def_name = 474, // option_def_name - S_code = 475, // code - S_option_def_code = 476, // option_def_code - S_option_def_type = 477, // option_def_type - S_478_76 = 478, // $@76 - S_option_def_record_types = 479, // option_def_record_types - S_480_77 = 480, // $@77 - S_space = 481, // space - S_482_78 = 482, // $@78 - S_option_def_space = 483, // option_def_space - S_option_def_encapsulate = 484, // option_def_encapsulate - S_485_79 = 485, // $@79 - S_option_def_array = 486, // option_def_array - S_option_data_list = 487, // option_data_list - S_488_80 = 488, // $@80 - S_option_data_list_content = 489, // option_data_list_content - S_not_empty_option_data_list = 490, // not_empty_option_data_list - S_option_data_entry = 491, // option_data_entry - S_492_81 = 492, // $@81 - S_sub_option_data = 493, // sub_option_data - S_494_82 = 494, // $@82 - S_option_data_params = 495, // option_data_params - S_not_empty_option_data_params = 496, // not_empty_option_data_params - S_option_data_param = 497, // option_data_param - S_option_data_name = 498, // option_data_name - S_option_data_data = 499, // option_data_data - S_500_83 = 500, // $@83 - S_option_data_code = 501, // option_data_code - S_option_data_space = 502, // option_data_space - S_option_data_csv_format = 503, // option_data_csv_format - S_option_data_always_send = 504, // option_data_always_send - S_option_data_never_send = 505, // option_data_never_send - S_pools_list = 506, // pools_list - S_507_84 = 507, // $@84 - S_pools_list_content = 508, // pools_list_content - S_not_empty_pools_list = 509, // not_empty_pools_list - S_pool_list_entry = 510, // pool_list_entry - S_511_85 = 511, // $@85 - S_sub_pool6 = 512, // sub_pool6 - S_513_86 = 513, // $@86 - S_pool_params = 514, // pool_params - S_pool_param = 515, // pool_param - S_pool_entry = 516, // pool_entry - S_517_87 = 517, // $@87 - S_pool_id = 518, // pool_id - S_user_context = 519, // user_context - S_520_88 = 520, // $@88 - S_comment = 521, // comment - S_522_89 = 522, // $@89 - S_pd_pools_list = 523, // pd_pools_list - S_524_90 = 524, // $@90 - S_pd_pools_list_content = 525, // pd_pools_list_content - S_not_empty_pd_pools_list = 526, // not_empty_pd_pools_list - S_pd_pool_entry = 527, // pd_pool_entry - S_528_91 = 528, // $@91 - S_sub_pd_pool = 529, // sub_pd_pool - S_530_92 = 530, // $@92 - S_pd_pool_params = 531, // pd_pool_params - S_pd_pool_param = 532, // pd_pool_param - S_pd_prefix = 533, // pd_prefix - S_534_93 = 534, // $@93 - S_pd_prefix_len = 535, // pd_prefix_len - S_excluded_prefix = 536, // excluded_prefix - S_537_94 = 537, // $@94 - S_excluded_prefix_len = 538, // excluded_prefix_len - S_pd_delegated_len = 539, // pd_delegated_len - S_reservations = 540, // reservations - S_541_95 = 541, // $@95 - S_reservations_list = 542, // reservations_list - S_not_empty_reservations_list = 543, // not_empty_reservations_list - S_reservation = 544, // reservation - S_545_96 = 545, // $@96 - S_sub_reservation = 546, // sub_reservation - S_547_97 = 547, // $@97 - S_reservation_params = 548, // reservation_params - S_not_empty_reservation_params = 549, // not_empty_reservation_params - S_reservation_param = 550, // reservation_param - S_ip_addresses = 551, // ip_addresses - S_552_98 = 552, // $@98 - S_prefixes = 553, // prefixes - S_554_99 = 554, // $@99 - S_duid = 555, // duid - S_556_100 = 556, // $@100 - S_hw_address = 557, // hw_address - S_558_101 = 558, // $@101 - S_hostname = 559, // hostname - S_560_102 = 560, // $@102 - S_flex_id_value = 561, // flex_id_value - S_562_103 = 562, // $@103 - S_reservation_client_classes = 563, // reservation_client_classes - S_564_104 = 564, // $@104 - S_relay = 565, // relay - S_566_105 = 566, // $@105 - S_relay_map = 567, // relay_map - S_client_classes = 568, // client_classes - S_569_106 = 569, // $@106 - S_client_classes_list = 570, // client_classes_list - S_client_class_entry = 571, // client_class_entry - S_572_107 = 572, // $@107 - S_client_class_params = 573, // client_class_params - S_not_empty_client_class_params = 574, // not_empty_client_class_params - S_client_class_param = 575, // client_class_param - S_client_class_name = 576, // client_class_name - S_client_class_test = 577, // client_class_test - S_578_108 = 578, // $@108 - S_client_class_template_test = 579, // client_class_template_test - S_580_109 = 580, // $@109 - S_only_if_required = 581, // only_if_required - S_server_id = 582, // server_id - S_583_110 = 583, // $@110 - S_server_id_params = 584, // server_id_params - S_server_id_param = 585, // server_id_param - S_server_id_type = 586, // server_id_type - S_587_111 = 587, // $@111 - S_duid_type = 588, // duid_type - S_htype = 589, // htype - S_identifier = 590, // identifier - S_591_112 = 591, // $@112 - S_time = 592, // time - S_enterprise_id = 593, // enterprise_id - S_dhcp4o6_port = 594, // dhcp4o6_port - S_control_socket = 595, // control_socket - S_596_113 = 596, // $@113 - S_control_socket_params = 597, // control_socket_params - S_control_socket_param = 598, // control_socket_param - S_socket_type = 599, // socket_type - S_600_114 = 600, // $@114 - S_socket_name = 601, // socket_name - S_602_115 = 602, // $@115 - S_dhcp_queue_control = 603, // dhcp_queue_control - S_604_116 = 604, // $@116 - S_queue_control_params = 605, // queue_control_params - S_queue_control_param = 606, // queue_control_param - S_enable_queue = 607, // enable_queue - S_queue_type = 608, // queue_type - S_609_117 = 609, // $@117 - S_capacity = 610, // capacity - S_arbitrary_map_entry = 611, // arbitrary_map_entry - S_612_118 = 612, // $@118 - S_dhcp_ddns = 613, // dhcp_ddns - S_614_119 = 614, // $@119 - S_sub_dhcp_ddns = 615, // sub_dhcp_ddns - S_616_120 = 616, // $@120 - S_dhcp_ddns_params = 617, // dhcp_ddns_params - S_dhcp_ddns_param = 618, // dhcp_ddns_param - S_enable_updates = 619, // enable_updates - S_server_ip = 620, // server_ip - S_621_121 = 621, // $@121 - S_server_port = 622, // server_port - S_sender_ip = 623, // sender_ip - S_624_122 = 624, // $@122 - S_sender_port = 625, // sender_port - S_max_queue_size = 626, // max_queue_size - S_ncr_protocol = 627, // ncr_protocol - S_628_123 = 628, // $@123 - S_ncr_protocol_value = 629, // ncr_protocol_value - S_ncr_format = 630, // ncr_format - S_631_124 = 631, // $@124 - S_config_control = 632, // config_control - S_633_125 = 633, // $@125 - S_sub_config_control = 634, // sub_config_control - S_635_126 = 635, // $@126 - S_config_control_params = 636, // config_control_params - S_config_control_param = 637, // config_control_param - S_config_databases = 638, // config_databases - S_639_127 = 639, // $@127 - S_config_fetch_wait_time = 640, // config_fetch_wait_time - S_loggers = 641, // loggers - S_642_128 = 642, // $@128 - S_loggers_entries = 643, // loggers_entries - S_logger_entry = 644, // logger_entry - S_645_129 = 645, // $@129 - S_logger_params = 646, // logger_params - S_logger_param = 647, // logger_param - S_debuglevel = 648, // debuglevel - S_severity = 649, // severity - S_650_130 = 650, // $@130 - S_output_options_list = 651, // output_options_list - S_652_131 = 652, // $@131 - S_output_options_list_content = 653, // output_options_list_content - S_output_entry = 654, // output_entry - S_655_132 = 655, // $@132 - S_output_params_list = 656, // output_params_list - S_output_params = 657, // output_params - S_output = 658, // output - S_659_133 = 659, // $@133 - S_flush = 660, // flush - S_maxsize = 661, // maxsize - S_maxver = 662, // maxver - S_pattern = 663, // pattern - S_664_134 = 664, // $@134 - S_compatibility = 665, // compatibility - S_666_135 = 666, // $@135 - S_compatibility_params = 667, // compatibility_params - S_compatibility_param = 668, // compatibility_param - S_lenient_option_parsing = 669 // lenient_option_parsing + S_option_def_record_types = 471, // option_def_record_types + S_472_76 = 472, // $@76 + S_space = 473, // space + S_474_77 = 474, // $@77 + S_option_def_space = 475, // option_def_space + S_option_def_encapsulate = 476, // option_def_encapsulate + S_477_78 = 477, // $@78 + S_option_def_array = 478, // option_def_array + S_option_data_list = 479, // option_data_list + S_480_79 = 480, // $@79 + S_option_data_list_content = 481, // option_data_list_content + S_not_empty_option_data_list = 482, // not_empty_option_data_list + S_option_data_entry = 483, // option_data_entry + S_484_80 = 484, // $@80 + S_sub_option_data = 485, // sub_option_data + S_486_81 = 486, // $@81 + S_option_data_params = 487, // option_data_params + S_not_empty_option_data_params = 488, // not_empty_option_data_params + S_option_data_param = 489, // option_data_param + S_option_data_name = 490, // option_data_name + S_option_data_data = 491, // option_data_data + S_492_82 = 492, // $@82 + S_option_data_code = 493, // option_data_code + S_option_data_space = 494, // option_data_space + S_option_data_csv_format = 495, // option_data_csv_format + S_option_data_always_send = 496, // option_data_always_send + S_option_data_never_send = 497, // option_data_never_send + S_pools_list = 498, // pools_list + S_499_83 = 499, // $@83 + S_pools_list_content = 500, // pools_list_content + S_not_empty_pools_list = 501, // not_empty_pools_list + S_pool_list_entry = 502, // pool_list_entry + S_503_84 = 503, // $@84 + S_sub_pool6 = 504, // sub_pool6 + S_505_85 = 505, // $@85 + S_pool_params = 506, // pool_params + S_pool_param = 507, // pool_param + S_pool_entry = 508, // pool_entry + S_509_86 = 509, // $@86 + S_pool_id = 510, // pool_id + S_user_context = 511, // user_context + S_512_87 = 512, // $@87 + S_comment = 513, // comment + S_514_88 = 514, // $@88 + S_pd_pools_list = 515, // pd_pools_list + S_516_89 = 516, // $@89 + S_pd_pools_list_content = 517, // pd_pools_list_content + S_not_empty_pd_pools_list = 518, // not_empty_pd_pools_list + S_pd_pool_entry = 519, // pd_pool_entry + S_520_90 = 520, // $@90 + S_sub_pd_pool = 521, // sub_pd_pool + S_522_91 = 522, // $@91 + S_pd_pool_params = 523, // pd_pool_params + S_pd_pool_param = 524, // pd_pool_param + S_pd_prefix = 525, // pd_prefix + S_526_92 = 526, // $@92 + S_pd_prefix_len = 527, // pd_prefix_len + S_excluded_prefix = 528, // excluded_prefix + S_529_93 = 529, // $@93 + S_excluded_prefix_len = 530, // excluded_prefix_len + S_pd_delegated_len = 531, // pd_delegated_len + S_reservations = 532, // reservations + S_533_94 = 533, // $@94 + S_reservations_list = 534, // reservations_list + S_not_empty_reservations_list = 535, // not_empty_reservations_list + S_reservation = 536, // reservation + S_537_95 = 537, // $@95 + S_sub_reservation = 538, // sub_reservation + S_539_96 = 539, // $@96 + S_reservation_params = 540, // reservation_params + S_not_empty_reservation_params = 541, // not_empty_reservation_params + S_reservation_param = 542, // reservation_param + S_ip_addresses = 543, // ip_addresses + S_544_97 = 544, // $@97 + S_prefixes = 545, // prefixes + S_546_98 = 546, // $@98 + S_duid = 547, // duid + S_548_99 = 548, // $@99 + S_hw_address = 549, // hw_address + S_550_100 = 550, // $@100 + S_hostname = 551, // hostname + S_552_101 = 552, // $@101 + S_flex_id_value = 553, // flex_id_value + S_554_102 = 554, // $@102 + S_reservation_client_classes = 555, // reservation_client_classes + S_556_103 = 556, // $@103 + S_relay = 557, // relay + S_558_104 = 558, // $@104 + S_relay_map = 559, // relay_map + S_client_classes = 560, // client_classes + S_561_105 = 561, // $@105 + S_client_classes_list = 562, // client_classes_list + S_client_class_entry = 563, // client_class_entry + S_564_106 = 564, // $@106 + S_client_class_params = 565, // client_class_params + S_not_empty_client_class_params = 566, // not_empty_client_class_params + S_client_class_param = 567, // client_class_param + S_client_class_name = 568, // client_class_name + S_client_class_test = 569, // client_class_test + S_570_107 = 570, // $@107 + S_client_class_template_test = 571, // client_class_template_test + S_572_108 = 572, // $@108 + S_only_if_required = 573, // only_if_required + S_server_id = 574, // server_id + S_575_109 = 575, // $@109 + S_server_id_params = 576, // server_id_params + S_server_id_param = 577, // server_id_param + S_server_id_type = 578, // server_id_type + S_579_110 = 579, // $@110 + S_duid_type = 580, // duid_type + S_htype = 581, // htype + S_identifier = 582, // identifier + S_583_111 = 583, // $@111 + S_time = 584, // time + S_enterprise_id = 585, // enterprise_id + S_dhcp4o6_port = 586, // dhcp4o6_port + S_control_socket = 587, // control_socket + S_588_112 = 588, // $@112 + S_control_socket_params = 589, // control_socket_params + S_control_socket_param = 590, // control_socket_param + S_socket_type = 591, // socket_type + S_592_113 = 592, // $@113 + S_socket_name = 593, // socket_name + S_594_114 = 594, // $@114 + S_dhcp_queue_control = 595, // dhcp_queue_control + S_596_115 = 596, // $@115 + S_queue_control_params = 597, // queue_control_params + S_queue_control_param = 598, // queue_control_param + S_enable_queue = 599, // enable_queue + S_queue_type = 600, // queue_type + S_601_116 = 601, // $@116 + S_capacity = 602, // capacity + S_arbitrary_map_entry = 603, // arbitrary_map_entry + S_604_117 = 604, // $@117 + S_dhcp_ddns = 605, // dhcp_ddns + S_606_118 = 606, // $@118 + S_sub_dhcp_ddns = 607, // sub_dhcp_ddns + S_608_119 = 608, // $@119 + S_dhcp_ddns_params = 609, // dhcp_ddns_params + S_dhcp_ddns_param = 610, // dhcp_ddns_param + S_enable_updates = 611, // enable_updates + S_server_ip = 612, // server_ip + S_613_120 = 613, // $@120 + S_server_port = 614, // server_port + S_sender_ip = 615, // sender_ip + S_616_121 = 616, // $@121 + S_sender_port = 617, // sender_port + S_max_queue_size = 618, // max_queue_size + S_ncr_protocol = 619, // ncr_protocol + S_620_122 = 620, // $@122 + S_ncr_protocol_value = 621, // ncr_protocol_value + S_ncr_format = 622, // ncr_format + S_623_123 = 623, // $@123 + S_config_control = 624, // config_control + S_625_124 = 625, // $@124 + S_sub_config_control = 626, // sub_config_control + S_627_125 = 627, // $@125 + S_config_control_params = 628, // config_control_params + S_config_control_param = 629, // config_control_param + S_config_databases = 630, // config_databases + S_631_126 = 631, // $@126 + S_config_fetch_wait_time = 632, // config_fetch_wait_time + S_loggers = 633, // loggers + S_634_127 = 634, // $@127 + S_loggers_entries = 635, // loggers_entries + S_logger_entry = 636, // logger_entry + S_637_128 = 637, // $@128 + S_logger_params = 638, // logger_params + S_logger_param = 639, // logger_param + S_debuglevel = 640, // debuglevel + S_severity = 641, // severity + S_642_129 = 642, // $@129 + S_output_options_list = 643, // output_options_list + S_644_130 = 644, // $@130 + S_output_options_list_content = 645, // output_options_list_content + S_output_entry = 646, // output_entry + S_647_131 = 647, // $@131 + S_output_params_list = 648, // output_params_list + S_output_params = 649, // output_params + S_output = 650, // output + S_651_132 = 651, // $@132 + S_flush = 652, // flush + S_maxsize = 653, // maxsize + S_maxver = 654, // maxver + S_pattern = 655, // pattern + S_656_133 = 656, // $@133 + S_compatibility = 657, // compatibility + S_658_134 = 658, // $@134 + S_compatibility_params = 659, // compatibility_params + S_compatibility_param = 660, // compatibility_param + S_lenient_option_parsing = 661 // lenient_option_parsing }; }; @@ -1450,7 +1436,6 @@ namespace isc { namespace dhcp { case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (std::move (that.value)); @@ -1595,7 +1580,6 @@ switch (yykind) case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.template destroy< ElementPtr > (); @@ -3539,81 +3523,6 @@ switch (yykind) return symbol_type (token::TOKEN_RAPID_COMMIT, l); } #endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_RESERVATION_MODE (location_type l) - { - return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l)); - } -#else - static - symbol_type - make_RESERVATION_MODE (const location_type& l) - { - return symbol_type (token::TOKEN_RESERVATION_MODE, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_DISABLED (location_type l) - { - return symbol_type (token::TOKEN_DISABLED, std::move (l)); - } -#else - static - symbol_type - make_DISABLED (const location_type& l) - { - return symbol_type (token::TOKEN_DISABLED, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_OUT_OF_POOL (location_type l) - { - return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l)); - } -#else - static - symbol_type - make_OUT_OF_POOL (const location_type& l) - { - return symbol_type (token::TOKEN_OUT_OF_POOL, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_GLOBAL (location_type l) - { - return symbol_type (token::TOKEN_GLOBAL, std::move (l)); - } -#else - static - symbol_type - make_GLOBAL (const location_type& l) - { - return symbol_type (token::TOKEN_GLOBAL, l); - } -#endif -#if 201103L <= YY_CPLUSPLUS - static - symbol_type - make_ALL (location_type l) - { - return symbol_type (token::TOKEN_ALL, std::move (l)); - } -#else - static - symbol_type - make_ALL (const location_type& l) - { - return symbol_type (token::TOKEN_ALL, l); - } -#endif #if 201103L <= YY_CPLUSPLUS static symbol_type @@ -5504,8 +5413,8 @@ switch (yykind) /// Constants. enum { - yylast_ = 1358, ///< Last index in yytable_. - yynnts_ = 446, ///< Number of nonterminal symbols. + yylast_ = 1346, ///< Last index in yytable_. + yynnts_ = 443, ///< Number of nonterminal symbols. yyfinal_ = 30 ///< Termination state number. }; @@ -5572,10 +5481,10 @@ switch (yykind) 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, - 215, 216, 217, 218, 219, 220, 221, 222, 223 + 215, 216, 217, 218 }; // Last valid token kind. - const int code_max = 478; + const int code_max = 473; if (t <= 0) return symbol_kind::S_YYEOF; @@ -5600,7 +5509,6 @@ switch (yykind) case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.copy< ElementPtr > (YY_MOVE (that.value)); @@ -5659,7 +5567,6 @@ switch (yykind) case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value case symbol_kind::S_db_type: // db_type case symbol_kind::S_on_fail_mode: // on_fail_mode - case symbol_kind::S_hr_mode: // hr_mode case symbol_kind::S_duid_type: // duid_type case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value value.move< ElementPtr > (YY_MOVE (s.value)); @@ -5748,7 +5655,7 @@ switch (yykind) #line 14 "dhcp6_parser.yy" } } // isc::dhcp -#line 5752 "dhcp6_parser.h" +#line 5659 "dhcp6_parser.h"