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 62
695#define YY_END_OF_BUFFER 63
705 55, 55, 0, 0, 0, 0, 0, 0, 0, 0,
706 63, 61, 10, 11, 61, 1, 55, 52, 55, 55,
707 61, 54, 53, 61, 61, 61, 61, 61, 48, 49,
708 61, 61, 61, 50, 51, 5, 5, 5, 61, 61,
709 61, 10, 11, 0, 0, 44, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 1, 55, 55, 0, 54, 55, 3, 2,
712 6, 0, 55, 0, 0, 0, 0, 0, 0, 4,
713 0, 0, 9, 0, 45, 0, 0, 0, 0, 47,
714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
717 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
718 0, 0, 8, 0, 0, 0, 0, 46, 0, 0,
719 22, 0, 0, 21, 0, 0, 0, 0, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 60, 58, 0, 57, 56,
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, 0, 59,
725 56, 0, 0, 0, 0, 0, 0, 0, 0, 0,
727 0, 0, 0, 0, 26, 0, 0, 0, 0, 0,
728 0, 36, 0, 0, 0, 0, 0, 0, 25, 0,
729 0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
730 20, 39, 0, 0, 0, 0, 0, 0, 23, 0,
731 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
732 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
733 38, 0, 0, 0, 0, 27, 0, 0, 0, 34,
734 12, 0, 14, 0, 0, 0, 32, 35, 0, 40,
735 0, 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, 42, 0,
740 0, 0, 33, 0, 0, 30, 0, 0, 0, 15,
741 0, 0, 0, 0, 29, 28, 0, 0, 0, 0,
742 0, 0, 0, 0, 13, 0, 0, 0, 0, 0,
743 0, 0, 24, 0, 0, 37, 0, 0, 31, 18,
747static const YY_CHAR yy_ec[256] =
749 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
750 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
751 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
752 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
753 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
754 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
755 5, 20, 21, 5, 22, 23, 23, 23, 24, 25,
756 5, 5, 5, 5, 5, 26, 5, 27, 5, 5,
757 5, 28, 29, 30, 31, 5, 5, 5, 5, 5,
758 32, 33, 34, 5, 35, 5, 36, 37, 38, 39,
760 40, 41, 42, 43, 44, 5, 45, 46, 47, 48,
761 49, 50, 5, 51, 52, 53, 54, 55, 5, 56,
762 57, 58, 59, 5, 60, 5, 5, 5, 5, 5,
763 5, 5, 5, 5, 5, 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,
771 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,
779static const YY_CHAR yy_meta[61] =
781 1, 1, 2, 3, 3, 4, 3, 3, 3, 3,
782 3, 3, 5, 6, 6, 6, 6, 3, 3, 3,
783 3, 6, 6, 6, 6, 3, 3, 3, 3, 3,
784 3, 3, 5, 3, 3, 6, 7, 6, 6, 6,
785 7, 3, 3, 3, 3, 3, 3, 5, 3, 3,
786 5, 3, 5, 5, 3, 3, 3, 3, 3, 3
791 0, 0, 59, 62, 65, 0, 63, 67, 47, 64,
792 291, 2481, 84, 286, 125, 0, 105, 2481, 120, 125,
793 85, 169, 2481, 262, 139, 65, 69, 82, 2481, 2481,
794 80, 84, 118, 2481, 2481, 2481, 92, 269, 230, 0,
795 256, 110, 270, 97, 186, 2481, 193, 199, 197, 210,
796 219, 234, 255, 263, 269, 278, 284, 291, 297, 303,
797 320, 338, 0, 345, 363, 375, 381, 385, 2481, 0,
798 2481, 332, 349, 121, 144, 128, 152, 171, 160, 2481,
799 222, 248, 2481, 198, 2481, 169, 405, 411, 209, 417,
800 451, 428, 439, 450, 478, 493, 499, 506, 512, 518,
802 532, 540, 546, 552, 574, 586, 594, 602, 608, 614,
803 622, 628, 648, 661, 0, 177, 181, 184, 189, 207,
804 204, 130, 2481, 0, 667, 673, 155, 2481, 698, 695,
805 2481, 683, 723, 2481, 739, 748, 756, 762, 768, 776,
806 782, 810, 819, 827, 833, 839, 847, 853, 862, 875,
807 895, 903, 909, 917, 222, 2481, 2481, 223, 2481, 2481,
808 103, 0, 924, 931, 967, 937, 992, 1008, 943, 1014,
809 1020, 1032, 1042, 1049, 1055, 1065, 1071, 1077, 1088, 1099,
810 1110, 1121, 1127, 1134, 1143, 1149, 1155, 1169, 1183, 2481,
811 2481, 104, 0, 1190, 1197, 1232, 1204, 1211, 1218, 1230,
813 1259, 1276, 1282, 1288, 2481, 1294, 1300, 1310, 1316, 1322,
814 1328, 2481, 1334, 1351, 1357, 1363, 1369, 1375, 2481, 1391,
815 1397, 64, 0, 1403, 1409, 1437, 1445, 1451, 1459, 2481,
816 2481, 2481, 1470, 1479, 1487, 1499, 1507, 1516, 2481, 1522,
817 1528, 1540, 1557, 1550, 1563, 1569, 1576, 2481, 1583, 1597,
818 1609, 1618, 1625, 1631, 1637, 1643, 1651, 1660, 1666, 2481,
819 2481, 1672, 1686, 1694, 1700, 2481, 1706, 1712, 1722, 2481,
820 2481, 1728, 2481, 1734, 1767, 1773, 2481, 2481, 1779, 2481,
821 1786, 1792, 1802, 1812, 1820, 1827, 1836, 1848, 1855, 1861,
822 1869, 1883, 1889, 1897, 1903, 1909, 2481, 1918, 1925, 1943,
824 1951, 1965, 1971, 1977, 1985, 1991, 2000, 2010, 2019, 2025,
825 2036, 2044, 2053, 2064, 2072, 2079, 2086, 2092, 2481, 2098,
826 2105, 2112, 2481, 2133, 2140, 2481, 2149, 2156, 2162, 2481,
827 2168, 2174, 2182, 2210, 2481, 2481, 2218, 2224, 2230, 2236,
828 2243, 2258, 2264, 2271, 2481, 2278, 2284, 2292, 2299, 2312,
829 2320, 2327, 2481, 2333, 2340, 2481, 2346, 2355, 2481, 2481,
830 2362, 2368, 2375, 2481, 2481, 2481, 2414, 2421, 2428, 2435,
831 2442, 2449, 2456, 2460, 2465, 2467, 2469, 2471, 2473
836 366, 1, 367, 367, 1, 5, 5, 5, 5, 5,
837 366, 366, 366, 366, 368, 369, 366, 366, 366, 366,
838 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
839 366, 366, 366, 366, 366, 366, 366, 366, 366, 370,
840 366, 366, 366, 371, 368, 366, 368, 368, 372, 368,
841 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
842 368, 368, 369, 366, 366, 366, 366, 366, 366, 373,
843 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
844 366, 370, 366, 371, 366, 374, 368, 368, 375, 368,
845 372, 368, 368, 368, 368, 368, 368, 368, 368, 368,
847 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
848 368, 368, 368, 368, 373, 366, 366, 366, 366, 366,
849 366, 366, 366, 376, 368, 368, 375, 366, 372, 368,
850 366, 368, 368, 366, 368, 368, 368, 368, 368, 368,
851 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
852 368, 368, 368, 368, 366, 366, 366, 366, 366, 366,
853 366, 377, 368, 368, 372, 368, 368, 368, 368, 368,
854 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
855 368, 368, 368, 368, 368, 368, 368, 368, 368, 366,
856 366, 366, 378, 368, 368, 372, 368, 368, 368, 368,
858 368, 368, 368, 368, 366, 368, 368, 368, 368, 368,
859 368, 366, 368, 368, 368, 368, 368, 368, 366, 368,
860 368, 366, 379, 368, 368, 368, 368, 368, 368, 366,
861 366, 366, 368, 368, 368, 368, 368, 368, 366, 368,
862 368, 368, 368, 368, 368, 368, 368, 366, 368, 368,
863 368, 368, 368, 368, 368, 368, 368, 368, 368, 366,
864 366, 368, 368, 368, 368, 366, 368, 368, 368, 366,
865 366, 368, 366, 368, 368, 368, 366, 366, 368, 366,
866 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
867 368, 368, 368, 368, 368, 368, 366, 368, 368, 368,
869 368, 368, 368, 368, 368, 368, 368, 368, 368, 368,
870 368, 368, 368, 368, 368, 368, 368, 368, 366, 368,
871 368, 368, 366, 368, 368, 366, 368, 368, 368, 366,
872 368, 368, 368, 368, 366, 366, 368, 368, 368, 368,
873 368, 368, 368, 368, 366, 368, 368, 368, 368, 368,
874 368, 368, 366, 368, 368, 366, 368, 368, 366, 366,
875 368, 368, 368, 366, 366, 0, 366, 366, 366, 366,
876 366, 366, 366, 366, 366, 366, 366, 366, 366
881 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
882 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
883 12, 12, 12, 25, 26, 12, 27, 12, 12, 28,
884 12, 29, 12, 30, 12, 12, 12, 12, 12, 25,
885 31, 12, 12, 12, 12, 12, 12, 32, 12, 12,
886 12, 12, 33, 12, 12, 12, 12, 12, 34, 35,
887 37, 14, 37, 37, 14, 37, 38, 41, 40, 38,
888 12, 12, 40, 12, 12, 12, 12, 12, 12, 12,
889 12, 12, 12, 12, 41, 42, 74, 42, 12, 12,
890 12, 12, 69, 42, 12, 42, 12, 70, 12, 75,
892 74, 74, 85, 248, 12, 12, 12, 12, 39, 76,
893 12, 42, 12, 42, 75, 77, 64, 12, 65, 65,
894 65, 65, 75, 12, 12, 44, 44, 44, 66, 86,
895 46, 64, 76, 67, 67, 67, 67, 78, 68, 68,
896 68, 68, 222, 66, 66, 76, 116, 72, 66, 72,
897 47, 48, 73, 73, 73, 73, 192, 49, 118, 66,
898 128, 50, 51, 52, 66, 53, 116, 54, 79, 117,
899 55, 56, 57, 58, 59, 161, 60, 116, 61, 62,
900 64, 118, 67, 67, 67, 67, 44, 44, 44, 117,
901 118, 46, 66, 44, 44, 44, 117, 119, 46, 44,
903 44, 44, 90, 85, 46, 155, 156, 157, 66, 45,
904 44, 44, 44, 121, 128, 46, 120, 155, 49, 44,
905 44, 44, 124, 157, 46, 49, 156, 157, 155, 45,
906 86, 49, 156, 45, 44, 44, 44, 45, 88, 46,
907 158, 87, 49, 160, 45, 190, 190, 45, 95, 45,
908 91, 49, 159, 123, 93, 44, 44, 44, 92, 122,
909 46, 190, 191, 44, 44, 44, 49, 94, 46, 44,
910 44, 44, 43, 96, 46, 83, 97, 81, 44, 44,
911 44, 80, 71, 46, 44, 44, 44, 49, 43, 46,
912 366, 44, 44, 44, 366, 49, 46, 44, 44, 44,
914 98, 49, 46, 44, 44, 44, 366, 366, 46, 366,
915 49, 99, 101, 103, 366, 100, 49, 102, 366, 105,
916 44, 44, 44, 49, 366, 46, 104, 366, 366, 49,
917 366, 366, 107, 366, 366, 49, 366, 366, 44, 44,
918 44, 366, 108, 46, 106, 73, 73, 73, 73, 366,
919 366, 109, 49, 366, 366, 110, 111, 366, 68, 68,
920 68, 68, 73, 73, 73, 73, 366, 112, 66, 366,
921 49, 113, 366, 114, 64, 366, 65, 65, 65, 65,
922 366, 366, 366, 72, 66, 72, 66, 366, 73, 73,
923 73, 73, 64, 366, 67, 67, 67, 67, 68, 68,
925 68, 68, 66, 366, 66, 44, 44, 44, 66, 366,
926 46, 44, 44, 44, 366, 366, 46, 44, 44, 44,
927 66, 366, 46, 366, 66, 366, 366, 366, 44, 44,
928 44, 366, 366, 46, 366, 366, 366, 49, 366, 44,
929 44, 44, 366, 49, 131, 366, 125, 366, 366, 49,
930 44, 44, 44, 366, 366, 46, 366, 366, 366, 366,
931 49, 366, 366, 126, 129, 129, 129, 129, 366, 366,
932 366, 49, 129, 129, 129, 129, 130, 366, 44, 44,
933 44, 366, 49, 134, 366, 366, 129, 129, 129, 129,
934 129, 129, 366, 44, 44, 44, 132, 133, 46, 44,
936 44, 44, 366, 366, 46, 366, 44, 44, 44, 366,
937 49, 46, 44, 44, 44, 366, 366, 46, 44, 44,
938 44, 366, 366, 46, 366, 49, 366, 366, 366, 135,
939 366, 49, 44, 44, 44, 366, 136, 46, 49, 366,
940 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
941 49, 46, 44, 44, 44, 366, 366, 46, 366, 137,
942 138, 366, 366, 366, 49, 366, 366, 366, 140, 366,
943 139, 366, 49, 366, 44, 44, 44, 366, 49, 46,
944 366, 141, 366, 366, 49, 366, 44, 44, 44, 366,
945 144, 46, 366, 142, 44, 44, 44, 366, 366, 46,
947 366, 143, 44, 44, 44, 366, 49, 46, 44, 44,
948 44, 366, 366, 46, 44, 44, 44, 366, 49, 46,
949 145, 366, 44, 44, 44, 366, 49, 46, 44, 44,
950 44, 366, 366, 46, 49, 366, 366, 366, 146, 366,
951 49, 366, 366, 366, 147, 149, 49, 366, 44, 44,
952 44, 366, 150, 46, 49, 366, 148, 366, 151, 366,
953 49, 44, 44, 44, 366, 366, 46, 44, 44, 44,
954 366, 152, 46, 44, 44, 44, 366, 366, 46, 366,
955 49, 366, 366, 44, 44, 44, 366, 153, 46, 366,
956 366, 366, 366, 49, 366, 44, 44, 44, 366, 49,
958 46, 366, 366, 366, 366, 49, 154, 366, 163, 366,
959 164, 165, 165, 165, 165, 49, 366, 366, 366, 165,
960 165, 165, 165, 44, 44, 44, 366, 49, 46, 167,
961 366, 366, 366, 165, 165, 165, 165, 165, 165, 44,
962 44, 44, 366, 366, 46, 366, 366, 166, 44, 44,
963 44, 366, 366, 46, 366, 49, 44, 44, 44, 366,
964 366, 46, 44, 44, 44, 366, 366, 46, 44, 44,
965 44, 49, 366, 46, 366, 168, 44, 44, 44, 366,
966 49, 46, 44, 44, 44, 366, 366, 46, 49, 366,
967 366, 366, 169, 366, 49, 366, 366, 170, 366, 366,
969 49, 366, 366, 366, 366, 366, 172, 171, 49, 366,
970 44, 44, 44, 366, 49, 46, 366, 173, 366, 44,
971 44, 44, 366, 175, 46, 366, 174, 44, 44, 44,
972 366, 366, 46, 44, 44, 44, 366, 366, 46, 44,
973 44, 44, 49, 366, 46, 176, 366, 44, 44, 44,
974 366, 49, 46, 44, 44, 44, 366, 366, 46, 49,
975 366, 366, 44, 44, 44, 49, 179, 46, 366, 366,
976 177, 49, 180, 178, 366, 44, 44, 44, 366, 49,
977 46, 366, 182, 366, 366, 49, 366, 366, 181, 366,
978 366, 366, 183, 366, 49, 44, 44, 44, 366, 366,
980 46, 366, 366, 44, 44, 44, 184, 49, 46, 44,
981 44, 44, 366, 366, 46, 366, 366, 44, 44, 44,
982 366, 366, 46, 185, 44, 44, 44, 49, 366, 46,
983 366, 44, 44, 44, 366, 49, 46, 44, 44, 44,
984 366, 49, 46, 44, 44, 44, 186, 197, 46, 49,
985 366, 366, 366, 366, 366, 366, 49, 366, 187, 188,
986 189, 366, 366, 49, 366, 366, 366, 194, 366, 49,
987 366, 366, 366, 366, 366, 49, 366, 366, 366, 195,
988 196, 196, 196, 196, 200, 366, 366, 366, 196, 196,
989 196, 196, 44, 44, 44, 366, 366, 46, 366, 366,
991 366, 366, 196, 196, 196, 196, 196, 196, 44, 44,
992 44, 366, 366, 46, 44, 44, 44, 366, 366, 46,
993 44, 44, 44, 366, 49, 46, 366, 366, 366, 201,
994 202, 198, 44, 44, 44, 366, 366, 46, 366, 366,
995 49, 366, 44, 44, 44, 366, 49, 205, 366, 44,
996 44, 44, 49, 366, 46, 44, 44, 44, 199, 366,
997 46, 366, 203, 366, 49, 44, 44, 44, 366, 366,
998 46, 44, 44, 44, 49, 366, 46, 44, 44, 44,
999 366, 49, 46, 204, 206, 366, 366, 49, 44, 44,
1000 44, 366, 366, 46, 207, 366, 366, 49, 366, 44,
1002 44, 44, 366, 49, 212, 366, 208, 366, 366, 49,
1003 44, 44, 44, 366, 209, 46, 210, 366, 366, 366,
1004 49, 44, 44, 44, 366, 366, 46, 44, 44, 44,
1005 366, 49, 46, 211, 44, 44, 44, 366, 366, 46,
1006 366, 366, 49, 44, 44, 44, 366, 366, 46, 44,
1007 44, 44, 366, 49, 46, 44, 44, 44, 366, 49,
1008 219, 366, 366, 213, 366, 366, 49, 214, 366, 44,
1009 44, 44, 366, 216, 46, 49, 366, 215, 366, 220,
1010 366, 49, 366, 44, 44, 44, 218, 49, 46, 366,
1011 44, 44, 44, 366, 366, 46, 217, 44, 44, 44,
1013 366, 49, 46, 366, 44, 44, 44, 366, 366, 46,
1014 366, 44, 44, 44, 366, 49, 46, 366, 44, 44,
1015 44, 221, 49, 46, 366, 366, 366, 366, 366, 49,
1016 44, 44, 44, 366, 366, 46, 49, 224, 366, 366,
1017 366, 366, 366, 49, 225, 45, 45, 45, 45, 366,
1018 49, 366, 366, 45, 45, 45, 45, 226, 227, 44,
1019 44, 44, 49, 366, 230, 366, 228, 45, 45, 45,
1020 45, 45, 45, 366, 366, 229, 44, 44, 44, 366,
1021 366, 231, 44, 44, 44, 366, 366, 232, 44, 44,
1022 44, 49, 366, 46, 44, 44, 44, 366, 233, 46,
1024 44, 44, 44, 366, 366, 46, 366, 366, 49, 366,
1025 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
1026 49, 46, 44, 44, 44, 366, 49, 46, 44, 44,
1027 44, 366, 49, 239, 44, 44, 44, 366, 366, 46,
1028 366, 366, 49, 366, 234, 366, 366, 366, 49, 236,
1029 235, 44, 44, 44, 49, 366, 46, 44, 44, 44,
1030 49, 366, 46, 44, 44, 44, 49, 366, 46, 44,
1031 44, 44, 238, 237, 46, 44, 44, 44, 366, 366,
1032 46, 366, 366, 49, 366, 366, 240, 366, 366, 49,
1033 241, 44, 44, 44, 366, 49, 46, 44, 44, 44,
1035 242, 49, 46, 44, 44, 44, 366, 49, 46, 44,
1036 44, 44, 366, 366, 46, 243, 366, 366, 366, 366,
1037 366, 244, 366, 49, 366, 245, 366, 366, 246, 49,
1038 366, 366, 247, 366, 366, 49, 366, 44, 44, 44,
1039 366, 49, 46, 366, 249, 44, 44, 44, 366, 250,
1040 46, 44, 44, 44, 366, 366, 46, 366, 366, 44,
1041 44, 44, 366, 366, 46, 366, 366, 366, 366, 49,
1042 44, 44, 44, 366, 366, 46, 366, 49, 366, 44,
1043 44, 44, 366, 49, 46, 366, 251, 44, 44, 44,
1044 366, 49, 46, 366, 366, 366, 253, 252, 254, 44,
1046 44, 44, 49, 366, 46, 366, 366, 44, 44, 44,
1047 366, 49, 46, 366, 366, 255, 44, 44, 44, 49,
1048 366, 260, 44, 44, 44, 366, 366, 261, 44, 44,
1049 44, 49, 366, 46, 366, 256, 366, 258, 257, 49,
1050 44, 44, 44, 366, 366, 46, 259, 366, 49, 366,
1051 44, 44, 44, 366, 49, 266, 262, 44, 44, 44,
1052 49, 366, 46, 44, 44, 44, 366, 265, 46, 44,
1053 44, 44, 49, 366, 46, 366, 44, 44, 44, 366,
1054 263, 46, 49, 44, 44, 44, 366, 366, 270, 49,
1055 366, 366, 264, 366, 366, 49, 366, 44, 44, 44,
1057 366, 49, 271, 366, 366, 366, 267, 366, 49, 44,
1058 44, 44, 366, 366, 46, 49, 366, 268, 44, 44,
1059 44, 366, 366, 273, 366, 44, 44, 44, 269, 49,
1060 46, 44, 44, 44, 366, 274, 46, 44, 44, 44,
1061 366, 49, 46, 44, 44, 44, 366, 272, 277, 366,
1062 49, 44, 44, 44, 366, 366, 278, 49, 366, 366,
1063 44, 44, 44, 49, 366, 46, 44, 44, 44, 49,
1064 279, 280, 44, 44, 44, 49, 366, 46, 366, 366,
1065 276, 366, 366, 49, 366, 275, 44, 44, 44, 366,
1066 366, 46, 49, 366, 44, 44, 44, 366, 49, 46,
1068 44, 44, 44, 366, 49, 46, 44, 44, 44, 366,
1069 366, 46, 44, 44, 44, 366, 366, 46, 49, 366,
1070 281, 366, 44, 44, 44, 282, 49, 46, 44, 44,
1071 44, 366, 49, 46, 44, 44, 44, 366, 49, 46,
1072 366, 366, 287, 366, 49, 366, 366, 284, 366, 366,
1073 283, 366, 285, 286, 49, 366, 366, 366, 366, 288,
1074 49, 289, 366, 290, 366, 366, 49, 44, 44, 44,
1075 366, 366, 46, 44, 44, 44, 366, 366, 46, 44,
1076 44, 44, 366, 366, 46, 291, 44, 44, 44, 366,
1077 366, 46, 44, 44, 44, 366, 366, 46, 366, 49,
1079 366, 366, 44, 44, 44, 49, 292, 297, 366, 293,
1080 366, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1081 44, 44, 44, 366, 49, 46, 366, 44, 44, 44,
1082 294, 366, 46, 366, 49, 295, 44, 44, 44, 366,
1083 366, 46, 296, 366, 49, 366, 366, 298, 44, 44,
1084 44, 366, 49, 46, 366, 44, 44, 44, 366, 49,
1085 46, 44, 44, 44, 366, 303, 46, 366, 49, 44,
1086 44, 44, 366, 366, 46, 301, 299, 300, 366, 366,
1087 49, 366, 366, 44, 44, 44, 366, 49, 46, 44,
1088 44, 44, 366, 49, 46, 366, 366, 44, 44, 44,
1090 302, 49, 46, 44, 44, 44, 366, 366, 46, 44,
1091 44, 44, 366, 304, 46, 49, 366, 305, 44, 44,
1092 44, 49, 366, 46, 366, 44, 44, 44, 306, 49,
1093 46, 366, 366, 366, 366, 49, 308, 366, 366, 307,
1094 366, 49, 366, 44, 44, 44, 366, 366, 46, 366,
1095 49, 44, 44, 44, 366, 309, 46, 49, 366, 366,
1096 310, 314, 366, 366, 311, 44, 44, 44, 366, 366,
1097 46, 44, 44, 44, 312, 49, 46, 44, 44, 44,
1098 366, 366, 46, 49, 366, 44, 44, 44, 313, 366,
1099 46, 44, 44, 44, 366, 366, 319, 49, 366, 366,
1101 44, 44, 44, 49, 315, 46, 366, 366, 316, 49,
1102 44, 44, 44, 366, 366, 46, 317, 49, 366, 44,
1103 44, 44, 318, 49, 46, 44, 44, 44, 366, 366,
1104 323, 366, 49, 366, 366, 320, 44, 44, 44, 366,
1105 366, 46, 49, 366, 44, 44, 44, 366, 366, 46,
1106 366, 49, 366, 44, 44, 44, 366, 49, 326, 366,
1107 321, 366, 322, 366, 44, 44, 44, 366, 49, 46,
1108 366, 366, 44, 44, 44, 324, 49, 46, 366, 44,
1109 44, 44, 366, 325, 46, 49, 44, 44, 44, 366,
1110 366, 330, 44, 44, 44, 366, 49, 46, 44, 44,
1112 44, 327, 366, 46, 49, 44, 44, 44, 366, 366,
1113 46, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1114 366, 329, 366, 366, 49, 366, 366, 328, 366, 366,
1115 49, 366, 366, 44, 44, 44, 331, 49, 335, 366,
1116 44, 44, 44, 366, 49, 336, 366, 366, 332, 44,
1117 44, 44, 366, 366, 46, 366, 44, 44, 44, 333,
1118 334, 46, 44, 44, 44, 49, 366, 46, 44, 44,
1119 44, 366, 49, 46, 44, 44, 44, 366, 366, 46,
1120 366, 49, 44, 44, 44, 366, 366, 46, 49, 366,
1121 366, 337, 366, 366, 49, 366, 366, 339, 366, 366,
1123 49, 366, 366, 366, 366, 366, 49, 340, 338, 366,
1124 44, 44, 44, 366, 49, 46, 366, 341, 44, 44,
1125 44, 342, 366, 46, 44, 44, 44, 366, 366, 345,
1126 44, 44, 44, 366, 366, 46, 44, 44, 44, 366,
1127 366, 46, 49, 44, 44, 44, 366, 366, 46, 366,
1128 49, 366, 366, 344, 366, 366, 49, 343, 44, 44,
1129 44, 366, 49, 46, 44, 44, 44, 366, 49, 46,
1130 366, 44, 44, 44, 366, 49, 46, 346, 44, 44,
1131 44, 366, 348, 46, 44, 44, 44, 366, 347, 353,
1132 49, 366, 44, 44, 44, 366, 49, 46, 366, 44,
1134 44, 44, 366, 49, 46, 366, 366, 366, 349, 366,
1135 49, 366, 44, 44, 44, 350, 49, 356, 351, 352,
1136 44, 44, 44, 366, 49, 46, 366, 44, 44, 44,
1137 366, 49, 46, 44, 44, 44, 366, 366, 359, 366,
1138 44, 44, 44, 354, 49, 360, 44, 44, 44, 366,
1139 355, 46, 49, 366, 366, 44, 44, 44, 366, 49,
1140 46, 357, 44, 44, 44, 49, 358, 46, 44, 44,
1141 44, 366, 49, 364, 366, 44, 44, 44, 49, 366,
1142 365, 366, 366, 366, 366, 361, 366, 49, 366, 366,
1143 366, 366, 366, 366, 49, 366, 366, 366, 366, 366,
1145 49, 366, 366, 366, 366, 366, 362, 49, 366, 366,
1146 366, 366, 366, 363, 36, 36, 36, 36, 36, 36,
1147 36, 45, 45, 45, 45, 45, 45, 45, 63, 366,
1148 63, 63, 63, 63, 63, 82, 366, 82, 366, 82,
1149 82, 82, 84, 84, 84, 84, 84, 84, 84, 89,
1150 89, 89, 89, 89, 89, 89, 115, 366, 115, 115,
1151 115, 115, 115, 84, 84, 366, 84, 127, 127, 127,
1152 127, 127, 162, 162, 193, 193, 223, 223, 84, 84,
1153 11, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1154 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1156 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1157 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1158 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1159 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1165 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1166 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1167 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1168 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1169 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1170 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1171 3, 3, 3, 4, 4, 4, 3, 9, 7, 4,
1172 5, 5, 8, 5, 5, 5, 5, 5, 5, 5,
1173 5, 5, 5, 5, 10, 13, 26, 13, 5, 5,
1174 9, 5, 21, 37, 5, 37, 5, 21, 5, 27,
1176 26, 31, 44, 222, 5, 5, 7, 10, 5, 28,
1177 8, 42, 5, 42, 32, 31, 17, 5, 17, 17,
1178 17, 17, 27, 5, 5, 15, 15, 15, 17, 44,
1179 15, 19, 28, 19, 19, 19, 19, 32, 20, 20,
1180 20, 20, 192, 19, 17, 33, 74, 25, 20, 25,
1181 15, 15, 25, 25, 25, 25, 161, 15, 76, 19,
1182 127, 15, 15, 15, 20, 15, 74, 15, 33, 75,
1183 15, 15, 15, 15, 15, 122, 15, 77, 15, 15,
1184 22, 76, 22, 22, 22, 22, 45, 45, 45, 75,
1185 79, 45, 22, 47, 47, 47, 78, 77, 47, 48,
1187 48, 48, 49, 84, 48, 116, 117, 118, 22, 49,
1188 50, 50, 50, 79, 89, 50, 78, 119, 45, 51,
1189 51, 51, 86, 118, 51, 47, 117, 121, 116, 49,
1190 84, 48, 120, 49, 52, 52, 52, 49, 48, 52,
1191 119, 47, 50, 121, 49, 155, 158, 49, 52, 49,
1192 49, 51, 120, 82, 51, 53, 53, 53, 50, 81,
1193 53, 155, 158, 54, 54, 54, 52, 51, 54, 55,
1194 55, 55, 43, 52, 55, 41, 52, 39, 56, 56,
1195 56, 38, 24, 56, 57, 57, 57, 53, 14, 57,
1196 11, 58, 58, 58, 0, 54, 58, 59, 59, 59,
1198 53, 55, 59, 60, 60, 60, 0, 0, 60, 0,
1199 56, 54, 55, 56, 0, 54, 57, 55, 0, 57,
1200 61, 61, 61, 58, 0, 61, 56, 0, 0, 59,
1201 0, 0, 59, 0, 0, 60, 0, 0, 62, 62,
1202 62, 0, 60, 62, 58, 72, 72, 72, 72, 0,
1203 0, 60, 61, 0, 0, 60, 60, 0, 64, 64,
1204 64, 64, 73, 73, 73, 73, 0, 61, 64, 0,
1205 62, 61, 0, 62, 65, 0, 65, 65, 65, 65,
1206 0, 0, 0, 66, 64, 66, 65, 0, 66, 66,
1207 66, 66, 67, 0, 67, 67, 67, 67, 68, 68,
1209 68, 68, 65, 0, 67, 87, 87, 87, 68, 0,
1210 87, 88, 88, 88, 0, 0, 88, 90, 90, 90,
1211 67, 0, 90, 0, 68, 0, 0, 0, 92, 92,
1212 92, 0, 0, 92, 0, 0, 0, 87, 0, 93,
1213 93, 93, 0, 88, 93, 0, 87, 0, 0, 90,
1214 94, 94, 94, 0, 0, 94, 0, 0, 0, 0,
1215 92, 0, 0, 88, 91, 91, 91, 91, 0, 0,
1216 0, 93, 91, 91, 91, 91, 92, 0, 95, 95,
1217 95, 0, 94, 95, 0, 0, 91, 91, 91, 91,
1218 91, 91, 0, 96, 96, 96, 94, 94, 96, 97,
1220 97, 97, 0, 0, 97, 0, 98, 98, 98, 0,
1221 95, 98, 99, 99, 99, 0, 0, 99, 100, 100,
1222 100, 0, 0, 100, 0, 96, 0, 0, 0, 96,
1223 0, 97, 101, 101, 101, 0, 97, 101, 98, 0,
1224 102, 102, 102, 0, 99, 102, 103, 103, 103, 0,
1225 100, 103, 104, 104, 104, 0, 0, 104, 0, 98,
1226 99, 0, 0, 0, 101, 0, 0, 0, 101, 0,
1227 100, 0, 102, 0, 105, 105, 105, 0, 103, 105,
1228 0, 102, 0, 0, 104, 0, 106, 106, 106, 0,
1229 104, 106, 0, 103, 107, 107, 107, 0, 0, 107,
1231 0, 103, 108, 108, 108, 0, 105, 108, 109, 109,
1232 109, 0, 0, 109, 110, 110, 110, 0, 106, 110,
1233 105, 0, 111, 111, 111, 0, 107, 111, 112, 112,
1234 112, 0, 0, 112, 108, 0, 0, 0, 106, 0,
1235 109, 0, 0, 0, 107, 109, 110, 0, 113, 113,
1236 113, 0, 110, 113, 111, 0, 108, 0, 111, 0,
1237 112, 114, 114, 114, 0, 0, 114, 125, 125, 125,
1238 0, 112, 125, 126, 126, 126, 0, 0, 126, 0,
1239 113, 0, 0, 132, 132, 132, 0, 113, 132, 0,
1240 0, 0, 0, 114, 0, 130, 130, 130, 0, 125,
1242 130, 0, 0, 0, 0, 126, 114, 0, 125, 0,
1243 126, 129, 129, 129, 129, 132, 0, 0, 0, 129,
1244 129, 129, 129, 133, 133, 133, 0, 130, 133, 132,
1245 0, 0, 0, 129, 129, 129, 129, 129, 129, 135,
1246 135, 135, 0, 0, 135, 0, 0, 130, 136, 136,
1247 136, 0, 0, 136, 0, 133, 137, 137, 137, 0,
1248 0, 137, 138, 138, 138, 0, 0, 138, 139, 139,
1249 139, 135, 0, 139, 0, 133, 140, 140, 140, 0,
1250 136, 140, 141, 141, 141, 0, 0, 141, 137, 0,
1251 0, 0, 135, 0, 138, 0, 0, 136, 0, 0,
1253 139, 0, 0, 0, 0, 0, 138, 137, 140, 0,
1254 142, 142, 142, 0, 141, 142, 0, 139, 0, 143,
1255 143, 143, 0, 141, 143, 0, 140, 144, 144, 144,
1256 0, 0, 144, 145, 145, 145, 0, 0, 145, 146,
1257 146, 146, 142, 0, 146, 142, 0, 147, 147, 147,
1258 0, 143, 147, 148, 148, 148, 0, 0, 148, 144,
1259 0, 0, 149, 149, 149, 145, 144, 149, 0, 0,
1260 143, 146, 145, 143, 0, 150, 150, 150, 0, 147,
1261 150, 0, 147, 0, 0, 148, 0, 0, 146, 0,
1262 0, 0, 148, 0, 149, 151, 151, 151, 0, 0,
1264 151, 0, 0, 152, 152, 152, 149, 150, 152, 153,
1265 153, 153, 0, 0, 153, 0, 0, 154, 154, 154,
1266 0, 0, 154, 150, 163, 163, 163, 151, 0, 163,
1267 0, 164, 164, 164, 0, 152, 164, 166, 166, 166,
1268 0, 153, 166, 169, 169, 169, 151, 166, 169, 154,
1269 0, 0, 0, 0, 0, 0, 163, 0, 152, 153,
1270 154, 0, 0, 164, 0, 0, 0, 163, 0, 166,
1271 0, 0, 0, 0, 0, 169, 0, 0, 0, 164,
1272 165, 165, 165, 165, 169, 0, 0, 0, 165, 165,
1273 165, 165, 167, 167, 167, 0, 0, 167, 0, 0,
1275 0, 0, 165, 165, 165, 165, 165, 165, 168, 168,
1276 168, 0, 0, 168, 170, 170, 170, 0, 0, 170,
1277 171, 171, 171, 0, 167, 171, 0, 0, 0, 170,
1278 170, 167, 172, 172, 172, 0, 0, 172, 0, 0,
1279 168, 0, 173, 173, 173, 0, 170, 173, 0, 174,
1280 174, 174, 171, 0, 174, 175, 175, 175, 168, 0,
1281 175, 0, 171, 0, 172, 176, 176, 176, 0, 0,
1282 176, 177, 177, 177, 173, 0, 177, 178, 178, 178,
1283 0, 174, 178, 172, 174, 0, 0, 175, 179, 179,
1284 179, 0, 0, 179, 175, 0, 0, 176, 0, 180,
1286 180, 180, 0, 177, 180, 0, 176, 0, 0, 178,
1287 181, 181, 181, 0, 177, 181, 178, 0, 0, 0,
1288 179, 182, 182, 182, 0, 0, 182, 183, 183, 183,
1289 0, 180, 183, 179, 184, 184, 184, 0, 0, 184,
1290 0, 0, 181, 185, 185, 185, 0, 0, 185, 186,
1291 186, 186, 0, 182, 186, 187, 187, 187, 0, 183,
1292 187, 0, 0, 181, 0, 0, 184, 182, 0, 188,
1293 188, 188, 0, 184, 188, 185, 0, 183, 0, 188,
1294 0, 186, 0, 189, 189, 189, 186, 187, 189, 0,
1295 194, 194, 194, 0, 0, 194, 185, 195, 195, 195,
1297 0, 188, 195, 0, 197, 197, 197, 0, 0, 197,
1298 0, 198, 198, 198, 0, 189, 198, 0, 199, 199,
1299 199, 189, 194, 199, 0, 0, 0, 0, 0, 195,
1300 200, 200, 200, 0, 0, 200, 197, 194, 0, 0,
1301 0, 0, 0, 198, 195, 196, 196, 196, 196, 0,
1302 199, 0, 0, 196, 196, 196, 196, 197, 198, 201,
1303 201, 201, 200, 0, 201, 0, 199, 196, 196, 196,
1304 196, 196, 196, 0, 0, 200, 202, 202, 202, 0,
1305 0, 202, 203, 203, 203, 0, 0, 203, 204, 204,
1306 204, 201, 0, 204, 206, 206, 206, 0, 204, 206,
1308 207, 207, 207, 0, 0, 207, 0, 0, 202, 0,
1309 208, 208, 208, 0, 203, 208, 209, 209, 209, 0,
1310 204, 209, 210, 210, 210, 0, 206, 210, 211, 211,
1311 211, 0, 207, 211, 213, 213, 213, 0, 0, 213,
1312 0, 0, 208, 0, 206, 0, 0, 0, 209, 208,
1313 207, 214, 214, 214, 210, 0, 214, 215, 215, 215,
1314 211, 0, 215, 216, 216, 216, 213, 0, 216, 217,
1315 217, 217, 210, 209, 217, 218, 218, 218, 0, 0,
1316 218, 0, 0, 214, 0, 0, 213, 0, 0, 215,
1317 214, 220, 220, 220, 0, 216, 220, 221, 221, 221,
1319 215, 217, 221, 224, 224, 224, 0, 218, 224, 225,
1320 225, 225, 0, 0, 225, 216, 0, 0, 0, 0,
1321 0, 217, 0, 220, 0, 218, 0, 0, 220, 221,
1322 0, 0, 221, 0, 0, 224, 0, 226, 226, 226,
1323 0, 225, 226, 0, 224, 227, 227, 227, 0, 225,
1324 227, 228, 228, 228, 0, 0, 228, 0, 0, 229,
1325 229, 229, 0, 0, 229, 0, 0, 0, 0, 226,
1326 233, 233, 233, 0, 0, 233, 0, 227, 0, 234,
1327 234, 234, 0, 228, 234, 0, 226, 235, 235, 235,
1328 0, 229, 235, 0, 0, 0, 228, 227, 229, 236,
1330 236, 236, 233, 0, 236, 0, 0, 237, 237, 237,
1331 0, 234, 237, 0, 0, 233, 238, 238, 238, 235,
1332 0, 238, 240, 240, 240, 0, 0, 240, 241, 241,
1333 241, 236, 0, 241, 0, 234, 0, 236, 235, 237,
1334 242, 242, 242, 0, 0, 242, 237, 0, 238, 0,
1335 244, 244, 244, 0, 240, 244, 240, 243, 243, 243,
1336 241, 0, 243, 245, 245, 245, 0, 243, 245, 246,
1337 246, 246, 242, 0, 246, 0, 247, 247, 247, 0,
1338 241, 247, 244, 249, 249, 249, 0, 0, 249, 243,
1339 0, 0, 242, 0, 0, 245, 0, 250, 250, 250,
1341 0, 246, 250, 0, 0, 0, 245, 0, 247, 251,
1342 251, 251, 0, 0, 251, 249, 0, 246, 252, 252,
1343 252, 0, 0, 252, 0, 253, 253, 253, 247, 250,
1344 253, 254, 254, 254, 0, 253, 254, 255, 255, 255,
1345 0, 251, 255, 256, 256, 256, 0, 251, 256, 0,
1346 252, 257, 257, 257, 0, 0, 257, 253, 0, 0,
1347 258, 258, 258, 254, 0, 258, 259, 259, 259, 255,
1348 258, 259, 262, 262, 262, 256, 0, 262, 0, 0,
1349 255, 0, 0, 257, 0, 254, 263, 263, 263, 0,
1350 0, 263, 258, 0, 264, 264, 264, 0, 259, 264,
1352 265, 265, 265, 0, 262, 265, 267, 267, 267, 0,
1353 0, 267, 268, 268, 268, 0, 0, 268, 263, 0,
1354 262, 0, 269, 269, 269, 263, 264, 269, 272, 272,
1355 272, 0, 265, 272, 274, 274, 274, 0, 267, 274,
1356 0, 0, 267, 0, 268, 0, 0, 265, 0, 0,
1357 264, 0, 265, 265, 269, 0, 0, 0, 0, 268,
1358 272, 269, 0, 272, 0, 0, 274, 275, 275, 275,
1359 0, 0, 275, 276, 276, 276, 0, 0, 276, 279,
1360 279, 279, 0, 0, 279, 274, 281, 281, 281, 0,
1361 0, 281, 282, 282, 282, 0, 0, 282, 0, 275,
1363 0, 0, 283, 283, 283, 276, 275, 283, 0, 276,
1364 0, 279, 284, 284, 284, 0, 0, 284, 281, 0,
1365 285, 285, 285, 0, 282, 285, 0, 286, 286, 286,
1366 279, 0, 286, 0, 283, 281, 287, 287, 287, 0,
1367 0, 287, 282, 0, 284, 0, 0, 284, 288, 288,
1368 288, 0, 285, 288, 0, 289, 289, 289, 0, 286,
1369 289, 290, 290, 290, 0, 289, 290, 0, 287, 291,
1370 291, 291, 0, 0, 291, 287, 285, 286, 0, 0,
1371 288, 0, 0, 292, 292, 292, 0, 289, 292, 293,
1372 293, 293, 0, 290, 293, 0, 0, 294, 294, 294,
1374 288, 291, 294, 295, 295, 295, 0, 0, 295, 296,
1375 296, 296, 0, 290, 296, 292, 0, 291, 298, 298,
1376 298, 293, 0, 298, 0, 299, 299, 299, 292, 294,
1377 299, 0, 0, 0, 0, 295, 294, 0, 0, 293,
1378 0, 296, 0, 300, 300, 300, 0, 0, 300, 0,
1379 298, 301, 301, 301, 0, 295, 301, 299, 0, 0,
1380 296, 301, 0, 0, 298, 302, 302, 302, 0, 0,
1381 302, 303, 303, 303, 299, 300, 303, 304, 304, 304,
1382 0, 0, 304, 301, 0, 305, 305, 305, 300, 0,
1383 305, 306, 306, 306, 0, 0, 306, 302, 0, 0,
1385 307, 307, 307, 303, 302, 307, 0, 0, 303, 304,
1386 308, 308, 308, 0, 0, 308, 304, 305, 0, 309,
1387 309, 309, 305, 306, 309, 310, 310, 310, 0, 0,
1388 310, 0, 307, 0, 0, 307, 311, 311, 311, 0,
1389 0, 311, 308, 0, 312, 312, 312, 0, 0, 312,
1390 0, 309, 0, 313, 313, 313, 0, 310, 313, 0,
1391 308, 0, 309, 0, 314, 314, 314, 0, 311, 314,
1392 0, 0, 315, 315, 315, 311, 312, 315, 0, 316,
1393 316, 316, 0, 312, 316, 313, 317, 317, 317, 0,
1394 0, 317, 318, 318, 318, 0, 314, 318, 320, 320,
1396 320, 314, 0, 320, 315, 321, 321, 321, 0, 0,
1397 321, 316, 322, 322, 322, 0, 0, 322, 317, 0,
1398 0, 316, 0, 0, 318, 0, 0, 315, 0, 0,
1399 320, 0, 0, 324, 324, 324, 318, 321, 324, 0,
1400 325, 325, 325, 0, 322, 325, 0, 0, 320, 327,
1401 327, 327, 0, 0, 327, 0, 328, 328, 328, 321,
1402 322, 328, 329, 329, 329, 324, 0, 329, 331, 331,
1403 331, 0, 325, 331, 332, 332, 332, 0, 0, 332,
1404 0, 327, 333, 333, 333, 0, 0, 333, 328, 0,
1405 0, 327, 0, 0, 329, 0, 0, 329, 0, 0,
1407 331, 0, 0, 0, 0, 0, 332, 331, 328, 0,
1408 334, 334, 334, 0, 333, 334, 0, 332, 337, 337,
1409 337, 333, 0, 337, 338, 338, 338, 0, 0, 338,
1410 339, 339, 339, 0, 0, 339, 340, 340, 340, 0,
1411 0, 340, 334, 341, 341, 341, 0, 0, 341, 0,
1412 337, 0, 0, 337, 0, 0, 338, 334, 342, 342,
1413 342, 0, 339, 342, 343, 343, 343, 0, 340, 343,
1414 0, 344, 344, 344, 0, 341, 344, 339, 346, 346,
1415 346, 0, 341, 346, 347, 347, 347, 0, 340, 347,
1416 342, 0, 348, 348, 348, 0, 343, 348, 0, 349,
1418 349, 349, 0, 344, 349, 0, 0, 0, 342, 0,
1419 346, 0, 350, 350, 350, 343, 347, 350, 344, 346,
1420 351, 351, 351, 0, 348, 351, 0, 352, 352, 352,
1421 0, 349, 352, 354, 354, 354, 0, 0, 354, 0,
1422 355, 355, 355, 348, 350, 355, 357, 357, 357, 0,
1423 349, 357, 351, 0, 0, 358, 358, 358, 0, 352,
1424 358, 351, 361, 361, 361, 354, 352, 361, 362, 362,
1425 362, 0, 355, 362, 0, 363, 363, 363, 357, 0,
1426 363, 0, 0, 0, 0, 357, 0, 358, 0, 0,
1427 0, 0, 0, 0, 361, 0, 0, 0, 0, 0,
1429 362, 0, 0, 0, 0, 0, 358, 363, 0, 0,
1430 0, 0, 0, 361, 367, 367, 367, 367, 367, 367,
1431 367, 368, 368, 368, 368, 368, 368, 368, 369, 0,
1432 369, 369, 369, 369, 369, 370, 0, 370, 0, 370,
1433 370, 370, 371, 371, 371, 371, 371, 371, 371, 372,
1434 372, 372, 372, 372, 372, 372, 373, 0, 373, 373,
1435 373, 373, 373, 374, 374, 0, 374, 375, 375, 375,
1436 375, 375, 376, 376, 377, 377, 378, 378, 379, 379,
1437 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1438 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1440 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1441 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1442 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1443 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
1448static char *yy_last_accepting_cpos;
1455 133, 135, 137, 142, 143, 148, 149, 150, 162, 165,
1456 170, 177, 186, 198, 210, 220, 230, 240, 249, 258,
1457 267, 276, 285, 294, 303, 312, 321, 330, 339, 348,
1458 357, 366, 375, 384, 393, 402, 411, 420, 429, 438,
1459 447, 456, 465, 474, 573, 578, 583, 588, 589, 590,
1460 591, 592, 593, 595, 613, 626, 631, 635, 637, 639,
1467#define REJECT reject_used_but_not_detected
1468#define yymore() yymore_used_but_not_detected
1469#define YY_MORE_ADJ 0
1470#define YY_RESTORE_YY_MORE_OFFSET
1472#line 1 "netconf_lexer.ll"
1478#line 8 "netconf_lexer.ll"
1481#ifndef __clang_analyzer__
1489#include <boost/lexical_cast.hpp>
1504bool start_token_flag =
false;
1507unsigned int comment_start_line = 0;
1515#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
1516#line 1516 "netconf_lexer.cc"
1531#define YY_NO_INPUT 1
1537#line 96 "netconf_lexer.ll"
1541#define YY_USER_ACTION driver.loc_.columns(yyleng);
1542#line 1542 "netconf_lexer.cc"
1543#line 1543 "netconf_lexer.cc"
1548#define DIR_INCLUDE 3
1551#ifndef YY_NO_UNISTD_H
1563#ifndef YY_EXTRA_TYPE
1564#define YY_EXTRA_TYPE void *
1571static int yy_init_globals (
void );
1614#ifndef YY_SKIP_YYWRAP
1616extern "C" int yywrap (
void );
1618extern int yywrap (
void );
1631static void yy_flex_strncpy (
char *,
const char *,
int );
1634#ifdef YY_NEED_STRLEN
1635static int yy_flex_strlen (
const char * );
1642static int yyinput (
void );
1644static int input (
void );
1656#ifndef YY_READ_BUF_SIZE
1659#define YY_READ_BUF_SIZE 16384
1661#define YY_READ_BUF_SIZE 8192
1671#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1681#define YY_INPUT(buf,result,max_size) \
1683 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1687 for ( n = 0; n < max_size && \
1688 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1689 buf[n] = (char) c; \
1691 buf[n++] = (char) c; \
1692 if ( c == EOF && ferror( yyin ) ) \
1693 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1699 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1701 if( errno != EINTR) \
1703 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1721#define yyterminate() return YY_NULL
1725#ifndef YY_START_STACK_INCR
1726#define YY_START_STACK_INCR 25
1730#ifndef YY_FATAL_ERROR
1732#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1753#define YY_DECL_IS_OURS 1
1756extern int yylex (
void);
1758#define YY_DECL int yylex (void)
1767#ifndef YY_USER_ACTION
1768#define YY_USER_ACTION
1773#define YY_BREAK break;
1777#define YY_RULE_SETUP \
1825#line 102 "netconf_lexer.ll"
1829#line 106 "netconf_lexer.ll"
1843 if (start_token_flag) {
1844 start_token_flag =
false;
1845 switch (start_token_value) {
1857#line 1857 "netconf_lexer.cc"
1862 yy_cp = (yy_c_buf_p);
1865 *
yy_cp = (yy_hold_char);
1873 yy_current_state = (yy_start);
1878 if ( yy_accept[yy_current_state] )
1880 (yy_last_accepting_state) = yy_current_state;
1881 (yy_last_accepting_cpos) =
yy_cp;
1883 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1885 yy_current_state = (int) yy_def[yy_current_state];
1886 if ( yy_current_state >= 367 )
1887 yy_c = yy_meta[yy_c];
1889 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1892 while ( yy_current_state != 366 );
1893 yy_cp = (yy_last_accepting_cpos);
1894 yy_current_state = (yy_last_accepting_state);
1898 yy_act = yy_accept[yy_current_state];
1910 fprintf( stderr,
"--scanner backing up\n" );
1912 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1915 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1918 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1920 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1928 *
yy_cp = (yy_hold_char);
1929 yy_cp = (yy_last_accepting_cpos);
1930 yy_current_state = (yy_last_accepting_state);
1931 goto yy_find_action;
1935#line 133 "netconf_lexer.ll"
1940#line 135 "netconf_lexer.ll"
1945#line 137 "netconf_lexer.ll"
1948 comment_start_line = driver.loc_.end.line;;
1953#line 142 "netconf_lexer.ll"
1958#line 143 "netconf_lexer.ll"
1962#line 144 "netconf_lexer.ll"
1969#line 148 "netconf_lexer.ll"
1974#line 149 "netconf_lexer.ll"
1979#line 150 "netconf_lexer.ll"
1984 std::string tmp(
yytext+1);
1985 tmp.resize(tmp.size() - 1);
1987 driver.includeFile(tmp);
1993#line 159 "netconf_lexer.ll"
2000#line 162 "netconf_lexer.ll"
2005#line 165 "netconf_lexer.ll"
2014#line 170 "netconf_lexer.ll"
2017 driver.loc_.lines(
yyleng);
2023#line 177 "netconf_lexer.ll"
2025 switch(driver.ctx_) {
2035#line 186 "netconf_lexer.ll"
2037 switch(driver.ctx_) {
2050#line 198 "netconf_lexer.ll"
2052 switch(driver.ctx_) {
2065#line 210 "netconf_lexer.ll"
2067 switch(driver.ctx_) {
2078#line 220 "netconf_lexer.ll"
2080 switch(driver.ctx_) {
2091#line 230 "netconf_lexer.ll"
2093 switch(driver.ctx_) {
2104#line 240 "netconf_lexer.ll"
2106 switch(driver.ctx_) {
2116#line 249 "netconf_lexer.ll"
2118 switch(driver.ctx_) {
2128#line 258 "netconf_lexer.ll"
2130 switch(driver.ctx_) {
2140#line 267 "netconf_lexer.ll"
2142 switch(driver.ctx_) {
2152#line 276 "netconf_lexer.ll"
2154 switch(driver.ctx_) {
2164#line 285 "netconf_lexer.ll"
2166 switch(driver.ctx_) {
2176#line 294 "netconf_lexer.ll"
2178 switch(driver.ctx_) {
2188#line 303 "netconf_lexer.ll"
2190 switch(driver.ctx_) {
2200#line 312 "netconf_lexer.ll"
2202 switch(driver.ctx_) {
2212#line 321 "netconf_lexer.ll"
2214 switch(driver.ctx_) {
2224#line 330 "netconf_lexer.ll"
2226 switch(driver.ctx_) {
2236#line 339 "netconf_lexer.ll"
2238 switch(driver.ctx_) {
2248#line 348 "netconf_lexer.ll"
2250 switch(driver.ctx_) {
2260#line 357 "netconf_lexer.ll"
2262 switch(driver.ctx_) {
2272#line 366 "netconf_lexer.ll"
2274 switch(driver.ctx_) {
2284#line 375 "netconf_lexer.ll"
2286 switch(driver.ctx_) {
2296#line 384 "netconf_lexer.ll"
2298 switch(driver.ctx_) {
2308#line 393 "netconf_lexer.ll"
2310 switch(driver.ctx_) {
2320#line 402 "netconf_lexer.ll"
2322 switch(driver.ctx_) {
2332#line 411 "netconf_lexer.ll"
2334 switch(driver.ctx_) {
2344#line 420 "netconf_lexer.ll"
2346 switch(driver.ctx_) {
2356#line 429 "netconf_lexer.ll"
2358 switch(driver.ctx_) {
2368#line 438 "netconf_lexer.ll"
2370 switch(driver.ctx_) {
2380#line 447 "netconf_lexer.ll"
2382 switch(driver.ctx_) {
2392#line 456 "netconf_lexer.ll"
2394 switch(driver.ctx_) {
2404#line 465 "netconf_lexer.ll"
2406 switch(driver.ctx_) {
2416#line 474 "netconf_lexer.ll"
2421 std::string raw(
yytext+1);
2422 size_t len = raw.size() - 1;
2424 std::string decoded;
2425 decoded.reserve(len);
2426 for (
size_t pos = 0; pos < len; ++pos) {
2432 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2438 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2445 decoded.push_back(c);
2448 decoded.push_back(
'\b');
2451 decoded.push_back(
'\f');
2454 decoded.push_back(
'\n');
2457 decoded.push_back(
'\r');
2460 decoded.push_back(
'\t');
2465 if (pos + 4 > len) {
2467 driver.error(driver.loc_,
2468 "Overflow unicode escape in \"" + raw +
"\"");
2470 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2471 driver.error(driver.loc_,
"Unsupported unicode escape in \"" + raw +
"\"");
2475 if ((c >=
'0') && (c <=
'9')) {
2477 }
else if ((c >=
'A') && (c <=
'F')) {
2478 b = (c -
'A' + 10) << 4;
2479 }
else if ((c >=
'a') && (c <=
'f')) {
2480 b = (c -
'a' + 10) << 4;
2483 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2487 if ((c >=
'0') && (c <=
'9')) {
2489 }
else if ((c >=
'A') && (c <=
'F')) {
2491 }
else if ((c >=
'a') && (c <=
'f')) {
2495 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2497 decoded.push_back(
static_cast<char>(b & 0xff));
2501 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2505 if ((c >= 0) && (c < 0x20)) {
2507 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2509 decoded.push_back(c);
2519#line 573 "netconf_lexer.ll"
2522 driver.error(driver.loc_,
"Invalid control in " + std::string(
yytext));
2528#line 578 "netconf_lexer.ll"
2531 driver.error(driver.loc_,
"Bad escape in " + std::string(
yytext));
2536#line 583 "netconf_lexer.ll"
2539 driver.error(driver.loc_,
"Overflow escape in " + std::string(
yytext));
2544#line 588 "netconf_lexer.ll"
2549#line 589 "netconf_lexer.ll"
2554#line 590 "netconf_lexer.ll"
2559#line 591 "netconf_lexer.ll"
2564#line 592 "netconf_lexer.ll"
2569#line 593 "netconf_lexer.ll"
2574#line 595 "netconf_lexer.ll"
2578 int64_t integer = 0;
2584 integer = boost::lexical_cast<int64_t>(tmp);
2585 }
catch (
const boost::bad_lexical_cast &) {
2586 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2595#line 613 "netconf_lexer.ll"
2601 fp = boost::lexical_cast<double>(tmp);
2602 }
catch (
const boost::bad_lexical_cast &) {
2603 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2611#line 626 "netconf_lexer.ll"
2619#line 631 "netconf_lexer.ll"
2626#line 635 "netconf_lexer.ll"
2627driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2631#line 637 "netconf_lexer.ll"
2632driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2636#line 639 "netconf_lexer.ll"
2637driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2641#line 641 "netconf_lexer.ll"
2642driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2645#line 643 "netconf_lexer.ll"
2647 if (driver.states_.empty()) {
2650 driver.loc_ = driver.locs_.back();
2651 driver.locs_.pop_back();
2652 driver.file_ = driver.files_.back();
2653 driver.files_.pop_back();
2654 if (driver.sfile_) {
2655 fclose(driver.sfile_);
2658 if (!driver.sfiles_.empty()) {
2659 driver.sfile_ = driver.sfiles_.back();
2660 driver.sfiles_.pop_back();
2663 netconf__switch_to_buffer(driver.states_.back());
2664 driver.states_.pop_back();
2671#line 666 "netconf_lexer.ll"
2674#line 2674 "netconf_lexer.cc"
2682 *
yy_cp = (yy_hold_char);
2716 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2718 yy_current_state = yy_get_previous_state( );
2729 yy_next_state = yy_try_NUL_trans( yy_current_state );
2733 if ( yy_next_state )
2736 yy_cp = ++(yy_c_buf_p);
2737 yy_current_state = yy_next_state;
2744 yy_cp = (yy_last_accepting_cpos);
2745 yy_current_state = (yy_last_accepting_state);
2746 goto yy_find_action;
2750 else switch ( yy_get_next_buffer( ) )
2754 (yy_did_buffer_switch_on_eof) = 0;
2775 if ( ! (yy_did_buffer_switch_on_eof) )
2785 yy_current_state = yy_get_previous_state( );
2787 yy_cp = (yy_c_buf_p);
2795 yy_current_state = yy_get_previous_state( );
2797 yy_cp = (yy_c_buf_p);
2799 goto yy_find_action;
2806 "fatal flex scanner internal error--no action found" );
2827static int yy_get_next_buffer (
void)
2834 int number_to_move, i;
2839 "fatal flex scanner internal error--end of buffer missed" );
2863 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
2865 for ( i = 0; i < number_to_move; ++i )
2866 *(dest++) = *(source++);
2879 while ( num_to_read <= 0 )
2885 int yy_c_buf_p_offset =
2892 if ( new_size <= 0 )
2908 "fatal error - scanner input buffer overflow" );
2910 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
2922 (yy_n_chars), num_to_read );
2927 if ( (yy_n_chars) == 0 )
2948 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2952 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
2957 (yy_n_chars) += number_to_move;
2979 yy_current_state = (yy_start);
2985 if ( yy_accept[yy_current_state] )
2987 (yy_last_accepting_state) = yy_current_state;
2988 (yy_last_accepting_cpos) =
yy_cp;
2990 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2992 yy_current_state = (int) yy_def[yy_current_state];
2993 if ( yy_current_state >= 367 )
2994 yy_c = yy_meta[yy_c];
2996 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2999 return yy_current_state;
3015 char *
yy_cp = (yy_c_buf_p);
3018 if ( yy_accept[yy_current_state] )
3020 (yy_last_accepting_state) = yy_current_state;
3021 (yy_last_accepting_cpos) =
yy_cp;
3023 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3025 yy_current_state = (int) yy_def[yy_current_state];
3026 if ( yy_current_state >= 367 )
3027 yy_c = yy_meta[yy_c];
3029 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3030 yy_is_jam = (yy_current_state == 366);
3032 return yy_is_jam ? 0 : yy_current_state;
3044 static int yyinput (
void)
3046 static int input (
void)
3055 *(yy_c_buf_p) = (yy_hold_char);
3065 *(yy_c_buf_p) =
'\0';
3069 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3072 switch ( yy_get_next_buffer( ) )
3095 if ( ! (yy_did_buffer_switch_on_eof) )
3111 c = *(
unsigned char *) (yy_c_buf_p);
3112 *(yy_c_buf_p) =
'\0';
3113 (yy_hold_char) = *++(yy_c_buf_p);
3171 *(yy_c_buf_p) = (yy_hold_char);
3184 (yy_did_buffer_switch_on_eof) = 1;
3200 (yy_hold_char) = *(yy_c_buf_p);
3348 if (new_buffer == NULL)
3357 *(yy_c_buf_p) = (yy_hold_char);
3364 (yy_buffer_stack_top)++;
3369 (yy_did_buffer_switch_on_eof) = 1;
3389 if ((yy_buffer_stack_top) > 0)
3390 --(yy_buffer_stack_top);
3394 (yy_did_buffer_switch_on_eof) = 1;
3411 if (!(yy_buffer_stack)) {
3421 if ( ! (yy_buffer_stack) )
3422 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3424 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3426 (yy_buffer_stack_max) = num_to_alloc;
3427 (yy_buffer_stack_top) = 0;
3431 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3436 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3441 if ( ! (yy_buffer_stack) )
3442 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3445 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3446 (yy_buffer_stack_max) = num_to_alloc;
3525 for ( i = 0; i < _yybytes_len; ++i )
3526 buf[i] = yybytes[i];
3543#ifndef YY_EXIT_FAILURE
3544#define YY_EXIT_FAILURE 2
3548static void yynoreturn yy_fatal_error (
const char* msg )
3550 fprintf( stderr,
"%s\n", msg );
3564 int yyless_macro_arg = (n); \
3565 YY_LESS_LINENO(yyless_macro_arg);\
3566 yytext[yyleng] = (yy_hold_char); \
3567 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3568 (yy_hold_char) = *(yy_c_buf_p); \
3569 *(yy_c_buf_p) = '\0'; \
3570 yyleng = yyless_macro_arg; \
3669static int yy_init_globals (
void)
3675 (yy_buffer_stack) = NULL;
3676 (yy_buffer_stack_top) = 0;
3677 (yy_buffer_stack_max) = 0;
3678 (yy_c_buf_p) = NULL;
3711 yyfree((yy_buffer_stack) );
3712 (yy_buffer_stack) = NULL;
3729static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3733 for ( i = 0; i < n; ++i )
3738#ifdef YY_NEED_STRLEN
3739static int yy_flex_strlen (
const char * s )
3742 for ( n = 0; s[n]; ++n )
3751 return malloc(size);
3764 return realloc(ptr, size);
3769 free( (
char *) ptr );
3774#define YYTABLES_NAME "yytables"
3779#line 666 "netconf_lexer.ll"
3787 start_token_flag =
true;
3788 start_token_value = parser_type;
3795 buffer = netconf__scan_bytes(str.c_str(), str.size());
3797 fatal(
"cannot scan string");
3804 const std::string& filename,
3807 start_token_flag =
true;
3808 start_token_value = parser_type;
3817 buffer = netconf__create_buffer(f, 65536 );
3819 fatal(
"cannot scan file " + filename);
3821 netconf__switch_to_buffer(buffer);
3829 static_cast<void>(netconf_lex_destroy());
3840 netconf__delete_buffer(
states_.back());
3848 fatal(
"Too many nested include.");
3851 FILE* f = fopen(filename.c_str(),
"r");
3853 fatal(
"Can't open include file " + filename);
3861 buffer = netconf__create_buffer(f, 65536 );
3863 fatal(
"Can't scan include file " + filename);
3865 netconf__switch_to_buffer(buffer);
3878 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
unsigned char flex_uint8_t
#define YY_CURRENT_BUFFER
Evaluation error exception raised when trying to parse.
static symbol_type make_HOOKS_LIBRARIES(YY_COPY(location_type) l)
static symbol_type make_COMMA(YY_COPY(location_type) l)
static symbol_type make_NAME(YY_COPY(location_type) l)
static symbol_type make_LOGGING(YY_COPY(location_type) l)
static symbol_type make_HTTP(YY_COPY(location_type) l)
static symbol_type make_LCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_FLOAT(YY_COPY(double) v, YY_COPY(location_type) l)
static symbol_type make_DHCP4_SERVER(YY_COPY(location_type) l)
static symbol_type make_SOCKET_URL(YY_COPY(location_type) l)
static symbol_type make_BOOT_UPDATE(YY_COPY(location_type) l)
static symbol_type make_LOGGERS(YY_COPY(location_type) l)
static symbol_type make_LSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_START_JSON(YY_COPY(location_type) l)
static symbol_type make_START_SUB_NETCONF(YY_COPY(location_type) l)
static symbol_type make_MAXSIZE(YY_COPY(location_type) l)
static symbol_type make_STDOUT(YY_COPY(location_type) l)
static symbol_type make_END(YY_COPY(location_type) l)
static symbol_type make_VALIDATE_CHANGES(YY_COPY(location_type) l)
static symbol_type make_BOOLEAN(YY_COPY(bool) v, YY_COPY(location_type) l)
static symbol_type make_INTEGER(YY_COPY(int64_t) v, YY_COPY(location_type) l)
static symbol_type make_SUBSCRIBE_CHANGES(YY_COPY(location_type) l)
static symbol_type make_OUTPUT_OPTIONS(YY_COPY(location_type) l)
static symbol_type make_OUTPUT(YY_COPY(location_type) l)
static symbol_type make_START_NETCONF(YY_COPY(location_type) l)
static symbol_type make_DEBUGLEVEL(YY_COPY(location_type) l)
static symbol_type make_UNIX(YY_COPY(location_type) l)
static symbol_type make_COLON(YY_COPY(location_type) l)
static symbol_type make_COMMENT(YY_COPY(location_type) l)
static symbol_type make_SOCKET_TYPE(YY_COPY(location_type) l)
static symbol_type make_CA_SERVER(YY_COPY(location_type) l)
static symbol_type make_DHCP6_SERVER(YY_COPY(location_type) l)
static symbol_type make_FLUSH(YY_COPY(location_type) l)
static symbol_type make_NETCONF(YY_COPY(location_type) l)
static symbol_type make_NULL_TYPE(YY_COPY(location_type) l)
static symbol_type make_MAXVER(YY_COPY(location_type) l)
static symbol_type make_MODEL(YY_COPY(location_type) l)
static symbol_type make_STRING(YY_COPY(std::string) v, YY_COPY(location_type) l)
static symbol_type make_RSQUARE_BRACKET(YY_COPY(location_type) l)
static symbol_type make_D2_SERVER(YY_COPY(location_type) l)
static symbol_type make_SOCKET_NAME(YY_COPY(location_type) l)
static symbol_type make_MANAGED_SERVERS(YY_COPY(location_type) l)
static symbol_type make_RCURLY_BRACKET(YY_COPY(location_type) l)
static symbol_type make_CONTROL_SOCKET(YY_COPY(location_type) l)
static symbol_type make_SEVERITY(YY_COPY(location_type) l)
static symbol_type make_USER_CONTEXT(YY_COPY(location_type) l)
static symbol_type make_LIBRARY(YY_COPY(location_type) l)
static symbol_type make_PARAMETERS(YY_COPY(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 Logging/loggers structures.
@ NETCONF
Used while parsing content of Logging.
@ 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 Logging/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)
static void fatal(const std::string &what)
Fatal error handler.
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.
#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-dhcp-ddns.
#define yy_load_buffer_state
unsigned char flex_uint8_t
unsigned int flex_uint32_t
#define yypush_buffer_state
#define yyget_in
Get the input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define YY_RESTORE_YY_MORE_OFFSET
#define yyget_leng
Get the length of the current token.
#define yyget_out
Get the output stream.
#define yyensure_buffer_stack
#define EOB_ACT_END_OF_FILE
#define YY_CURRENT_BUFFER_LVALUE
#define yyget_text
Get the current token.
#define yy_switch_to_buffer
#define YY_CURRENT_BUFFER
#define YY_INPUT(buf, result, max_size)
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
#define YY_FATAL_ERROR(msg)
unsigned short int flex_uint16_t
#define yypop_buffer_state
Removes and deletes the top of the stack, if present.
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define YY_BUFFER_EOF_PENDING
#define EOB_ACT_CONTINUE_SCAN
#define yyget_lineno
Get the current line number.
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.