1#line 1 "netconf_lexer.cc"
3#line 3 "netconf_lexer.cc"
5#define YY_INT_ALIGNED short int
12#define yy_create_buffer netconf__create_buffer
13#define yy_delete_buffer netconf__delete_buffer
14#define yy_scan_buffer netconf__scan_buffer
15#define yy_scan_string netconf__scan_string
16#define yy_scan_bytes netconf__scan_bytes
17#define yy_init_buffer netconf__init_buffer
18#define yy_flush_buffer netconf__flush_buffer
19#define yy_load_buffer_state netconf__load_buffer_state
20#define yy_switch_to_buffer netconf__switch_to_buffer
21#define yypush_buffer_state netconf_push_buffer_state
22#define yypop_buffer_state netconf_pop_buffer_state
23#define yyensure_buffer_stack netconf_ensure_buffer_stack
24#define yy_flex_debug netconf__flex_debug
25#define yyin netconf_in
26#define yyleng netconf_leng
27#define yylex netconf_lex
28#define yylineno netconf_lineno
29#define yyout netconf_out
30#define yyrestart netconf_restart
31#define yytext netconf_text
32#define yywrap netconf_wrap
33#define yyalloc netconf_alloc
34#define yyrealloc netconf_realloc
35#define yyfree netconf_free
42#define YY_FLEX_MAJOR_VERSION 2
43#define YY_FLEX_MINOR_VERSION 6
44#define YY_FLEX_SUBMINOR_VERSION 4
45#if YY_FLEX_SUBMINOR_VERSION > 0
53#ifdef yy_create_buffer
54#define netconf__create_buffer_ALREADY_DEFINED
56#define yy_create_buffer netconf__create_buffer
59#ifdef yy_delete_buffer
60#define netconf__delete_buffer_ALREADY_DEFINED
62#define yy_delete_buffer netconf__delete_buffer
66#define netconf__scan_buffer_ALREADY_DEFINED
68#define yy_scan_buffer netconf__scan_buffer
72#define netconf__scan_string_ALREADY_DEFINED
74#define yy_scan_string netconf__scan_string
78#define netconf__scan_bytes_ALREADY_DEFINED
80#define yy_scan_bytes netconf__scan_bytes
84#define netconf__init_buffer_ALREADY_DEFINED
86#define yy_init_buffer netconf__init_buffer
90#define netconf__flush_buffer_ALREADY_DEFINED
92#define yy_flush_buffer netconf__flush_buffer
95#ifdef yy_load_buffer_state
96#define netconf__load_buffer_state_ALREADY_DEFINED
98#define yy_load_buffer_state netconf__load_buffer_state
101#ifdef yy_switch_to_buffer
102#define netconf__switch_to_buffer_ALREADY_DEFINED
104#define yy_switch_to_buffer netconf__switch_to_buffer
107#ifdef yypush_buffer_state
108#define netconf_push_buffer_state_ALREADY_DEFINED
110#define yypush_buffer_state netconf_push_buffer_state
113#ifdef yypop_buffer_state
114#define netconf_pop_buffer_state_ALREADY_DEFINED
116#define yypop_buffer_state netconf_pop_buffer_state
119#ifdef yyensure_buffer_stack
120#define netconf_ensure_buffer_stack_ALREADY_DEFINED
122#define yyensure_buffer_stack netconf_ensure_buffer_stack
126#define netconf_lex_ALREADY_DEFINED
128#define yylex netconf_lex
132#define netconf_restart_ALREADY_DEFINED
134#define yyrestart netconf_restart
138#define netconf_lex_init_ALREADY_DEFINED
140#define yylex_init netconf_lex_init
143#ifdef yylex_init_extra
144#define netconf_lex_init_extra_ALREADY_DEFINED
146#define yylex_init_extra netconf_lex_init_extra
150#define netconf_lex_destroy_ALREADY_DEFINED
152#define yylex_destroy netconf_lex_destroy
156#define netconf_get_debug_ALREADY_DEFINED
158#define yyget_debug netconf_get_debug
162#define netconf_set_debug_ALREADY_DEFINED
164#define yyset_debug netconf_set_debug
168#define netconf_get_extra_ALREADY_DEFINED
170#define yyget_extra netconf_get_extra
174#define netconf_set_extra_ALREADY_DEFINED
176#define yyset_extra netconf_set_extra
180#define netconf_get_in_ALREADY_DEFINED
182#define yyget_in netconf_get_in
186#define netconf_set_in_ALREADY_DEFINED
188#define yyset_in netconf_set_in
192#define netconf_get_out_ALREADY_DEFINED
194#define yyget_out netconf_get_out
198#define netconf_set_out_ALREADY_DEFINED
200#define yyset_out netconf_set_out
204#define netconf_get_leng_ALREADY_DEFINED
206#define yyget_leng netconf_get_leng
210#define netconf_get_text_ALREADY_DEFINED
212#define yyget_text netconf_get_text
216#define netconf_get_lineno_ALREADY_DEFINED
218#define yyget_lineno netconf_get_lineno
222#define netconf_set_lineno_ALREADY_DEFINED
224#define yyset_lineno netconf_set_lineno
228#define netconf_wrap_ALREADY_DEFINED
230#define yywrap netconf_wrap
236#define netconf_alloc_ALREADY_DEFINED
238#define yyalloc netconf_alloc
242#define netconf_realloc_ALREADY_DEFINED
244#define yyrealloc netconf_realloc
248#define netconf_free_ALREADY_DEFINED
250#define yyfree netconf_free
256#define netconf_text_ALREADY_DEFINED
258#define yytext netconf_text
262#define netconf_leng_ALREADY_DEFINED
264#define yyleng netconf_leng
268#define netconf_in_ALREADY_DEFINED
270#define yyin netconf_in
274#define netconf_out_ALREADY_DEFINED
276#define yyout netconf_out
280#define netconf__flex_debug_ALREADY_DEFINED
282#define yy_flex_debug netconf__flex_debug
286#define netconf_lineno_ALREADY_DEFINED
288#define yylineno netconf_lineno
315#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320#ifndef __STDC_LIMIT_MACROS
321#define __STDC_LIMIT_MACROS 1
341#define INT8_MIN (-128)
344#define INT16_MIN (-32767-1)
347#define INT32_MIN (-2147483647-1)
350#define INT8_MAX (127)
353#define INT16_MAX (32767)
356#define INT32_MAX (2147483647)
359#define UINT8_MAX (255U)
362#define UINT16_MAX (65535U)
365#define UINT32_MAX (4294967295U)
369#define SIZE_MAX (~(size_t)0)
385#if defined(__GNUC__) && __GNUC__ >= 3
386#define yynoreturn __attribute__((__noreturn__))
400#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
414#define BEGIN (yy_start) = 1 + 2 *
419#define YY_START (((yy_start) - 1) / 2)
420#define YYSTATE YY_START
422#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
424#define YY_NEW_FILE yyrestart( yyin )
425#define YY_END_OF_BUFFER_CHAR 0
434#define YY_BUF_SIZE 32768
436#define YY_BUF_SIZE 16384
442#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
444#ifndef YY_TYPEDEF_YY_BUFFER_STATE
445#define YY_TYPEDEF_YY_BUFFER_STATE
449#ifndef YY_TYPEDEF_YY_SIZE_T
450#define YY_TYPEDEF_YY_SIZE_T
464#define EOB_ACT_CONTINUE_SCAN 0
465#define EOB_ACT_END_OF_FILE 1
466#define EOB_ACT_LAST_MATCH 2
468 #define YY_LESS_LINENO(n)
469 #define YY_LINENO_REWIND_TO(ptr)
476 int yyless_macro_arg = (n); \
477 YY_LESS_LINENO(yyless_macro_arg);\
478 *yy_cp = (yy_hold_char); \
479 YY_RESTORE_YY_MORE_OFFSET \
480 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
481 YY_DO_BEFORE_ACTION; \
484#define unput(c) yyunput( c, (yytext_ptr) )
486#ifndef YY_STRUCT_YY_BUFFER_STATE
487#define YY_STRUCT_YY_BUFFER_STATE
539#define YY_BUFFER_NEW 0
540#define YY_BUFFER_NORMAL 1
551#define YY_BUFFER_EOF_PENDING 2
561static size_t yy_buffer_stack_top = 0;
562static size_t yy_buffer_stack_max = 0;
575#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
576 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
581#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
588static char yy_hold_char;
589static int yy_n_chars;
593static char *yy_c_buf_p = NULL;
594static int yy_init = 0;
595static int yy_start = 0;
600static int yy_did_buffer_switch_on_eof;
616#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
628#define yy_new_buffer yy_create_buffer
629#define yy_set_interactive(is_interactive) \
631 if ( ! YY_CURRENT_BUFFER ){ \
632 yyensure_buffer_stack (); \
633 YY_CURRENT_BUFFER_LVALUE = \
634 yy_create_buffer( yyin, YY_BUF_SIZE ); \
636 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
638#define yy_set_bol(at_bol) \
640 if ( ! YY_CURRENT_BUFFER ){\
641 yyensure_buffer_stack (); \
642 YY_CURRENT_BUFFER_LVALUE = \
643 yy_create_buffer( yyin, YY_BUF_SIZE ); \
645 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
647#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
652#define netconf_wrap() (1)
653#define YY_SKIP_YYWRAP
669#define yytext_ptr yytext
677static int yy_get_next_buffer (
void );
678static void yynoreturn yy_fatal_error (
const char* msg );
685#define YY_DO_BEFORE_ACTION \
686 (yytext_ptr) = yy_bp; \
688 yyleng = (int) (yy_cp - yy_bp); \
689 (yy_hold_char) = *yy_cp; \
692 (yy_c_buf_p) = yy_cp;
694#define YY_NUM_RULES 64
695#define YY_END_OF_BUFFER 65
705 57, 57, 0, 0, 0, 0, 0, 0, 0, 0,
706 65, 63, 10, 11, 63, 1, 57, 53, 57, 57,
707 63, 56, 56, 54, 63, 63, 63, 63, 63, 49,
708 50, 63, 63, 63, 51, 52, 5, 5, 5, 63,
709 63, 63, 10, 11, 0, 0, 44, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 1, 57, 57, 0, 56, 56, 57, 3,
712 2, 55, 56, 6, 0, 57, 0, 0, 0, 0,
713 0, 0, 4, 0, 0, 9, 0, 45, 0, 0,
714 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
718 0, 0, 0, 8, 0, 0, 46, 48, 0, 0,
719 0, 0, 21, 0, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 62, 60, 0, 59, 58,
722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
724 0, 0, 0, 0, 0, 0, 0, 0, 61, 58,
725 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727 0, 25, 0, 0, 0, 0, 0, 0, 34, 0,
728 0, 0, 0, 0, 0, 0, 24, 0, 0, 0,
729 0, 0, 0, 0, 0, 19, 20, 38, 0, 0,
730 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
731 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 40, 37, 0, 0, 0,
733 0, 0, 0, 26, 0, 0, 0, 12, 0, 14,
734 0, 0, 0, 31, 33, 0, 39, 0, 0, 0,
735 41, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 42,
740 0, 0, 0, 0, 32, 0, 0, 29, 0, 0,
741 0, 15, 0, 0, 0, 0, 0, 28, 27, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 13, 0,
743 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
744 36, 35, 0, 0, 30, 18, 0, 0, 0, 17,
748static const YY_CHAR yy_ec[256] =
750 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
751 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
753 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
754 5, 8, 9, 10, 11, 12, 13, 14, 15, 16,
755 15, 17, 15, 18, 15, 15, 15, 19, 5, 20,
756 5, 21, 22, 5, 23, 24, 24, 24, 25, 26,
757 5, 5, 5, 5, 5, 27, 5, 28, 5, 5,
758 5, 29, 30, 31, 32, 5, 5, 5, 5, 5,
759 33, 34, 35, 5, 36, 5, 37, 38, 39, 40,
761 41, 42, 43, 44, 45, 5, 46, 47, 48, 49,
762 50, 51, 5, 52, 53, 54, 55, 56, 5, 57,
763 58, 59, 60, 5, 61, 5, 5, 5, 5, 5,
764 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
765 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
766 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
767 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
768 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
769 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
770 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
772 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
773 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
774 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
775 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
776 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
780static const YY_CHAR yy_meta[62] =
782 1, 1, 2, 1, 1, 3, 1, 1, 1, 1,
783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
793 0, 0, 60, 63, 66, 0, 64, 68, 65, 67,
794 288, 2551, 86, 281, 127, 0, 107, 2551, 122, 127,
795 85, 172, 184, 2551, 259, 142, 77, 63, 102, 2551,
796 2551, 79, 117, 121, 2551, 2551, 2551, 101, 265, 221,
797 0, 228, 102, 236, 158, 202, 2551, 209, 210, 226,
798 232, 239, 255, 266, 284, 290, 302, 308, 320, 342,
799 350, 364, 0, 344, 363, 391, 398, 410, 415, 2551,
800 0, 429, 443, 2551, 203, 403, 167, 179, 130, 204,
801 227, 138, 2551, 183, 189, 2551, 173, 2551, 456, 447,
802 185, 470, 506, 485, 535, 494, 548, 554, 560, 569,
804 575, 589, 596, 604, 610, 630, 639, 645, 653, 664,
805 674, 682, 688, 704, 722, 0, 194, 248, 205, 241,
806 250, 212, 134, 2551, 728, 140, 2551, 2551, 756, 734,
807 741, 749, 2551, 757, 784, 798, 804, 813, 819, 825,
808 838, 854, 860, 875, 881, 889, 896, 902, 911, 918,
809 932, 938, 945, 953, 238, 2551, 2551, 274, 2551, 2551,
810 80, 959, 996, 972, 998, 1022, 1039, 1045, 1051, 1058,
811 1064, 1075, 1085, 1098, 1104, 1112, 1121, 1127, 1133, 1141,
812 1156, 1168, 1175, 1181, 1190, 1197, 1211, 1204, 2551, 2551,
813 77, 1224, 1260, 1248, 1231, 1254, 1260, 1289, 1307, 1313,
815 1319, 2551, 1325, 1331, 1337, 1348, 1354, 1360, 2551, 1366,
816 1378, 1384, 1390, 1396, 1407, 1420, 2551, 1426, 1436, 55,
817 1442, 1456, 1465, 1476, 1486, 2551, 2551, 2551, 1492, 1499,
818 1510, 1528, 1535, 1544, 2551, 1550, 1564, 1571, 1579, 1588,
819 1594, 1600, 1606, 1613, 2551, 1623, 1629, 1636, 1647, 1658,
820 1670, 1676, 1682, 1688, 1694, 2551, 2551, 1700, 1706, 1717,
821 1723, 1729, 1735, 2551, 1741, 1758, 1764, 2551, 1775, 2551,
822 1793, 1800, 1813, 2551, 2551, 1819, 2551, 1827, 1834, 1842,
823 2551, 1853, 1861, 1868, 1878, 1887, 1898, 1904, 1916, 1933,
824 1939, 1945, 1953, 1959, 1974, 1989, 2551, 1997, 2003, 2009,
826 2015, 2032, 2038, 2045, 2056, 2062, 2068, 2079, 2091, 2098,
827 2105, 2113, 2121, 2127, 2139, 2147, 2157, 2163, 2169, 2551,
828 2182, 2192, 2204, 2211, 2551, 2217, 2226, 2551, 2234, 2240,
829 2256, 2551, 2263, 2269, 2278, 2286, 2299, 2551, 2551, 2305,
830 2315, 2321, 2328, 2335, 2344, 2350, 2357, 2365, 2551, 2384,
831 2371, 2391, 2405, 2414, 2420, 2427, 2434, 2551, 2440, 2449,
832 2551, 2551, 2461, 2470, 2551, 2551, 2476, 2483, 2490, 2551,
833 2551, 2551, 2529, 2532, 2535, 68, 2538, 2541, 2544, 2547
838 372, 1, 373, 373, 1, 5, 5, 5, 5, 5,
839 372, 372, 372, 372, 374, 375, 372, 372, 372, 372,
840 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
841 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
842 376, 372, 372, 372, 377, 374, 372, 374, 378, 374,
843 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
844 374, 374, 375, 372, 372, 372, 372, 372, 372, 372,
845 379, 372, 372, 372, 372, 372, 372, 372, 372, 372,
846 372, 372, 372, 372, 376, 372, 377, 372, 372, 374,
847 380, 374, 378, 374, 374, 374, 374, 374, 374, 374,
849 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
850 374, 374, 374, 374, 374, 379, 372, 372, 372, 372,
851 372, 372, 372, 372, 374, 380, 372, 372, 93, 374,
852 374, 374, 372, 374, 374, 374, 374, 374, 374, 374,
853 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
854 374, 374, 374, 374, 372, 372, 372, 372, 372, 372,
855 372, 374, 93, 374, 374, 374, 374, 374, 374, 374,
856 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
857 374, 374, 374, 374, 374, 374, 374, 374, 372, 372,
858 372, 374, 93, 374, 374, 374, 374, 374, 374, 374,
860 374, 372, 374, 374, 374, 374, 374, 374, 372, 374,
861 374, 374, 374, 374, 374, 374, 372, 374, 374, 372,
862 374, 374, 374, 374, 374, 372, 372, 372, 374, 374,
863 374, 374, 374, 374, 372, 374, 374, 374, 374, 374,
864 374, 374, 374, 374, 372, 374, 374, 374, 374, 374,
865 374, 374, 374, 374, 374, 372, 372, 374, 374, 374,
866 374, 374, 374, 372, 374, 374, 374, 372, 374, 372,
867 374, 374, 374, 372, 372, 374, 372, 374, 374, 374,
868 372, 374, 374, 374, 374, 374, 374, 374, 374, 374,
869 374, 374, 374, 374, 374, 374, 372, 374, 374, 374,
871 374, 374, 374, 374, 374, 374, 374, 374, 374, 374,
872 374, 374, 374, 374, 374, 374, 374, 374, 374, 372,
873 374, 374, 374, 374, 372, 374, 374, 372, 374, 374,
874 374, 372, 374, 374, 374, 374, 374, 372, 372, 374,
875 374, 374, 374, 374, 374, 374, 374, 374, 372, 374,
876 374, 374, 374, 374, 374, 374, 374, 372, 374, 374,
877 372, 372, 374, 374, 372, 372, 374, 374, 374, 372,
878 372, 0, 372, 372, 372, 372, 372, 372, 372, 372
883 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
884 19, 20, 21, 22, 23, 23, 23, 23, 24, 25,
885 12, 12, 12, 12, 26, 27, 12, 28, 12, 12,
886 29, 12, 30, 12, 31, 12, 12, 12, 12, 12,
887 26, 32, 12, 12, 12, 12, 12, 12, 33, 12,
888 12, 12, 12, 34, 12, 12, 12, 12, 12, 35,
889 36, 38, 14, 38, 38, 14, 38, 39, 85, 41,
890 39, 12, 12, 41, 12, 12, 12, 12, 12, 12,
891 12, 12, 12, 12, 12, 12, 42, 43, 42, 43,
892 12, 12, 70, 12, 78, 245, 12, 71, 12, 77,
894 12, 77, 43, 43, 43, 43, 12, 12, 12, 12,
895 40, 12, 12, 77, 12, 80, 220, 78, 64, 12,
896 65, 65, 65, 65, 65, 12, 12, 45, 45, 45,
897 79, 66, 47, 64, 191, 67, 68, 68, 68, 68,
898 69, 69, 69, 69, 69, 127, 66, 66, 78, 79,
899 75, 66, 75, 79, 48, 76, 76, 76, 76, 76,
900 49, 119, 66, 88, 50, 51, 52, 66, 53, 119,
901 54, 81, 82, 55, 56, 57, 58, 59, 88, 60,
902 161, 61, 62, 64, 119, 72, 72, 72, 72, 72,
903 127, 89, 122, 117, 124, 64, 66, 73, 73, 73,
905 73, 73, 45, 45, 45, 118, 89, 47, 66, 45,
906 45, 45, 66, 117, 47, 92, 76, 76, 76, 76,
907 76, 123, 46, 155, 66, 118, 45, 45, 45, 157,
908 117, 47, 45, 45, 45, 49, 157, 47, 44, 45,
909 45, 45, 49, 46, 47, 157, 155, 46, 86, 90,
910 120, 46, 160, 118, 96, 45, 45, 45, 46, 49,
911 47, 46, 189, 46, 93, 49, 45, 45, 45, 84,
912 155, 47, 49, 121, 156, 94, 156, 83, 189, 97,
913 74, 95, 98, 44, 45, 45, 45, 372, 49, 47,
914 45, 45, 45, 158, 156, 47, 159, 372, 189, 49,
916 372, 99, 45, 45, 45, 372, 372, 47, 45, 45,
917 45, 372, 372, 47, 190, 100, 372, 49, 372, 101,
918 45, 45, 45, 49, 372, 47, 104, 372, 102, 372,
919 372, 372, 372, 103, 372, 49, 372, 372, 106, 105,
920 372, 49, 45, 45, 45, 372, 372, 47, 372, 372,
921 45, 45, 45, 49, 372, 47, 108, 69, 69, 69,
922 69, 69, 107, 372, 45, 45, 45, 372, 66, 47,
923 372, 372, 372, 372, 64, 49, 65, 65, 65, 65,
924 65, 372, 109, 49, 66, 372, 372, 66, 372, 372,
925 372, 110, 372, 372, 372, 111, 112, 49, 113, 75,
927 115, 75, 114, 66, 76, 76, 76, 76, 76, 64,
928 372, 72, 72, 72, 72, 72, 76, 76, 76, 76,
929 76, 64, 66, 73, 73, 73, 73, 73, 69, 69,
930 69, 69, 69, 372, 66, 372, 372, 372, 66, 66,
931 64, 372, 72, 72, 72, 72, 72, 45, 45, 45,
932 66, 372, 47, 66, 64, 66, 73, 73, 73, 73,
933 73, 87, 372, 372, 372, 372, 372, 66, 87, 66,
934 45, 45, 45, 372, 372, 47, 372, 372, 372, 372,
935 49, 372, 372, 66, 372, 45, 45, 45, 372, 87,
936 47, 372, 372, 87, 45, 45, 45, 87, 372, 133,
938 125, 372, 372, 49, 87, 372, 372, 87, 372, 87,
939 87, 128, 372, 372, 372, 372, 372, 372, 49, 129,
940 129, 129, 129, 129, 372, 372, 372, 49, 129, 129,
941 129, 129, 372, 372, 130, 45, 45, 45, 372, 372,
942 47, 372, 129, 129, 129, 129, 129, 129, 45, 45,
943 45, 372, 372, 47, 45, 45, 45, 372, 372, 47,
944 45, 45, 45, 372, 372, 47, 372, 372, 49, 45,
945 45, 45, 372, 372, 47, 45, 45, 45, 372, 372,
946 47, 49, 131, 132, 372, 134, 372, 49, 372, 45,
947 45, 45, 135, 49, 47, 372, 45, 45, 45, 372,
949 372, 47, 49, 372, 45, 45, 45, 372, 49, 47,
950 45, 45, 45, 372, 136, 47, 372, 372, 137, 372,
951 372, 372, 49, 372, 372, 372, 139, 372, 138, 49,
952 45, 45, 45, 372, 372, 47, 372, 49, 140, 45,
953 45, 45, 372, 49, 47, 45, 45, 45, 372, 143,
954 47, 372, 141, 45, 45, 45, 372, 372, 47, 372,
955 142, 372, 372, 49, 45, 45, 45, 372, 372, 47,
956 372, 372, 49, 372, 45, 45, 45, 144, 49, 47,
957 372, 372, 45, 45, 45, 372, 49, 47, 45, 45,
958 45, 372, 145, 47, 372, 372, 146, 49, 147, 372,
960 372, 372, 149, 372, 45, 45, 45, 49, 148, 47,
961 372, 372, 372, 150, 372, 49, 372, 372, 372, 151,
962 372, 49, 45, 45, 45, 372, 372, 47, 45, 45,
963 45, 372, 152, 47, 45, 45, 45, 49, 372, 47,
964 372, 45, 45, 45, 153, 372, 47, 372, 372, 45,
965 45, 45, 372, 372, 47, 49, 372, 45, 45, 45,
966 372, 49, 47, 372, 372, 372, 162, 49, 154, 163,
967 163, 163, 163, 163, 49, 372, 372, 372, 163, 163,
968 163, 163, 49, 372, 45, 45, 45, 164, 165, 47,
969 49, 372, 163, 163, 163, 163, 163, 163, 45, 45,
971 45, 372, 166, 47, 45, 45, 45, 372, 372, 47,
972 372, 167, 372, 45, 45, 45, 372, 49, 47, 45,
973 45, 45, 372, 372, 47, 45, 45, 45, 372, 372,
974 47, 49, 372, 372, 168, 372, 372, 49, 45, 45,
975 45, 372, 372, 47, 372, 372, 49, 372, 372, 170,
976 169, 372, 49, 372, 45, 45, 45, 372, 49, 47,
977 45, 45, 45, 171, 372, 47, 372, 173, 372, 372,
978 172, 49, 372, 372, 174, 45, 45, 45, 372, 372,
979 47, 45, 45, 45, 372, 372, 47, 49, 372, 45,
980 45, 45, 372, 49, 47, 372, 45, 45, 45, 372,
982 177, 47, 45, 45, 45, 372, 175, 47, 49, 176,
983 372, 45, 45, 45, 49, 178, 47, 372, 45, 45,
984 45, 372, 49, 47, 372, 180, 372, 372, 372, 49,
985 372, 179, 45, 45, 45, 49, 372, 47, 45, 45,
986 45, 372, 182, 47, 49, 45, 45, 45, 372, 181,
987 47, 49, 372, 45, 45, 45, 183, 372, 47, 45,
988 45, 45, 372, 372, 47, 49, 372, 184, 372, 372,
989 372, 49, 45, 45, 45, 372, 372, 47, 49, 372,
990 372, 372, 194, 372, 185, 372, 49, 372, 372, 372,
991 372, 372, 49, 372, 186, 372, 187, 188, 45, 45,
993 45, 372, 372, 47, 372, 49, 372, 372, 192, 193,
994 193, 193, 193, 193, 372, 372, 372, 372, 193, 193,
995 193, 193, 45, 45, 45, 372, 372, 47, 372, 372,
996 372, 49, 193, 193, 193, 193, 193, 193, 195, 45,
997 45, 45, 372, 372, 47, 45, 45, 45, 372, 372,
998 47, 45, 45, 45, 372, 49, 47, 372, 45, 45,
999 45, 198, 199, 47, 45, 45, 45, 372, 372, 202,
1000 372, 372, 49, 196, 372, 45, 45, 45, 49, 372,
1001 47, 197, 372, 372, 49, 45, 45, 45, 372, 372,
1002 47, 49, 372, 372, 200, 372, 372, 49, 45, 45,
1004 45, 372, 372, 47, 45, 45, 45, 372, 49, 47,
1005 201, 203, 45, 45, 45, 372, 372, 47, 49, 372,
1006 372, 45, 45, 45, 372, 204, 47, 45, 45, 45,
1007 372, 49, 209, 45, 45, 45, 372, 49, 47, 372,
1008 205, 45, 45, 45, 372, 49, 47, 372, 206, 372,
1009 372, 372, 207, 372, 49, 372, 45, 45, 45, 372,
1010 49, 47, 372, 372, 372, 372, 49, 208, 45, 45,
1011 45, 372, 372, 47, 49, 45, 45, 45, 372, 372,
1012 47, 45, 45, 45, 372, 372, 47, 210, 211, 49,
1013 45, 45, 45, 372, 372, 47, 212, 45, 45, 45,
1015 372, 49, 217, 372, 45, 45, 45, 372, 49, 47,
1016 372, 45, 45, 45, 49, 214, 47, 372, 372, 213,
1017 372, 218, 372, 49, 45, 45, 45, 372, 216, 47,
1018 49, 45, 45, 45, 372, 215, 47, 49, 372, 372,
1019 372, 372, 372, 219, 49, 372, 372, 372, 45, 45,
1020 45, 372, 372, 47, 45, 45, 45, 49, 372, 47,
1021 45, 45, 45, 372, 49, 47, 372, 372, 372, 372,
1022 372, 372, 221, 46, 46, 46, 46, 46, 372, 223,
1023 372, 49, 46, 46, 46, 46, 372, 49, 372, 45,
1024 45, 45, 372, 49, 226, 372, 46, 46, 46, 46,
1026 46, 46, 222, 224, 372, 372, 225, 45, 45, 45,
1027 372, 372, 227, 45, 45, 45, 372, 372, 228, 45,
1028 45, 45, 49, 372, 47, 45, 45, 45, 372, 229,
1029 47, 45, 45, 45, 372, 372, 47, 45, 45, 45,
1030 49, 372, 47, 372, 372, 372, 49, 372, 45, 45,
1031 45, 372, 49, 47, 45, 45, 45, 372, 49, 47,
1032 45, 45, 45, 372, 49, 235, 45, 45, 45, 372,
1033 49, 47, 372, 372, 372, 372, 230, 232, 45, 45,
1034 45, 49, 231, 47, 45, 45, 45, 49, 372, 47,
1035 45, 45, 45, 49, 372, 47, 45, 45, 45, 49,
1037 372, 47, 372, 372, 372, 234, 233, 45, 45, 45,
1038 372, 49, 47, 372, 372, 372, 372, 49, 237, 236,
1039 45, 45, 45, 49, 372, 47, 45, 45, 45, 49,
1040 372, 47, 372, 372, 239, 238, 45, 45, 45, 372,
1041 49, 47, 45, 45, 45, 372, 372, 47, 372, 240,
1042 372, 372, 372, 49, 372, 372, 45, 45, 45, 49,
1043 241, 47, 372, 372, 243, 45, 45, 45, 372, 49,
1044 47, 242, 244, 372, 372, 49, 45, 45, 45, 372,
1045 372, 47, 372, 246, 372, 372, 45, 45, 45, 49,
1046 372, 47, 45, 45, 45, 372, 372, 47, 49, 45,
1048 45, 45, 372, 372, 47, 372, 247, 372, 372, 49,
1049 45, 45, 45, 372, 372, 47, 372, 372, 248, 49,
1050 372, 372, 249, 372, 372, 49, 250, 372, 45, 45,
1051 45, 372, 49, 47, 372, 45, 45, 45, 251, 372,
1052 47, 372, 372, 49, 45, 45, 45, 372, 372, 256,
1053 45, 45, 45, 372, 372, 257, 252, 372, 372, 372,
1054 258, 49, 253, 372, 45, 45, 45, 254, 49, 47,
1055 372, 45, 45, 45, 372, 255, 47, 49, 372, 45,
1056 45, 45, 372, 49, 47, 259, 372, 372, 45, 45,
1057 45, 372, 372, 47, 45, 45, 45, 49, 263, 264,
1059 45, 45, 45, 372, 49, 47, 45, 45, 45, 372,
1060 372, 47, 49, 45, 45, 45, 372, 260, 47, 261,
1061 372, 49, 372, 45, 45, 45, 372, 49, 268, 45,
1062 45, 45, 262, 49, 47, 372, 45, 45, 45, 49,
1063 372, 270, 372, 372, 265, 372, 49, 45, 45, 45,
1064 372, 372, 47, 372, 372, 266, 49, 271, 45, 45,
1065 45, 372, 49, 47, 372, 372, 267, 372, 269, 49,
1066 45, 45, 45, 372, 372, 47, 45, 45, 45, 372,
1067 49, 274, 45, 45, 45, 372, 372, 275, 45, 45,
1068 45, 49, 372, 47, 45, 45, 45, 372, 276, 277,
1070 45, 45, 45, 49, 372, 47, 45, 45, 45, 49,
1071 372, 47, 372, 272, 273, 49, 372, 45, 45, 45,
1072 372, 49, 47, 45, 45, 45, 372, 49, 281, 45,
1073 45, 45, 372, 49, 47, 45, 45, 45, 372, 49,
1074 47, 45, 45, 45, 372, 372, 47, 372, 372, 278,
1075 49, 372, 372, 372, 372, 279, 49, 280, 45, 45,
1076 45, 372, 49, 47, 45, 45, 45, 372, 49, 47,
1077 372, 372, 372, 372, 49, 45, 45, 45, 286, 372,
1078 47, 372, 372, 283, 372, 372, 282, 372, 284, 285,
1079 372, 49, 372, 45, 45, 45, 372, 49, 47, 372,
1081 45, 45, 45, 372, 288, 47, 287, 372, 49, 372,
1082 372, 289, 372, 45, 45, 45, 372, 372, 47, 45,
1083 45, 45, 372, 372, 47, 372, 49, 45, 45, 45,
1084 372, 372, 47, 49, 45, 45, 45, 372, 372, 47,
1085 291, 372, 45, 45, 45, 290, 49, 47, 372, 372,
1086 292, 372, 49, 45, 45, 45, 372, 372, 297, 372,
1087 49, 45, 45, 45, 372, 372, 47, 49, 45, 45,
1088 45, 293, 372, 47, 372, 49, 372, 294, 45, 45,
1089 45, 372, 372, 47, 295, 372, 49, 45, 45, 45,
1090 372, 372, 47, 296, 49, 372, 372, 298, 45, 45,
1092 45, 49, 372, 47, 45, 45, 45, 372, 372, 47,
1093 372, 49, 372, 372, 303, 372, 45, 45, 45, 372,
1094 49, 47, 372, 372, 372, 299, 372, 301, 372, 300,
1095 372, 49, 372, 45, 45, 45, 372, 49, 47, 45,
1096 45, 45, 372, 372, 47, 45, 45, 45, 372, 49,
1097 47, 302, 372, 45, 45, 45, 372, 372, 47, 45,
1098 45, 45, 372, 372, 47, 372, 49, 372, 372, 304,
1099 372, 372, 49, 372, 45, 45, 45, 372, 49, 47,
1100 372, 372, 305, 372, 372, 306, 49, 372, 372, 45,
1101 45, 45, 49, 308, 47, 372, 307, 45, 45, 45,
1103 372, 372, 47, 45, 45, 45, 372, 49, 47, 45,
1104 45, 45, 309, 372, 47, 45, 45, 45, 372, 372,
1105 47, 372, 49, 372, 372, 315, 372, 310, 372, 372,
1106 49, 372, 45, 45, 45, 372, 49, 47, 45, 45,
1107 45, 311, 49, 47, 312, 45, 45, 45, 49, 372,
1108 47, 372, 372, 313, 372, 314, 45, 45, 45, 372,
1109 372, 47, 45, 45, 45, 49, 372, 320, 45, 45,
1110 45, 49, 316, 47, 372, 372, 317, 372, 49, 45,
1111 45, 45, 372, 372, 47, 318, 372, 372, 372, 49,
1112 372, 45, 45, 45, 319, 49, 47, 372, 45, 45,
1114 45, 49, 372, 47, 321, 45, 45, 45, 372, 372,
1115 325, 372, 49, 45, 45, 45, 372, 372, 47, 372,
1116 372, 45, 45, 45, 49, 372, 47, 45, 45, 45,
1117 322, 49, 328, 372, 372, 323, 372, 372, 49, 45,
1118 45, 45, 324, 372, 47, 372, 49, 45, 45, 45,
1119 372, 372, 47, 326, 49, 372, 372, 45, 45, 45,
1120 49, 327, 47, 45, 45, 45, 372, 372, 332, 45,
1121 45, 45, 49, 372, 47, 372, 372, 329, 372, 372,
1122 49, 372, 45, 45, 45, 372, 372, 47, 372, 372,
1123 49, 372, 45, 45, 45, 372, 49, 47, 372, 372,
1125 331, 372, 49, 330, 45, 45, 45, 372, 372, 47,
1126 372, 45, 45, 45, 333, 49, 47, 45, 45, 45,
1127 372, 372, 338, 372, 372, 49, 45, 45, 45, 372,
1128 372, 339, 372, 334, 45, 45, 45, 49, 372, 47,
1129 45, 45, 45, 372, 49, 47, 372, 335, 372, 372,
1130 49, 372, 372, 336, 372, 372, 45, 45, 45, 49,
1131 337, 47, 372, 45, 45, 45, 372, 49, 47, 45,
1132 45, 45, 372, 49, 47, 372, 372, 340, 45, 45,
1133 45, 372, 372, 47, 372, 372, 45, 45, 45, 49,
1134 372, 47, 342, 341, 372, 372, 49, 372, 372, 45,
1136 45, 45, 49, 343, 47, 45, 45, 45, 372, 372,
1137 47, 49, 372, 344, 372, 45, 45, 45, 345, 49,
1138 349, 45, 45, 45, 372, 372, 47, 372, 45, 45,
1139 45, 372, 49, 47, 346, 45, 45, 45, 49, 372,
1140 47, 348, 372, 372, 45, 45, 45, 347, 49, 47,
1141 45, 45, 45, 372, 49, 47, 372, 45, 45, 45,
1142 372, 49, 47, 372, 372, 45, 45, 45, 49, 350,
1143 47, 45, 45, 45, 372, 352, 358, 49, 372, 372,
1144 372, 351, 372, 49, 45, 45, 45, 372, 372, 47,
1145 49, 45, 45, 45, 372, 353, 47, 372, 49, 372,
1147 372, 372, 354, 372, 49, 45, 45, 45, 372, 355,
1148 47, 372, 372, 356, 45, 45, 45, 49, 372, 361,
1149 45, 45, 45, 372, 49, 362, 357, 45, 45, 45,
1150 372, 372, 47, 372, 45, 45, 45, 372, 49, 47,
1151 45, 45, 45, 359, 372, 365, 372, 49, 372, 45,
1152 45, 45, 372, 49, 366, 372, 372, 360, 372, 372,
1153 49, 45, 45, 45, 372, 372, 47, 49, 372, 363,
1154 45, 45, 45, 49, 364, 47, 45, 45, 45, 372,
1155 372, 47, 49, 45, 45, 45, 372, 372, 370, 372,
1156 45, 45, 45, 372, 49, 371, 372, 372, 372, 372,
1158 372, 367, 372, 49, 372, 372, 372, 372, 372, 49,
1159 372, 372, 372, 372, 372, 372, 49, 372, 372, 372,
1160 372, 372, 368, 49, 372, 372, 372, 372, 369, 37,
1161 37, 37, 46, 46, 46, 63, 372, 63, 87, 87,
1162 87, 91, 91, 91, 116, 372, 116, 126, 126, 126,
1163 11, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1164 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1165 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1166 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1167 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1169 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1175 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1176 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1177 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1178 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1179 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1180 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1181 1, 3, 3, 3, 4, 4, 4, 3, 376, 7,
1182 4, 5, 5, 8, 5, 5, 5, 5, 5, 5,
1183 5, 5, 5, 5, 5, 5, 9, 13, 10, 13,
1184 5, 5, 21, 5, 28, 220, 5, 21, 5, 27,
1186 5, 32, 38, 43, 38, 43, 5, 5, 7, 9,
1187 5, 10, 8, 27, 5, 32, 191, 28, 17, 5,
1188 17, 17, 17, 17, 17, 5, 5, 15, 15, 15,
1189 29, 17, 15, 19, 161, 19, 19, 19, 19, 19,
1190 20, 20, 20, 20, 20, 126, 19, 17, 33, 34,
1191 26, 20, 26, 29, 15, 26, 26, 26, 26, 26,
1192 15, 79, 19, 45, 15, 15, 15, 20, 15, 82,
1193 15, 33, 34, 15, 15, 15, 15, 15, 87, 15,
1194 123, 15, 15, 22, 79, 22, 22, 22, 22, 22,
1195 91, 45, 82, 77, 85, 23, 22, 23, 23, 23,
1197 23, 23, 46, 46, 46, 78, 87, 46, 23, 48,
1198 48, 48, 22, 77, 48, 49, 75, 75, 75, 75,
1199 75, 84, 49, 117, 23, 78, 50, 50, 50, 119,
1200 80, 50, 51, 51, 51, 46, 122, 51, 44, 52,
1201 52, 52, 48, 49, 52, 119, 117, 49, 42, 48,
1202 80, 49, 122, 81, 52, 53, 53, 53, 49, 50,
1203 53, 49, 155, 49, 49, 51, 54, 54, 54, 40,
1204 120, 54, 52, 81, 118, 50, 121, 39, 155, 52,
1205 25, 51, 52, 14, 55, 55, 55, 11, 53, 55,
1206 56, 56, 56, 120, 118, 56, 121, 0, 158, 54,
1208 0, 53, 57, 57, 57, 0, 0, 57, 58, 58,
1209 58, 0, 0, 58, 158, 54, 0, 55, 0, 54,
1210 59, 59, 59, 56, 0, 59, 56, 0, 55, 0,
1211 0, 0, 0, 55, 0, 57, 0, 0, 57, 56,
1212 0, 58, 60, 60, 60, 0, 0, 60, 0, 0,
1213 61, 61, 61, 59, 0, 61, 59, 64, 64, 64,
1214 64, 64, 58, 0, 62, 62, 62, 0, 64, 62,
1215 0, 0, 0, 0, 65, 60, 65, 65, 65, 65,
1216 65, 0, 60, 61, 64, 0, 0, 65, 0, 0,
1217 0, 60, 0, 0, 0, 60, 60, 62, 61, 66,
1219 62, 66, 61, 65, 66, 66, 66, 66, 66, 67,
1220 0, 67, 67, 67, 67, 67, 76, 76, 76, 76,
1221 76, 68, 67, 68, 68, 68, 68, 68, 69, 69,
1222 69, 69, 69, 0, 68, 0, 0, 0, 67, 69,
1223 72, 0, 72, 72, 72, 72, 72, 90, 90, 90,
1224 68, 0, 90, 72, 73, 69, 73, 73, 73, 73,
1225 73, 89, 0, 0, 0, 0, 0, 73, 89, 72,
1226 92, 92, 92, 0, 0, 92, 0, 0, 0, 0,
1227 90, 0, 0, 73, 0, 94, 94, 94, 0, 89,
1228 94, 0, 0, 89, 96, 96, 96, 89, 0, 96,
1230 90, 0, 0, 92, 89, 0, 0, 89, 0, 89,
1231 89, 93, 0, 0, 0, 0, 0, 0, 94, 93,
1232 93, 93, 93, 93, 0, 0, 0, 96, 93, 93,
1233 93, 93, 0, 0, 94, 95, 95, 95, 0, 0,
1234 95, 0, 93, 93, 93, 93, 93, 93, 97, 97,
1235 97, 0, 0, 97, 98, 98, 98, 0, 0, 98,
1236 99, 99, 99, 0, 0, 99, 0, 0, 95, 100,
1237 100, 100, 0, 0, 100, 101, 101, 101, 0, 0,
1238 101, 97, 95, 95, 0, 97, 0, 98, 0, 102,
1239 102, 102, 98, 99, 102, 0, 103, 103, 103, 0,
1241 0, 103, 100, 0, 104, 104, 104, 0, 101, 104,
1242 105, 105, 105, 0, 99, 105, 0, 0, 100, 0,
1243 0, 0, 102, 0, 0, 0, 102, 0, 101, 103,
1244 106, 106, 106, 0, 0, 106, 0, 104, 103, 107,
1245 107, 107, 0, 105, 107, 108, 108, 108, 0, 105,
1246 108, 0, 104, 109, 109, 109, 0, 0, 109, 0,
1247 104, 0, 0, 106, 110, 110, 110, 0, 0, 110,
1248 0, 0, 107, 0, 111, 111, 111, 106, 108, 111,
1249 0, 0, 112, 112, 112, 0, 109, 112, 113, 113,
1250 113, 0, 107, 113, 0, 0, 108, 110, 108, 0,
1252 0, 0, 110, 0, 114, 114, 114, 111, 109, 114,
1253 0, 0, 0, 111, 0, 112, 0, 0, 0, 112,
1254 0, 113, 115, 115, 115, 0, 0, 115, 125, 125,
1255 125, 0, 113, 125, 130, 130, 130, 114, 0, 130,
1256 0, 131, 131, 131, 114, 0, 131, 0, 0, 132,
1257 132, 132, 0, 0, 132, 115, 0, 134, 134, 134,
1258 0, 125, 134, 0, 0, 0, 125, 130, 115, 129,
1259 129, 129, 129, 129, 131, 0, 0, 0, 129, 129,
1260 129, 129, 132, 0, 135, 135, 135, 130, 131, 135,
1261 134, 0, 129, 129, 129, 129, 129, 129, 136, 136,
1263 136, 0, 132, 136, 137, 137, 137, 0, 0, 137,
1264 0, 134, 0, 138, 138, 138, 0, 135, 138, 139,
1265 139, 139, 0, 0, 139, 140, 140, 140, 0, 0,
1266 140, 136, 0, 0, 135, 0, 0, 137, 141, 141,
1267 141, 0, 0, 141, 0, 0, 138, 0, 0, 137,
1268 136, 0, 139, 0, 142, 142, 142, 0, 140, 142,
1269 143, 143, 143, 138, 0, 143, 0, 140, 0, 0,
1270 139, 141, 0, 0, 141, 144, 144, 144, 0, 0,
1271 144, 145, 145, 145, 0, 0, 145, 142, 0, 146,
1272 146, 146, 0, 143, 146, 0, 147, 147, 147, 0,
1274 143, 147, 148, 148, 148, 0, 142, 148, 144, 142,
1275 0, 149, 149, 149, 145, 144, 149, 0, 150, 150,
1276 150, 0, 146, 150, 0, 146, 0, 0, 0, 147,
1277 0, 145, 151, 151, 151, 148, 0, 151, 152, 152,
1278 152, 0, 148, 152, 149, 153, 153, 153, 0, 147,
1279 153, 150, 0, 154, 154, 154, 149, 0, 154, 162,
1280 162, 162, 0, 0, 162, 151, 0, 150, 0, 0,
1281 0, 152, 164, 164, 164, 0, 0, 164, 153, 0,
1282 0, 0, 164, 0, 151, 0, 154, 0, 0, 0,
1283 0, 0, 162, 0, 152, 0, 153, 154, 165, 165,
1285 165, 0, 0, 165, 0, 164, 0, 0, 162, 163,
1286 163, 163, 163, 163, 0, 0, 0, 0, 163, 163,
1287 163, 163, 166, 166, 166, 0, 0, 166, 0, 0,
1288 0, 165, 163, 163, 163, 163, 163, 163, 165, 167,
1289 167, 167, 0, 0, 167, 168, 168, 168, 0, 0,
1290 168, 169, 169, 169, 0, 166, 169, 0, 170, 170,
1291 170, 168, 168, 170, 171, 171, 171, 0, 0, 171,
1292 0, 0, 167, 166, 0, 172, 172, 172, 168, 0,
1293 172, 167, 0, 0, 169, 173, 173, 173, 0, 0,
1294 173, 170, 0, 0, 169, 0, 0, 171, 174, 174,
1296 174, 0, 0, 174, 175, 175, 175, 0, 172, 175,
1297 170, 172, 176, 176, 176, 0, 0, 176, 173, 0,
1298 0, 177, 177, 177, 0, 173, 177, 178, 178, 178,
1299 0, 174, 178, 179, 179, 179, 0, 175, 179, 0,
1300 174, 180, 180, 180, 0, 176, 180, 0, 175, 0,
1301 0, 0, 176, 0, 177, 0, 181, 181, 181, 0,
1302 178, 181, 0, 0, 0, 0, 179, 177, 182, 182,
1303 182, 0, 0, 182, 180, 183, 183, 183, 0, 0,
1304 183, 184, 184, 184, 0, 0, 184, 179, 180, 181,
1305 185, 185, 185, 0, 0, 185, 181, 186, 186, 186,
1307 0, 182, 186, 0, 188, 188, 188, 0, 183, 188,
1308 0, 187, 187, 187, 184, 183, 187, 0, 0, 182,
1309 0, 187, 0, 185, 192, 192, 192, 0, 185, 192,
1310 186, 195, 195, 195, 0, 184, 195, 188, 0, 0,
1311 0, 0, 0, 188, 187, 0, 0, 0, 194, 194,
1312 194, 0, 0, 194, 196, 196, 196, 192, 0, 196,
1313 197, 197, 197, 0, 195, 197, 0, 0, 0, 0,
1314 0, 0, 192, 193, 193, 193, 193, 193, 0, 195,
1315 0, 194, 193, 193, 193, 193, 0, 196, 0, 198,
1316 198, 198, 0, 197, 198, 0, 193, 193, 193, 193,
1318 193, 193, 194, 196, 0, 0, 197, 199, 199, 199,
1319 0, 0, 199, 200, 200, 200, 0, 0, 200, 201,
1320 201, 201, 198, 0, 201, 203, 203, 203, 0, 201,
1321 203, 204, 204, 204, 0, 0, 204, 205, 205, 205,
1322 199, 0, 205, 0, 0, 0, 200, 0, 206, 206,
1323 206, 0, 201, 206, 207, 207, 207, 0, 203, 207,
1324 208, 208, 208, 0, 204, 208, 210, 210, 210, 0,
1325 205, 210, 0, 0, 0, 0, 203, 205, 211, 211,
1326 211, 206, 204, 211, 212, 212, 212, 207, 0, 212,
1327 213, 213, 213, 208, 0, 213, 214, 214, 214, 210,
1329 0, 214, 0, 0, 0, 207, 206, 215, 215, 215,
1330 0, 211, 215, 0, 0, 0, 0, 212, 211, 210,
1331 216, 216, 216, 213, 0, 216, 218, 218, 218, 214,
1332 0, 218, 0, 0, 213, 212, 219, 219, 219, 0,
1333 215, 219, 221, 221, 221, 0, 0, 221, 0, 214,
1334 0, 0, 0, 216, 0, 0, 222, 222, 222, 218,
1335 215, 222, 0, 0, 218, 223, 223, 223, 0, 219,
1336 223, 216, 219, 0, 0, 221, 224, 224, 224, 0,
1337 0, 224, 0, 221, 0, 0, 225, 225, 225, 222,
1338 0, 225, 229, 229, 229, 0, 0, 229, 223, 230,
1340 230, 230, 0, 0, 230, 0, 222, 0, 0, 224,
1341 231, 231, 231, 0, 0, 231, 0, 0, 223, 225,
1342 0, 0, 224, 0, 0, 229, 225, 0, 232, 232,
1343 232, 0, 230, 232, 0, 233, 233, 233, 229, 0,
1344 233, 0, 0, 231, 234, 234, 234, 0, 0, 234,
1345 236, 236, 236, 0, 0, 236, 230, 0, 0, 0,
1346 236, 232, 231, 0, 237, 237, 237, 232, 233, 237,
1347 0, 238, 238, 238, 0, 233, 238, 234, 0, 239,
1348 239, 239, 0, 236, 239, 236, 0, 0, 240, 240,
1349 240, 0, 0, 240, 241, 241, 241, 237, 240, 241,
1351 242, 242, 242, 0, 238, 242, 243, 243, 243, 0,
1352 0, 243, 239, 244, 244, 244, 0, 237, 244, 238,
1353 0, 240, 0, 246, 246, 246, 0, 241, 246, 247,
1354 247, 247, 239, 242, 247, 0, 248, 248, 248, 243,
1355 0, 248, 0, 0, 242, 0, 244, 249, 249, 249,
1356 0, 0, 249, 0, 0, 243, 246, 249, 250, 250,
1357 250, 0, 247, 250, 0, 0, 244, 0, 247, 248,
1358 251, 251, 251, 0, 0, 251, 252, 252, 252, 0,
1359 249, 252, 253, 253, 253, 0, 0, 253, 254, 254,
1360 254, 250, 0, 254, 255, 255, 255, 0, 254, 255,
1362 258, 258, 258, 251, 0, 258, 259, 259, 259, 252,
1363 0, 259, 0, 250, 251, 253, 0, 260, 260, 260,
1364 0, 254, 260, 261, 261, 261, 0, 255, 261, 262,
1365 262, 262, 0, 258, 262, 263, 263, 263, 0, 259,
1366 263, 265, 265, 265, 0, 0, 265, 0, 0, 258,
1367 260, 0, 0, 0, 0, 259, 261, 260, 266, 266,
1368 266, 0, 262, 266, 267, 267, 267, 0, 263, 267,
1369 0, 0, 0, 0, 265, 269, 269, 269, 265, 0,
1370 269, 0, 0, 263, 0, 0, 262, 0, 263, 263,
1371 0, 266, 0, 271, 271, 271, 0, 267, 271, 0,
1373 272, 272, 272, 0, 267, 272, 266, 0, 269, 0,
1374 0, 269, 0, 273, 273, 273, 0, 0, 273, 276,
1375 276, 276, 0, 0, 276, 0, 271, 278, 278, 278,
1376 0, 0, 278, 272, 279, 279, 279, 0, 0, 279,
1377 272, 0, 280, 280, 280, 271, 273, 280, 0, 0,
1378 273, 0, 276, 282, 282, 282, 0, 0, 282, 0,
1379 278, 283, 283, 283, 0, 0, 283, 279, 284, 284,
1380 284, 276, 0, 284, 0, 280, 0, 278, 285, 285,
1381 285, 0, 0, 285, 279, 0, 282, 286, 286, 286,
1382 0, 0, 286, 280, 283, 0, 0, 283, 287, 287,
1384 287, 284, 0, 287, 288, 288, 288, 0, 0, 288,
1385 0, 285, 0, 0, 288, 0, 289, 289, 289, 0,
1386 286, 289, 0, 0, 0, 284, 0, 286, 0, 285,
1387 0, 287, 0, 290, 290, 290, 0, 288, 290, 291,
1388 291, 291, 0, 0, 291, 292, 292, 292, 0, 289,
1389 292, 287, 0, 293, 293, 293, 0, 0, 293, 294,
1390 294, 294, 0, 0, 294, 0, 290, 0, 0, 289,
1391 0, 0, 291, 0, 295, 295, 295, 0, 292, 295,
1392 0, 0, 290, 0, 0, 291, 293, 0, 0, 296,
1393 296, 296, 294, 293, 296, 0, 292, 298, 298, 298,
1395 0, 0, 298, 299, 299, 299, 0, 295, 299, 300,
1396 300, 300, 294, 0, 300, 301, 301, 301, 0, 0,
1397 301, 0, 296, 0, 0, 301, 0, 295, 0, 0,
1398 298, 0, 302, 302, 302, 0, 299, 302, 303, 303,
1399 303, 296, 300, 303, 298, 304, 304, 304, 301, 0,
1400 304, 0, 0, 299, 0, 300, 305, 305, 305, 0,
1401 0, 305, 306, 306, 306, 302, 0, 306, 307, 307,
1402 307, 303, 302, 307, 0, 0, 303, 0, 304, 308,
1403 308, 308, 0, 0, 308, 304, 0, 0, 0, 305,
1404 0, 309, 309, 309, 305, 306, 309, 0, 310, 310,
1406 310, 307, 0, 310, 307, 311, 311, 311, 0, 0,
1407 311, 0, 308, 312, 312, 312, 0, 0, 312, 0,
1408 0, 313, 313, 313, 309, 0, 313, 314, 314, 314,
1409 308, 310, 314, 0, 0, 309, 0, 0, 311, 315,
1410 315, 315, 310, 0, 315, 0, 312, 316, 316, 316,
1411 0, 0, 316, 312, 313, 0, 0, 317, 317, 317,
1412 314, 313, 317, 318, 318, 318, 0, 0, 318, 319,
1413 319, 319, 315, 0, 319, 0, 0, 315, 0, 0,
1414 316, 0, 321, 321, 321, 0, 0, 321, 0, 0,
1415 317, 0, 322, 322, 322, 0, 318, 322, 0, 0,
1417 317, 0, 319, 316, 323, 323, 323, 0, 0, 323,
1418 0, 324, 324, 324, 319, 321, 324, 326, 326, 326,
1419 0, 0, 326, 0, 0, 322, 327, 327, 327, 0,
1420 0, 327, 0, 321, 329, 329, 329, 323, 0, 329,
1421 330, 330, 330, 0, 324, 330, 0, 322, 0, 0,
1422 326, 0, 0, 323, 0, 0, 331, 331, 331, 327,
1423 324, 331, 0, 333, 333, 333, 0, 329, 333, 334,
1424 334, 334, 0, 330, 334, 0, 0, 329, 335, 335,
1425 335, 0, 0, 335, 0, 0, 336, 336, 336, 331,
1426 0, 336, 331, 330, 0, 0, 333, 0, 0, 337,
1428 337, 337, 334, 333, 337, 340, 340, 340, 0, 0,
1429 340, 335, 0, 334, 0, 341, 341, 341, 335, 336,
1430 341, 342, 342, 342, 0, 0, 342, 0, 343, 343,
1431 343, 0, 337, 343, 336, 344, 344, 344, 340, 0,
1432 344, 340, 0, 0, 345, 345, 345, 337, 341, 345,
1433 346, 346, 346, 0, 342, 346, 0, 347, 347, 347,
1434 0, 343, 347, 0, 0, 348, 348, 348, 344, 342,
1435 348, 351, 351, 351, 0, 344, 351, 345, 0, 0,
1436 0, 343, 0, 346, 350, 350, 350, 0, 0, 350,
1437 347, 352, 352, 352, 0, 345, 352, 0, 348, 0,
1439 0, 0, 346, 0, 351, 353, 353, 353, 0, 347,
1440 353, 0, 0, 348, 354, 354, 354, 350, 0, 354,
1441 355, 355, 355, 0, 352, 355, 350, 356, 356, 356,
1442 0, 0, 356, 0, 357, 357, 357, 0, 353, 357,
1443 359, 359, 359, 352, 0, 359, 0, 354, 0, 360,
1444 360, 360, 0, 355, 360, 0, 0, 353, 0, 0,
1445 356, 363, 363, 363, 0, 0, 363, 357, 0, 356,
1446 364, 364, 364, 359, 357, 364, 367, 367, 367, 0,
1447 0, 367, 360, 368, 368, 368, 0, 0, 368, 0,
1448 369, 369, 369, 0, 363, 369, 0, 0, 0, 0,
1450 0, 363, 0, 364, 0, 0, 0, 0, 0, 367,
1451 0, 0, 0, 0, 0, 0, 368, 0, 0, 0,
1452 0, 0, 364, 369, 0, 0, 0, 0, 367, 373,
1453 373, 373, 374, 374, 374, 375, 0, 375, 377, 377,
1454 377, 378, 378, 378, 379, 0, 379, 380, 380, 380,
1455 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1456 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1457 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1458 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1459 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1461 372, 372, 372, 372, 372, 372, 372, 372, 372, 372,
1466static char *yy_last_accepting_cpos;
1473 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
1474 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
1475 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
1476 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
1477 449, 458, 467, 476, 577, 593, 642, 650, 665, 666,
1478 667, 668, 669, 670, 672, 691, 708, 721, 726, 730,
1485#define REJECT reject_used_but_not_detected
1486#define yymore() yymore_used_but_not_detected
1487#define YY_MORE_ADJ 0
1488#define YY_RESTORE_YY_MORE_OFFSET
1490#line 1 "netconf_lexer.ll"
1496#line 8 "netconf_lexer.ll"
1499#ifndef __clang_analyzer__
1509#include <boost/lexical_cast.hpp>
1524bool start_token_flag =
false;
1527unsigned int comment_start_line = 0;
1535#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1536#line 1536 "netconf_lexer.cc"
1551#define YY_NO_INPUT 1
1557#line 98 "netconf_lexer.ll"
1561#define YY_USER_ACTION driver.loc_.columns(yyleng);
1562#line 1562 "netconf_lexer.cc"
1563#line 1563 "netconf_lexer.cc"
1568#define DIR_INCLUDE 3
1571#ifndef YY_NO_UNISTD_H
1583#ifndef YY_EXTRA_TYPE
1584#define YY_EXTRA_TYPE void *
1591static int yy_init_globals (
void );
1634#ifndef YY_SKIP_YYWRAP
1636extern "C" int yywrap (
void );
1638extern int yywrap (
void );
1651static void yy_flex_strncpy (
char *,
const char *,
int );
1654#ifdef YY_NEED_STRLEN
1655static int yy_flex_strlen (
const char * );
1662static int yyinput (
void );
1664static int input (
void );
1676#ifndef YY_READ_BUF_SIZE
1679#define YY_READ_BUF_SIZE 16384
1681#define YY_READ_BUF_SIZE 8192
1691#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1701#define YY_INPUT(buf,result,max_size) \
1703 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1707 for ( n = 0; n < max_size && \
1708 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1709 buf[n] = (char) c; \
1711 buf[n++] = (char) c; \
1712 if ( c == EOF && ferror( yyin ) ) \
1713 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1719 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1721 if( errno != EINTR) \
1723 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1741#define yyterminate() return YY_NULL
1745#ifndef YY_START_STACK_INCR
1746#define YY_START_STACK_INCR 25
1750#ifndef YY_FATAL_ERROR
1752#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1773#define YY_DECL_IS_OURS 1
1776extern int yylex (
void);
1778#define YY_DECL int yylex (void)
1787#ifndef YY_USER_ACTION
1788#define YY_USER_ACTION
1793#define YY_BREAK break;
1797#define YY_RULE_SETUP \
1845#line 104 "netconf_lexer.ll"
1849#line 108 "netconf_lexer.ll"
1863 if (start_token_flag) {
1864 start_token_flag =
false;
1865 switch (start_token_value) {
1877#line 1877 "netconf_lexer.cc"
1882 yy_cp = (yy_c_buf_p);
1885 *
yy_cp = (yy_hold_char);
1893 yy_current_state = (yy_start);
1898 if ( yy_accept[yy_current_state] )
1900 (yy_last_accepting_state) = yy_current_state;
1901 (yy_last_accepting_cpos) =
yy_cp;
1903 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1905 yy_current_state = (int) yy_def[yy_current_state];
1906 if ( yy_current_state >= 373 )
1907 yy_c = yy_meta[yy_c];
1909 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1912 while ( yy_current_state != 372 );
1913 yy_cp = (yy_last_accepting_cpos);
1914 yy_current_state = (yy_last_accepting_state);
1918 yy_act = yy_accept[yy_current_state];
1930 fprintf( stderr,
"--scanner backing up\n" );
1932 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1935 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1938 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1940 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1948 *
yy_cp = (yy_hold_char);
1949 yy_cp = (yy_last_accepting_cpos);
1950 yy_current_state = (yy_last_accepting_state);
1951 goto yy_find_action;
1955#line 135 "netconf_lexer.ll"
1960#line 137 "netconf_lexer.ll"
1965#line 139 "netconf_lexer.ll"
1968 comment_start_line = driver.loc_.end.line;;
1973#line 144 "netconf_lexer.ll"
1978#line 145 "netconf_lexer.ll"
1982#line 146 "netconf_lexer.ll"
1989#line 150 "netconf_lexer.ll"
1994#line 151 "netconf_lexer.ll"
1999#line 152 "netconf_lexer.ll"
2004 std::string tmp(
yytext+1);
2005 tmp.resize(tmp.size() - 1);
2007 driver.includeFile(tmp);
2013#line 161 "netconf_lexer.ll"
2020#line 164 "netconf_lexer.ll"
2025#line 167 "netconf_lexer.ll"
2034#line 172 "netconf_lexer.ll"
2037 driver.loc_.lines(
yyleng);
2043#line 179 "netconf_lexer.ll"
2045 switch(driver.ctx_) {
2055#line 188 "netconf_lexer.ll"
2057 switch(driver.ctx_) {
2070#line 200 "netconf_lexer.ll"
2072 switch(driver.ctx_) {
2085#line 212 "netconf_lexer.ll"
2087 switch(driver.ctx_) {
2098#line 222 "netconf_lexer.ll"
2100 switch(driver.ctx_) {
2111#line 232 "netconf_lexer.ll"
2113 switch(driver.ctx_) {
2124#line 242 "netconf_lexer.ll"
2126 switch(driver.ctx_) {
2136#line 251 "netconf_lexer.ll"
2138 switch(driver.ctx_) {
2148#line 260 "netconf_lexer.ll"
2150 switch(driver.ctx_) {
2160#line 269 "netconf_lexer.ll"
2162 switch(driver.ctx_) {
2172#line 278 "netconf_lexer.ll"
2174 switch(driver.ctx_) {
2184#line 287 "netconf_lexer.ll"
2186 switch(driver.ctx_) {
2196#line 296 "netconf_lexer.ll"
2198 switch(driver.ctx_) {
2208#line 305 "netconf_lexer.ll"
2210 switch(driver.ctx_) {
2220#line 314 "netconf_lexer.ll"
2222 switch(driver.ctx_) {
2232#line 323 "netconf_lexer.ll"
2234 switch(driver.ctx_) {
2244#line 332 "netconf_lexer.ll"
2246 switch(driver.ctx_) {
2256#line 341 "netconf_lexer.ll"
2258 switch(driver.ctx_) {
2268#line 350 "netconf_lexer.ll"
2270 switch(driver.ctx_) {
2280#line 359 "netconf_lexer.ll"
2282 switch(driver.ctx_) {
2292#line 368 "netconf_lexer.ll"
2294 switch(driver.ctx_) {
2304#line 377 "netconf_lexer.ll"
2306 switch(driver.ctx_) {
2316#line 386 "netconf_lexer.ll"
2318 switch(driver.ctx_) {
2328#line 395 "netconf_lexer.ll"
2330 switch(driver.ctx_) {
2340#line 404 "netconf_lexer.ll"
2342 switch(driver.ctx_) {
2352#line 413 "netconf_lexer.ll"
2354 switch(driver.ctx_) {
2364#line 422 "netconf_lexer.ll"
2366 switch(driver.ctx_) {
2376#line 431 "netconf_lexer.ll"
2378 switch(driver.ctx_) {
2388#line 440 "netconf_lexer.ll"
2390 switch(driver.ctx_) {
2400#line 449 "netconf_lexer.ll"
2402 switch(driver.ctx_) {
2412#line 458 "netconf_lexer.ll"
2414 switch(driver.ctx_) {
2424#line 467 "netconf_lexer.ll"
2426 switch(driver.ctx_) {
2436#line 476 "netconf_lexer.ll"
2441 std::string raw(
yytext+1);
2442 size_t len = raw.size() - 1;
2444 std::string decoded;
2445 decoded.reserve(len);
2446 for (
size_t pos = 0; pos < len; ++pos) {
2452 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2458 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2465 decoded.push_back(c);
2468 decoded.push_back(
'\b');
2471 decoded.push_back(
'\f');
2474 decoded.push_back(
'\n');
2477 decoded.push_back(
'\r');
2480 decoded.push_back(
'\t');
2485 if (pos + 4 > len) {
2487 driver.error(driver.loc_,
2488 "Overflow unicode escape in \"" + raw +
"\"");
2490 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2491 driver.error(driver.loc_,
2492 "Unsupported unicode escape in \"" + raw +
"\"",
2497 if ((c >=
'0') && (c <=
'9')) {
2499 }
else if ((c >=
'A') && (c <=
'F')) {
2500 b = (c -
'A' + 10) << 4;
2501 }
else if ((c >=
'a') && (c <=
'f')) {
2502 b = (c -
'a' + 10) << 4;
2505 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2509 if ((c >=
'0') && (c <=
'9')) {
2511 }
else if ((c >=
'A') && (c <=
'F')) {
2513 }
else if ((c >=
'a') && (c <=
'f')) {
2517 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2519 decoded.push_back(
static_cast<char>(b & 0xff));
2523 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2527 if ((c >= 0) && (c < 0x20)) {
2529 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2531 decoded.push_back(c);
2541#line 577 "netconf_lexer.ll"
2544 std::string raw(
yytext+1);
2545 size_t len = raw.size() - 1;
2547 for (; pos < len; ++pos) {
2549 if ((c >= 0) && (c < 0x20)) {
2553 driver.error(driver.loc_,
2554 "Invalid control in " + std::string(
yytext),
2561#line 593 "netconf_lexer.ll"
2564 std::string raw(
yytext+1);
2565 size_t len = raw.size() - 1;
2568 for (; pos < len; ++pos) {
2587 if ((pos + 4 > len) ||
2588 !std::isxdigit(raw[pos + 1]) ||
2589 !std::isxdigit(raw[pos + 2]) ||
2590 !std::isxdigit(raw[pos + 3]) ||
2591 !std::isxdigit(raw[pos + 4])) {
2602 std::string trailer =
"";
2603 if (raw[len - 1] ==
'\\') {
2606 driver.error(driver.loc_,
2607 "Bad escape in " + std::string(
yytext) + trailer,
2613#line 642 "netconf_lexer.ll"
2616 std::string raw(
yytext+1);
2617 driver.error(driver.loc_,
2618 "Overflow escape in " + std::string(
yytext),
2624#line 650 "netconf_lexer.ll"
2627 std::string raw(
yytext+1);
2628 size_t pos = raw.size() - 1;
2629 for (; pos > 0; --pos) {
2635 driver.error(driver.loc_,
2636 "Overflow unicode escape in " + std::string(
yytext),
2642#line 665 "netconf_lexer.ll"
2647#line 666 "netconf_lexer.ll"
2652#line 667 "netconf_lexer.ll"
2657#line 668 "netconf_lexer.ll"
2662#line 669 "netconf_lexer.ll"
2667#line 670 "netconf_lexer.ll"
2672#line 672 "netconf_lexer.ll"
2676 int64_t integer = 0;
2682 integer = boost::lexical_cast<int64_t>(tmp);
2683 }
catch (
const boost::bad_lexical_cast &) {
2684 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2687 driver.warning(driver.loc_,
"leading zeros in integers will be deprecated.");
2694#line 691 "netconf_lexer.ll"
2698 int64_t integer = 0;
2704 integer = boost::lexical_cast<int64_t>(tmp);
2705 }
catch (
const boost::bad_lexical_cast &) {
2706 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2714#line 708 "netconf_lexer.ll"
2720 fp = boost::lexical_cast<double>(tmp);
2721 }
catch (
const boost::bad_lexical_cast &) {
2722 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2730#line 721 "netconf_lexer.ll"
2738#line 726 "netconf_lexer.ll"
2745#line 730 "netconf_lexer.ll"
2746driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2750#line 732 "netconf_lexer.ll"
2751driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2755#line 734 "netconf_lexer.ll"
2756driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2760#line 736 "netconf_lexer.ll"
2761driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2764#line 738 "netconf_lexer.ll"
2766 if (driver.states_.empty()) {
2769 driver.loc_ = driver.locs_.back();
2770 driver.locs_.pop_back();
2771 driver.file_ = driver.files_.back();
2772 driver.files_.pop_back();
2773 if (driver.sfile_) {
2774 fclose(driver.sfile_);
2777 if (!driver.sfiles_.empty()) {
2778 driver.sfile_ = driver.sfiles_.back();
2779 driver.sfiles_.pop_back();
2782 netconf__switch_to_buffer(driver.states_.back());
2783 driver.states_.pop_back();
2790#line 761 "netconf_lexer.ll"
2793#line 2793 "netconf_lexer.cc"
2801 *
yy_cp = (yy_hold_char);
2835 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2837 yy_current_state = yy_get_previous_state( );
2848 yy_next_state = yy_try_NUL_trans( yy_current_state );
2852 if ( yy_next_state )
2855 yy_cp = ++(yy_c_buf_p);
2856 yy_current_state = yy_next_state;
2863 yy_cp = (yy_last_accepting_cpos);
2864 yy_current_state = (yy_last_accepting_state);
2865 goto yy_find_action;
2869 else switch ( yy_get_next_buffer( ) )
2873 (yy_did_buffer_switch_on_eof) = 0;
2894 if ( ! (yy_did_buffer_switch_on_eof) )
2904 yy_current_state = yy_get_previous_state( );
2906 yy_cp = (yy_c_buf_p);
2914 yy_current_state = yy_get_previous_state( );
2916 yy_cp = (yy_c_buf_p);
2918 goto yy_find_action;
2925 "fatal flex scanner internal error--no action found" );
2946static int yy_get_next_buffer (
void)
2953 int number_to_move, i;
2958 "fatal flex scanner internal error--end of buffer missed" );
2982 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2984 for ( i = 0; i < number_to_move; ++i )
2985 *(dest++) = *(source++);
2998 while ( num_to_read <= 0 )
3004 int yy_c_buf_p_offset =
3011 if ( new_size <= 0 )
3027 "fatal error - scanner input buffer overflow" );
3029 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
3041 (yy_n_chars), num_to_read );
3046 if ( (yy_n_chars) == 0 )
3067 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3071 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3076 (yy_n_chars) += number_to_move;
3098 yy_current_state = (yy_start);
3104 if ( yy_accept[yy_current_state] )
3106 (yy_last_accepting_state) = yy_current_state;
3107 (yy_last_accepting_cpos) =
yy_cp;
3109 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3111 yy_current_state = (int) yy_def[yy_current_state];
3112 if ( yy_current_state >= 373 )
3113 yy_c = yy_meta[yy_c];
3115 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3118 return yy_current_state;
3134 char *
yy_cp = (yy_c_buf_p);
3137 if ( yy_accept[yy_current_state] )
3139 (yy_last_accepting_state) = yy_current_state;
3140 (yy_last_accepting_cpos) =
yy_cp;
3142 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3144 yy_current_state = (int) yy_def[yy_current_state];
3145 if ( yy_current_state >= 373 )
3146 yy_c = yy_meta[yy_c];
3148 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3149 yy_is_jam = (yy_current_state == 372);
3151 return yy_is_jam ? 0 : yy_current_state;
3163 static int yyinput (
void)
3165 static int input (
void)
3174 *(yy_c_buf_p) = (yy_hold_char);
3184 *(yy_c_buf_p) =
'\0';
3188 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3191 switch ( yy_get_next_buffer( ) )
3214 if ( ! (yy_did_buffer_switch_on_eof) )
3230 c = *(
unsigned char *) (yy_c_buf_p);
3231 *(yy_c_buf_p) =
'\0';
3232 (yy_hold_char) = *++(yy_c_buf_p);
3290 *(yy_c_buf_p) = (yy_hold_char);
3303 (yy_did_buffer_switch_on_eof) = 1;
3319 (yy_hold_char) = *(yy_c_buf_p);
3467 if (new_buffer == NULL)
3476 *(yy_c_buf_p) = (yy_hold_char);
3483 (yy_buffer_stack_top)++;
3488 (yy_did_buffer_switch_on_eof) = 1;
3508 if ((yy_buffer_stack_top) > 0)
3509 --(yy_buffer_stack_top);
3513 (yy_did_buffer_switch_on_eof) = 1;
3530 if (!(yy_buffer_stack)) {
3540 if ( ! (yy_buffer_stack) )
3541 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3543 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3545 (yy_buffer_stack_max) = num_to_alloc;
3546 (yy_buffer_stack_top) = 0;
3550 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3555 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3560 if ( ! (yy_buffer_stack) )
3561 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3564 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3565 (yy_buffer_stack_max) = num_to_alloc;
3644 for ( i = 0; i < _yybytes_len; ++i )
3645 buf[i] = yybytes[i];
3662#ifndef YY_EXIT_FAILURE
3663#define YY_EXIT_FAILURE 2
3667static void yynoreturn yy_fatal_error (
const char* msg )
3669 fprintf( stderr,
"%s\n", msg );
3683 int yyless_macro_arg = (n); \
3684 YY_LESS_LINENO(yyless_macro_arg);\
3685 yytext[yyleng] = (yy_hold_char); \
3686 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3687 (yy_hold_char) = *(yy_c_buf_p); \
3688 *(yy_c_buf_p) = '\0'; \
3689 yyleng = yyless_macro_arg; \
3788static int yy_init_globals (
void)
3794 (yy_buffer_stack) = NULL;
3795 (yy_buffer_stack_top) = 0;
3796 (yy_buffer_stack_max) = 0;
3797 (yy_c_buf_p) = NULL;
3830 yyfree((yy_buffer_stack) );
3831 (yy_buffer_stack) = NULL;
3848static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3852 for ( i = 0; i < n; ++i )
3857#ifdef YY_NEED_STRLEN
3858static int yy_flex_strlen (
const char * s )
3861 for ( n = 0; s[n]; ++n )
3870 return malloc(size);
3883 return realloc(ptr, size);
3888 free( (
char *) ptr );
3893#define YYTABLES_NAME "yytables"
3898#line 761 "netconf_lexer.ll"
3906 start_token_flag =
true;
3907 start_token_value = parser_type;
3914 buffer = netconf__scan_bytes(
str.c_str(),
str.size());
3916 fatal(
"cannot scan string");
3923 const std::string& filename,
3926 start_token_flag =
true;
3927 start_token_value = parser_type;
3936 buffer = netconf__create_buffer(f, 65536 );
3938 fatal(
"cannot scan file " + filename);
3940 netconf__switch_to_buffer(buffer);
3948 static_cast<void>(netconf_lex_destroy());
3959 netconf__delete_buffer(
states_.back());
3967 fatal(
"Too many nested include.");
3970 FILE* f = fopen(filename.c_str(),
"r");
3972 fatal(
"Can't open include file " + filename);
3980 buffer = netconf__create_buffer(f, 65536 );
3982 fatal(
"Can't scan include file " + filename);
3984 netconf__switch_to_buffer(buffer);
3997 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
Evaluation error exception raised when trying to parse.
static symbol_type make_NETCONF(const location_type &l)
static symbol_type make_SOCKET_URL(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_DHCP6_SERVER(const location_type &l)
static symbol_type make_BOOT_UPDATE(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_VALIDATE_CHANGES(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_STRING(const string &v, const location_type &l)
static symbol_type make_STDOUT(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_DHCP4_SERVER(const location_type &l)
static symbol_type make_D2_SERVER(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_START_JSON(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_MANAGED_SERVERS(const location_type &l)
static symbol_type make_SUBSCRIBE_CHANGES(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_START_NETCONF(const location_type &l)
static symbol_type make_MODEL(const location_type &l)
static symbol_type make_START_SUB_NETCONF(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
void scanStringBegin(const std::string &str, ParserType type)
Method called before scanning starts on a string.
void scanFileBegin(FILE *f, const std::string &filename, ParserType type)
Method called before scanning starts on a file.
std::vector< std::string > files_
File name stack.
@ HOOKS_LIBRARIES
Used while parsing Netconf/loggers structures.
@ CONFIG
Used while parsing content of Netconf.
@ MANAGED_SERVERS
Used while parsing Netconf/managed-servers.
@ SERVER
Used while parsing Netconf/manages-servers/*/control-socket.
@ LOGGERS
Used while parsing Netconf/loggers/output-options structures.
@ SOCKET_TYPE
Used while parsing Netconf/hooks-libraries.
@ CONTROL_SOCKET
Used while parsing Netconf/managed-servers/*/control-socket/socket-type.
void includeFile(const std::string &filename)
Divert input to an include file.
std::vector< isc::netconf::location > locs_
Location stack.
FILE * sfile_
sFile (aka FILE)
isc::netconf::location loc_
Location of the current token.
ParserType
Defines currently supported scopes.
@ PARSER_NETCONF
This parser will expect the content as Netconf config wrapped in a map (that's the regular config fil...
@ PARSER_JSON
This parser will parse the content as generic JSON.
@ PARSER_SUB_NETCONF
This parser will expect only the content of Netconf.
std::vector< FILE * > sfiles_
sFile (aka FILE) stack
std::string file_
File name.
std::vector< struct yy_buffer_state * > states_
Lexer state stack.
void scanEnd()
Method called after the last tokens are scanned.
unsigned char flex_uint8_t
unsigned int flex_uint32_t
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER
#define YY_END_OF_BUFFER_CHAR
unsigned short int flex_uint16_t
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
Defines the logger used by the top-level component of kea-lfc.
#define yy_load_buffer_state
#define yypush_buffer_state
#define yyget_in
Get the input stream.
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_FATAL_ERROR(msg)
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define yyget_lineno
Get the current line number.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.