1 #line 1 "agent_lexer.cc"
3 #line 3 "agent_lexer.cc"
5 #define YY_INT_ALIGNED short int
12 #define yy_create_buffer agent__create_buffer
13 #define yy_delete_buffer agent__delete_buffer
14 #define yy_scan_buffer agent__scan_buffer
15 #define yy_scan_string agent__scan_string
16 #define yy_scan_bytes agent__scan_bytes
17 #define yy_init_buffer agent__init_buffer
18 #define yy_flush_buffer agent__flush_buffer
19 #define yy_load_buffer_state agent__load_buffer_state
20 #define yy_switch_to_buffer agent__switch_to_buffer
21 #define yypush_buffer_state agent_push_buffer_state
22 #define yypop_buffer_state agent_pop_buffer_state
23 #define yyensure_buffer_stack agent_ensure_buffer_stack
24 #define yy_flex_debug agent__flex_debug
26 #define yyleng agent_leng
27 #define yylex agent_lex
28 #define yylineno agent_lineno
29 #define yyout agent_out
30 #define yyrestart agent_restart
31 #define yytext agent_text
32 #define yywrap agent_wrap
33 #define yyalloc agent_alloc
34 #define yyrealloc agent_realloc
35 #define yyfree agent_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 agent__create_buffer_ALREADY_DEFINED
56 #define yy_create_buffer agent__create_buffer
59 #ifdef yy_delete_buffer
60 #define agent__delete_buffer_ALREADY_DEFINED
62 #define yy_delete_buffer agent__delete_buffer
66 #define agent__scan_buffer_ALREADY_DEFINED
68 #define yy_scan_buffer agent__scan_buffer
72 #define agent__scan_string_ALREADY_DEFINED
74 #define yy_scan_string agent__scan_string
78 #define agent__scan_bytes_ALREADY_DEFINED
80 #define yy_scan_bytes agent__scan_bytes
84 #define agent__init_buffer_ALREADY_DEFINED
86 #define yy_init_buffer agent__init_buffer
89 #ifdef yy_flush_buffer
90 #define agent__flush_buffer_ALREADY_DEFINED
92 #define yy_flush_buffer agent__flush_buffer
95 #ifdef yy_load_buffer_state
96 #define agent__load_buffer_state_ALREADY_DEFINED
98 #define yy_load_buffer_state agent__load_buffer_state
101 #ifdef yy_switch_to_buffer
102 #define agent__switch_to_buffer_ALREADY_DEFINED
104 #define yy_switch_to_buffer agent__switch_to_buffer
107 #ifdef yypush_buffer_state
108 #define agent_push_buffer_state_ALREADY_DEFINED
110 #define yypush_buffer_state agent_push_buffer_state
113 #ifdef yypop_buffer_state
114 #define agent_pop_buffer_state_ALREADY_DEFINED
116 #define yypop_buffer_state agent_pop_buffer_state
119 #ifdef yyensure_buffer_stack
120 #define agent_ensure_buffer_stack_ALREADY_DEFINED
122 #define yyensure_buffer_stack agent_ensure_buffer_stack
126 #define agent_lex_ALREADY_DEFINED
128 #define yylex agent_lex
132 #define agent_restart_ALREADY_DEFINED
134 #define yyrestart agent_restart
138 #define agent_lex_init_ALREADY_DEFINED
140 #define yylex_init agent_lex_init
143 #ifdef yylex_init_extra
144 #define agent_lex_init_extra_ALREADY_DEFINED
146 #define yylex_init_extra agent_lex_init_extra
150 #define agent_lex_destroy_ALREADY_DEFINED
152 #define yylex_destroy agent_lex_destroy
156 #define agent_get_debug_ALREADY_DEFINED
158 #define yyget_debug agent_get_debug
162 #define agent_set_debug_ALREADY_DEFINED
164 #define yyset_debug agent_set_debug
168 #define agent_get_extra_ALREADY_DEFINED
170 #define yyget_extra agent_get_extra
174 #define agent_set_extra_ALREADY_DEFINED
176 #define yyset_extra agent_set_extra
180 #define agent_get_in_ALREADY_DEFINED
182 #define yyget_in agent_get_in
186 #define agent_set_in_ALREADY_DEFINED
188 #define yyset_in agent_set_in
192 #define agent_get_out_ALREADY_DEFINED
194 #define yyget_out agent_get_out
198 #define agent_set_out_ALREADY_DEFINED
200 #define yyset_out agent_set_out
204 #define agent_get_leng_ALREADY_DEFINED
206 #define yyget_leng agent_get_leng
210 #define agent_get_text_ALREADY_DEFINED
212 #define yyget_text agent_get_text
216 #define agent_get_lineno_ALREADY_DEFINED
218 #define yyget_lineno agent_get_lineno
222 #define agent_set_lineno_ALREADY_DEFINED
224 #define yyset_lineno agent_set_lineno
228 #define agent_wrap_ALREADY_DEFINED
230 #define yywrap agent_wrap
236 #define agent_alloc_ALREADY_DEFINED
238 #define yyalloc agent_alloc
242 #define agent_realloc_ALREADY_DEFINED
244 #define yyrealloc agent_realloc
248 #define agent_free_ALREADY_DEFINED
250 #define yyfree agent_free
256 #define agent_text_ALREADY_DEFINED
258 #define yytext agent_text
262 #define agent_leng_ALREADY_DEFINED
264 #define yyleng agent_leng
268 #define agent_in_ALREADY_DEFINED
270 #define yyin agent_in
274 #define agent_out_ALREADY_DEFINED
276 #define yyout agent_out
280 #define agent__flex_debug_ALREADY_DEFINED
282 #define yy_flex_debug agent__flex_debug
286 #define agent_lineno_ALREADY_DEFINED
288 #define yylineno agent_lineno
315 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
320 #ifndef __STDC_LIMIT_MACROS
321 #define __STDC_LIMIT_MACROS 1
324 #include <inttypes.h>
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)
383 #define yyconst const
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
561 static size_t yy_buffer_stack_top = 0;
562 static size_t yy_buffer_stack_max = 0;
563 static YY_BUFFER_STATE * yy_buffer_stack = NULL;
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)]
588 static char yy_hold_char;
589 static int yy_n_chars;
593 static char *yy_c_buf_p = NULL;
594 static int yy_init = 0;
595 static int yy_start = 0;
600 static int yy_did_buffer_switch_on_eof;
616 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
620 YY_BUFFER_STATE
yy_scan_bytes (
const char *bytes,
int len );
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 agent_wrap() (1)
653 #define YY_SKIP_YYWRAP
669 #define yytext_ptr yytext
677 static int yy_get_next_buffer (
void );
678 static 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 67
695 #define YY_END_OF_BUFFER 68
705 60, 60, 0, 0, 0, 0, 0, 0, 0, 0,
706 68, 66, 10, 11, 66, 1, 60, 57, 60, 60,
707 66, 59, 58, 66, 66, 66, 66, 66, 53, 54,
708 66, 66, 66, 55, 56, 5, 5, 5, 66, 66,
709 66, 10, 11, 0, 0, 48, 0, 0, 0, 0,
710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
711 0, 0, 0, 0, 1, 60, 60, 0, 59, 60,
712 3, 2, 6, 0, 60, 0, 0, 0, 0, 0,
713 0, 4, 0, 0, 9, 0, 49, 0, 0, 0,
714 51, 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, 0, 0, 0, 2, 0, 0,
718 0, 0, 0, 0, 0, 8, 0, 0, 50, 52,
719 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
721 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
722 65, 63, 0, 62, 61, 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, 0,
725 0, 0, 0, 0, 0, 0, 64, 61, 0, 0,
727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
728 0, 0, 0, 0, 0, 0, 0, 0, 39, 0,
729 0, 0, 0, 0, 0, 0, 0, 18, 34, 22,
730 0, 0, 0, 0, 19, 0, 0, 0, 0, 0,
731 0, 29, 30, 42, 0, 0, 0, 0, 0, 0,
732 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
733 0, 7, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 44, 41, 0,
735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
736 0, 21, 16, 0, 0, 0, 0, 0, 0, 36,
738 38, 43, 0, 0, 0, 45, 0, 0, 0, 0,
739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
740 26, 0, 0, 23, 47, 0, 0, 0, 0, 0,
741 0, 25, 0, 0, 0, 0, 13, 14, 0, 0,
742 0, 0, 0, 0, 0, 0, 0, 0, 46, 0,
743 0, 37, 0, 0, 0, 0, 0, 0, 0, 0,
744 0, 0, 32, 33, 0, 0, 0, 0, 0, 0,
745 0, 0, 24, 15, 12, 0, 27, 0, 0, 0,
746 17, 0, 0, 40, 28, 35, 0
749 static const YY_CHAR yy_ec[256] =
751 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
752 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
753 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
754 1, 4, 5, 6, 7, 5, 5, 5, 5, 5,
755 5, 8, 9, 10, 11, 12, 13, 14, 14, 15,
756 14, 16, 14, 17, 14, 14, 14, 18, 5, 19,
757 5, 20, 21, 5, 22, 23, 24, 23, 25, 26,
758 5, 5, 5, 5, 5, 27, 5, 28, 5, 5,
759 5, 29, 30, 31, 32, 5, 5, 5, 5, 5,
760 33, 34, 35, 5, 36, 5, 37, 38, 39, 40,
762 41, 42, 43, 44, 45, 5, 46, 47, 48, 49,
763 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
764 60, 61, 62, 5, 63, 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,
771 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,
777 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
781 static const YY_CHAR yy_meta[64] =
783 1, 1, 2, 1, 1, 3, 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,
788 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
794 0, 0, 62, 65, 68, 0, 66, 70, 50, 67,
795 320, 2603, 87, 314, 131, 0, 104, 2603, 110, 125,
796 84, 142, 2603, 275, 91, 106, 58, 107, 2603, 2603,
797 116, 116, 123, 2603, 2603, 2603, 142, 282, 237, 0,
798 262, 145, 234, 155, 189, 2603, 195, 193, 202, 210,
799 216, 237, 253, 259, 267, 273, 282, 288, 296, 309,
800 325, 331, 339, 348, 0, 346, 363, 392, 398, 402,
801 2603, 0, 2603, 289, 341, 147, 173, 132, 183, 187,
802 170, 2603, 193, 222, 2603, 187, 2603, 392, 388, 218,
803 430, 459, 452, 460, 486, 502, 509, 515, 521, 527,
805 539, 550, 562, 568, 574, 580, 586, 603, 623, 629,
806 637, 646, 652, 658, 664, 687, 693, 0, 179, 245,
807 200, 223, 297, 226, 168, 2603, 699, 201, 2603, 2603,
808 741, 705, 716, 734, 768, 742, 785, 2603, 791, 797,
809 804, 810, 820, 826, 833, 840, 860, 867, 875, 886,
810 894, 901, 910, 928, 936, 944, 952, 958, 965, 239,
811 2603, 2603, 288, 2603, 2603, 107, 971, 1011, 978, 1005,
812 1053, 1039, 988, 1059, 1065, 1073, 1079, 1094, 1100, 1113,
813 1119, 1129, 1135, 1143, 1156, 1165, 1172, 1180, 1190, 1199,
814 1206, 1216, 1224, 1233, 1240, 1250, 2603, 2603, 122, 1262,
816 1299, 1269, 1275, 1292, 1298, 1286, 1327, 1341, 1348, 1356,
817 1362, 1368, 1383, 1391, 1397, 1403, 1409, 1418, 2603, 1427,
818 1438, 1452, 1461, 1472, 1482, 1488, 1497, 2603, 2603, 2603,
819 1517, 63, 1523, 1531, 2603, 1538, 1544, 1557, 1565, 1574,
820 1591, 2603, 2603, 2603, 1599, 1611, 1621, 1628, 1634, 1646,
821 1657, 1663, 1671, 1680, 1686, 1700, 2603, 1707, 1716, 1722,
822 1730, 2603, 1741, 1752, 1764, 1770, 1776, 1782, 1789, 1800,
823 1806, 1812, 1818, 1824, 1830, 1836, 1842, 2603, 2603, 1853,
824 1866, 1872, 1879, 1887, 1893, 1916, 1922, 1929, 1935, 1943,
825 1951, 2603, 2603, 1958, 1977, 1985, 1992, 1998, 2007, 2603,
827 2603, 2603, 2014, 2027, 2033, 2603, 2043, 2049, 2056, 2067,
828 2073, 2086, 2093, 2102, 2108, 2116, 2131, 2137, 2143, 2153,
829 2603, 2161, 2167, 2603, 2603, 2178, 2190, 2196, 2202, 2208,
830 2216, 2603, 2226, 2250, 2232, 2256, 2603, 2603, 2262, 2271,
831 2279, 2285, 2296, 2308, 2315, 2321, 2331, 2337, 2603, 2350,
832 2356, 2603, 2367, 2373, 2379, 2385, 2391, 2408, 2414, 2421,
833 2427, 2433, 2603, 2603, 2450, 2462, 2468, 2474, 2484, 2491,
834 2497, 2503, 2603, 2603, 2603, 2509, 2603, 2518, 2526, 2533,
835 2603, 2539, 2547, 2603, 2603, 2603, 2603, 2581, 2584, 2587,
836 97, 2590, 2593, 2596, 2599
842 387, 1, 388, 388, 1, 5, 5, 5, 5, 5,
843 387, 387, 387, 387, 389, 390, 387, 387, 387, 387,
844 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
845 387, 387, 387, 387, 387, 387, 387, 387, 387, 391,
846 387, 387, 387, 392, 389, 387, 389, 393, 389, 389,
847 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
848 389, 389, 389, 389, 390, 387, 387, 387, 387, 387,
849 387, 394, 387, 387, 387, 387, 387, 387, 387, 387,
850 387, 387, 387, 391, 387, 392, 387, 387, 389, 395,
851 389, 393, 389, 389, 389, 389, 389, 389, 389, 389,
853 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
854 389, 389, 389, 389, 389, 389, 389, 394, 387, 387,
855 387, 387, 387, 387, 387, 387, 389, 395, 387, 387,
856 92, 389, 389, 389, 389, 389, 389, 387, 389, 389,
857 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
858 389, 389, 389, 389, 389, 389, 389, 389, 389, 387,
859 387, 387, 387, 387, 387, 387, 389, 92, 389, 389,
860 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
861 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
862 389, 389, 389, 389, 389, 389, 387, 387, 387, 389,
864 92, 389, 389, 389, 389, 389, 389, 389, 389, 389,
865 389, 389, 389, 389, 389, 389, 389, 389, 387, 389,
866 389, 389, 389, 389, 389, 389, 389, 387, 387, 387,
867 389, 387, 389, 389, 387, 389, 389, 389, 389, 389,
868 389, 387, 387, 387, 389, 389, 389, 389, 389, 389,
869 389, 389, 389, 389, 389, 389, 387, 389, 389, 389,
870 389, 387, 389, 389, 389, 389, 389, 389, 389, 389,
871 389, 389, 389, 389, 389, 389, 389, 387, 387, 389,
872 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
873 389, 387, 387, 389, 389, 389, 389, 389, 389, 387,
875 387, 387, 389, 389, 389, 387, 389, 389, 389, 389,
876 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
877 387, 389, 389, 387, 387, 389, 389, 389, 389, 389,
878 389, 387, 389, 389, 389, 389, 387, 387, 389, 389,
879 389, 389, 389, 389, 389, 389, 389, 389, 387, 389,
880 389, 387, 389, 389, 389, 389, 389, 389, 389, 389,
881 389, 389, 387, 387, 389, 389, 389, 389, 389, 389,
882 389, 389, 387, 387, 387, 389, 387, 389, 389, 389,
883 387, 389, 389, 387, 387, 387, 0, 387, 387, 387,
884 387, 387, 387, 387, 387
890 12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
891 19, 20, 21, 22, 22, 22, 22, 23, 24, 12,
892 12, 12, 12, 12, 25, 26, 12, 27, 12, 12,
893 28, 12, 29, 12, 30, 12, 12, 12, 12, 12,
894 25, 31, 12, 12, 12, 12, 12, 12, 32, 12,
895 12, 12, 12, 12, 33, 12, 12, 12, 12, 12,
896 12, 34, 35, 37, 14, 37, 37, 14, 37, 38,
897 41, 40, 38, 12, 12, 40, 12, 12, 12, 12,
898 12, 12, 12, 12, 12, 12, 12, 41, 42, 77,
899 42, 71, 12, 12, 12, 12, 72, 84, 12, 74,
901 12, 74, 12, 262, 75, 75, 75, 75, 12, 12,
902 12, 12, 39, 77, 12, 66, 12, 67, 67, 67,
903 67, 66, 12, 69, 69, 69, 69, 76, 68, 12,
904 12, 44, 44, 44, 68, 78, 46, 76, 70, 70,
905 70, 70, 76, 42, 68, 42, 42, 77, 42, 68,
906 68, 78, 79, 66, 47, 69, 69, 69, 69, 78,
907 87, 232, 199, 121, 48, 68, 68, 49, 50, 51,
908 52, 80, 53, 119, 54, 81, 55, 56, 57, 58,
909 59, 60, 68, 61, 62, 63, 64, 121, 88, 44,
910 44, 44, 87, 119, 46, 44, 44, 44, 91, 120,
912 46, 121, 44, 44, 44, 45, 129, 46, 160, 119,
913 44, 44, 44, 120, 166, 46, 44, 44, 44, 120,
914 88, 46, 48, 129, 162, 124, 45, 126, 48, 122,
915 45, 125, 160, 123, 45, 48, 43, 44, 44, 44,
916 162, 45, 46, 48, 89, 45, 94, 45, 92, 48,
917 162, 98, 160, 44, 44, 44, 95, 93, 46, 44,
918 44, 44, 96, 197, 46, 97, 165, 44, 44, 44,
919 48, 161, 46, 44, 44, 44, 163, 99, 46, 197,
920 100, 85, 44, 44, 44, 83, 48, 46, 44, 44,
921 44, 161, 48, 46, 82, 73, 44, 44, 44, 101,
923 48, 46, 75, 75, 75, 75, 48, 104, 102, 44,
924 44, 44, 197, 103, 46, 48, 43, 105, 107, 387,
925 387, 48, 106, 161, 108, 44, 44, 44, 198, 48,
926 46, 44, 44, 44, 387, 387, 46, 387, 387, 44,
927 44, 44, 48, 164, 46, 110, 387, 387, 44, 44,
928 44, 109, 387, 46, 75, 75, 75, 75, 48, 70,
929 70, 70, 70, 387, 48, 111, 387, 387, 387, 387,
930 68, 112, 48, 387, 66, 387, 67, 67, 67, 67,
931 113, 48, 387, 387, 387, 387, 68, 68, 44, 44,
932 44, 114, 387, 46, 387, 387, 116, 86, 115, 387,
934 74, 117, 74, 68, 86, 75, 75, 75, 75, 66,
935 387, 69, 69, 69, 69, 70, 70, 70, 70, 387,
936 387, 48, 68, 387, 387, 86, 68, 387, 387, 86,
937 44, 44, 44, 86, 387, 46, 127, 387, 68, 387,
938 86, 387, 68, 387, 86, 387, 86, 86, 387, 387,
939 387, 387, 44, 44, 44, 387, 387, 46, 387, 387,
940 44, 44, 44, 48, 130, 46, 387, 387, 387, 387,
941 387, 387, 131, 131, 131, 131, 387, 387, 387, 387,
942 131, 131, 131, 131, 131, 48, 44, 44, 44, 387,
943 387, 46, 387, 48, 387, 131, 131, 131, 131, 131,
945 131, 387, 44, 44, 44, 387, 132, 46, 387, 44,
946 44, 44, 387, 133, 46, 44, 44, 44, 387, 48,
947 138, 44, 44, 44, 387, 387, 46, 44, 44, 44,
948 387, 387, 46, 387, 387, 48, 387, 387, 134, 44,
949 44, 44, 48, 387, 46, 387, 135, 387, 48, 387,
950 44, 44, 44, 387, 48, 46, 136, 137, 139, 387,
951 48, 387, 44, 44, 44, 140, 387, 46, 44, 44,
952 44, 387, 48, 46, 44, 44, 44, 387, 387, 46,
953 44, 44, 44, 48, 387, 46, 44, 44, 44, 387,
954 387, 46, 387, 387, 141, 48, 387, 387, 387, 142,
956 387, 48, 387, 44, 44, 44, 387, 48, 46, 387,
957 387, 145, 387, 48, 387, 387, 143, 387, 387, 48,
958 387, 387, 146, 44, 44, 44, 387, 144, 46, 44,
959 44, 44, 387, 387, 46, 387, 48, 44, 44, 44,
960 387, 387, 46, 387, 147, 387, 44, 44, 44, 387,
961 148, 46, 44, 44, 44, 387, 48, 46, 44, 44,
962 44, 387, 48, 46, 44, 44, 44, 387, 387, 46,
963 48, 387, 387, 153, 387, 387, 387, 149, 387, 48,
964 387, 150, 151, 152, 387, 48, 387, 44, 44, 44,
965 155, 48, 46, 44, 44, 44, 387, 48, 46, 44,
967 44, 44, 154, 387, 46, 44, 44, 44, 387, 387,
968 46, 387, 387, 156, 157, 387, 44, 44, 44, 387,
969 48, 46, 387, 387, 387, 387, 48, 387, 387, 387,
970 387, 158, 48, 159, 44, 44, 44, 387, 48, 46,
971 387, 387, 44, 44, 44, 387, 387, 46, 169, 48,
972 387, 387, 387, 167, 168, 168, 168, 168, 387, 387,
973 170, 387, 168, 168, 168, 168, 168, 48, 44, 44,
974 44, 387, 387, 46, 387, 48, 387, 168, 168, 168,
975 168, 168, 168, 387, 387, 44, 44, 44, 171, 173,
976 46, 44, 44, 44, 387, 387, 46, 44, 44, 44,
978 387, 48, 46, 387, 44, 44, 44, 387, 172, 46,
979 44, 44, 44, 387, 387, 46, 387, 387, 48, 387,
980 44, 44, 44, 387, 48, 46, 44, 44, 44, 387,
981 48, 46, 387, 44, 44, 44, 180, 48, 46, 174,
982 44, 44, 44, 48, 387, 46, 175, 176, 387, 387,
983 387, 387, 387, 48, 387, 178, 387, 177, 387, 48,
984 44, 44, 44, 387, 387, 46, 48, 44, 44, 44,
985 179, 387, 46, 48, 387, 44, 44, 44, 387, 387,
986 46, 387, 182, 387, 387, 181, 44, 44, 44, 387,
987 387, 46, 387, 48, 44, 44, 44, 387, 387, 46,
989 48, 44, 44, 44, 387, 387, 46, 185, 48, 387,
990 44, 44, 44, 183, 387, 46, 184, 387, 387, 48,
991 387, 387, 187, 387, 387, 186, 387, 48, 44, 44,
992 44, 387, 387, 46, 48, 387, 44, 44, 44, 387,
993 387, 46, 387, 48, 44, 44, 44, 188, 387, 46,
994 387, 387, 44, 44, 44, 189, 190, 46, 44, 44,
995 44, 48, 387, 46, 387, 44, 44, 44, 191, 48,
996 46, 44, 44, 44, 387, 387, 46, 48, 44, 44,
997 44, 192, 387, 46, 387, 48, 387, 387, 44, 44,
998 44, 48, 194, 46, 387, 387, 387, 193, 48, 387,
1000 387, 387, 387, 387, 48, 44, 44, 44, 387, 387,
1001 46, 48, 387, 387, 387, 387, 195, 196, 202, 387,
1002 387, 48, 387, 200, 201, 201, 201, 201, 206, 387,
1003 387, 387, 201, 201, 201, 201, 201, 387, 48, 44,
1004 44, 44, 387, 203, 46, 387, 387, 201, 201, 201,
1005 201, 201, 201, 44, 44, 44, 387, 387, 46, 44,
1006 44, 44, 387, 204, 46, 44, 44, 44, 387, 387,
1007 46, 387, 48, 44, 44, 44, 387, 387, 46, 44,
1008 44, 44, 387, 387, 46, 387, 48, 205, 209, 210,
1009 387, 387, 48, 387, 44, 44, 44, 387, 48, 46,
1011 44, 44, 44, 387, 387, 46, 48, 208, 387, 387,
1012 213, 207, 48, 44, 44, 44, 387, 387, 46, 44,
1013 44, 44, 211, 387, 46, 387, 387, 48, 387, 44,
1014 44, 44, 387, 48, 46, 44, 44, 44, 387, 387,
1015 46, 387, 387, 44, 44, 44, 48, 212, 46, 387,
1016 387, 387, 48, 387, 214, 215, 44, 44, 44, 387,
1017 387, 219, 48, 387, 387, 44, 44, 44, 48, 216,
1018 46, 387, 44, 44, 44, 387, 48, 46, 387, 217,
1019 44, 44, 44, 218, 387, 46, 387, 387, 387, 48,
1020 44, 44, 44, 387, 387, 46, 387, 387, 48, 44,
1022 44, 44, 387, 387, 46, 48, 44, 44, 44, 387,
1023 387, 46, 387, 48, 387, 387, 44, 44, 44, 221,
1024 220, 46, 387, 48, 44, 44, 44, 387, 387, 46,
1025 223, 387, 48, 44, 44, 44, 387, 222, 228, 48,
1026 44, 44, 44, 387, 387, 229, 224, 387, 387, 48,
1027 44, 44, 44, 387, 387, 230, 226, 48, 225, 387,
1028 231, 387, 44, 44, 44, 387, 48, 46, 387, 44,
1029 44, 44, 387, 48, 46, 44, 44, 44, 227, 387,
1030 235, 387, 387, 48, 387, 387, 44, 44, 44, 387,
1031 387, 46, 44, 44, 44, 48, 387, 46, 44, 44,
1033 44, 387, 48, 46, 387, 387, 387, 387, 48, 387,
1034 387, 233, 45, 45, 45, 45, 387, 234, 387, 48,
1035 45, 45, 45, 45, 45, 48, 387, 44, 44, 44,
1036 387, 48, 46, 236, 239, 45, 45, 45, 45, 45,
1037 45, 44, 44, 44, 237, 387, 46, 387, 44, 44,
1038 44, 387, 238, 242, 387, 387, 44, 44, 44, 387,
1039 48, 243, 44, 44, 44, 387, 387, 244, 44, 44,
1040 44, 387, 387, 46, 48, 387, 240, 387, 245, 387,
1041 387, 48, 387, 44, 44, 44, 387, 241, 46, 48,
1042 387, 44, 44, 44, 387, 48, 46, 44, 44, 44,
1044 387, 48, 46, 44, 44, 44, 387, 387, 46, 44,
1045 44, 44, 387, 387, 46, 387, 48, 387, 44, 44,
1046 44, 387, 387, 46, 48, 387, 246, 44, 44, 44,
1047 48, 387, 46, 247, 387, 248, 48, 387, 44, 44,
1048 44, 387, 48, 46, 387, 387, 387, 387, 387, 249,
1049 387, 48, 44, 44, 44, 250, 387, 46, 387, 387,
1050 48, 44, 44, 44, 387, 387, 46, 387, 387, 251,
1051 252, 48, 44, 44, 44, 387, 387, 257, 254, 387,
1052 387, 253, 44, 44, 44, 48, 387, 46, 44, 44,
1053 44, 387, 387, 46, 48, 387, 387, 44, 44, 44,
1055 387, 255, 46, 387, 387, 48, 387, 260, 387, 387,
1056 387, 387, 387, 256, 387, 48, 387, 44, 44, 44,
1057 387, 48, 46, 44, 44, 44, 258, 387, 46, 387,
1058 48, 44, 44, 44, 387, 387, 46, 387, 44, 44,
1059 44, 387, 259, 46, 44, 44, 44, 387, 387, 46,
1060 48, 387, 387, 387, 387, 261, 48, 44, 44, 44,
1061 387, 387, 46, 387, 48, 44, 44, 44, 387, 263,
1062 46, 48, 387, 387, 44, 44, 44, 48, 387, 46,
1063 387, 387, 265, 387, 266, 264, 387, 387, 387, 387,
1064 48, 44, 44, 44, 387, 387, 46, 387, 48, 44,
1066 44, 44, 387, 387, 46, 387, 387, 48, 387, 387,
1067 267, 44, 44, 44, 387, 387, 46, 387, 387, 268,
1068 269, 44, 44, 44, 48, 387, 46, 387, 44, 44,
1069 44, 270, 48, 46, 44, 44, 44, 387, 387, 46,
1070 387, 387, 387, 387, 48, 271, 44, 44, 44, 387,
1071 387, 46, 387, 387, 48, 387, 387, 44, 44, 44,
1072 272, 48, 46, 44, 44, 44, 387, 48, 278, 387,
1073 273, 44, 44, 44, 274, 387, 279, 387, 387, 48,
1074 44, 44, 44, 387, 387, 46, 44, 44, 44, 387,
1075 48, 46, 387, 275, 387, 387, 48, 277, 387, 276,
1077 44, 44, 44, 387, 48, 46, 280, 44, 44, 44,
1078 387, 387, 46, 48, 387, 387, 44, 44, 44, 48,
1079 387, 46, 44, 44, 44, 387, 285, 46, 387, 387,
1080 44, 44, 44, 48, 281, 46, 387, 387, 282, 387,
1081 48, 44, 44, 44, 387, 387, 46, 387, 283, 48,
1082 387, 288, 44, 44, 44, 48, 387, 46, 286, 387,
1083 387, 284, 387, 48, 44, 44, 44, 387, 387, 46,
1084 44, 44, 44, 387, 48, 46, 44, 44, 44, 287,
1085 387, 292, 44, 44, 44, 48, 387, 293, 387, 44,
1086 44, 44, 387, 387, 46, 387, 289, 48, 387, 294,
1088 44, 44, 44, 48, 387, 46, 44, 44, 44, 48,
1089 290, 46, 44, 44, 44, 48, 387, 46, 44, 44,
1090 44, 291, 48, 46, 44, 44, 44, 387, 387, 46,
1091 44, 44, 44, 48, 387, 300, 44, 44, 44, 48,
1092 387, 301, 44, 44, 44, 48, 387, 302, 387, 387,
1093 296, 48, 387, 44, 44, 44, 295, 48, 46, 387,
1094 387, 387, 387, 48, 299, 297, 44, 44, 44, 48,
1095 298, 46, 44, 44, 44, 48, 387, 46, 387, 44,
1096 44, 44, 387, 387, 306, 387, 48, 44, 44, 44,
1097 387, 387, 46, 44, 44, 44, 387, 387, 46, 48,
1099 387, 387, 303, 387, 387, 48, 304, 387, 387, 387,
1100 387, 305, 48, 387, 387, 387, 44, 44, 44, 387,
1101 48, 46, 44, 44, 44, 387, 48, 46, 387, 44,
1102 44, 44, 387, 387, 46, 44, 44, 44, 387, 387,
1103 46, 308, 387, 44, 44, 44, 307, 309, 46, 48,
1104 387, 44, 44, 44, 387, 48, 46, 387, 44, 44,
1105 44, 387, 48, 46, 310, 312, 387, 387, 48, 387,
1106 311, 387, 387, 313, 387, 387, 48, 44, 44, 44,
1107 387, 387, 46, 314, 48, 44, 44, 44, 387, 387,
1108 46, 48, 44, 44, 44, 387, 387, 46, 44, 44,
1110 44, 387, 387, 46, 387, 387, 315, 44, 44, 44,
1111 48, 316, 321, 387, 44, 44, 44, 317, 48, 46,
1112 387, 387, 318, 387, 387, 48, 387, 44, 44, 44,
1113 387, 48, 46, 44, 44, 44, 387, 387, 324, 387,
1114 48, 387, 387, 44, 44, 44, 319, 48, 325, 44,
1115 44, 44, 320, 387, 46, 387, 44, 44, 44, 387,
1116 48, 46, 387, 387, 322, 387, 48, 44, 44, 44,
1117 387, 387, 46, 44, 44, 44, 48, 387, 46, 323,
1118 387, 387, 48, 387, 387, 326, 44, 44, 44, 48,
1119 387, 46, 387, 44, 44, 44, 387, 387, 46, 387,
1121 48, 387, 44, 44, 44, 328, 48, 332, 44, 44,
1122 44, 387, 387, 46, 387, 327, 44, 44, 44, 48,
1123 387, 46, 387, 387, 387, 387, 48, 329, 330, 331,
1124 387, 44, 44, 44, 387, 48, 46, 44, 44, 44,
1125 387, 48, 46, 44, 44, 44, 387, 387, 337, 48,
1126 387, 387, 333, 44, 44, 44, 387, 387, 338, 387,
1127 387, 44, 44, 44, 48, 334, 46, 44, 44, 44,
1128 48, 387, 46, 387, 387, 387, 48, 335, 44, 44,
1129 44, 387, 387, 46, 387, 387, 48, 387, 387, 336,
1130 44, 44, 44, 387, 48, 46, 44, 44, 44, 387,
1132 48, 46, 44, 44, 44, 387, 387, 46, 44, 44,
1133 44, 48, 387, 46, 387, 339, 44, 44, 44, 387,
1134 340, 46, 387, 48, 387, 341, 44, 44, 44, 48,
1135 387, 46, 44, 44, 44, 48, 387, 349, 387, 343,
1136 342, 48, 344, 387, 387, 387, 387, 387, 345, 48,
1137 44, 44, 44, 387, 387, 46, 44, 44, 44, 48,
1138 387, 46, 44, 44, 44, 48, 387, 46, 387, 387,
1139 346, 44, 44, 44, 387, 387, 352, 387, 347, 44,
1140 44, 44, 387, 48, 46, 44, 44, 44, 348, 48,
1141 46, 387, 350, 387, 387, 48, 44, 44, 44, 387,
1143 387, 46, 387, 387, 48, 387, 351, 387, 44, 44,
1144 44, 387, 48, 46, 387, 44, 44, 44, 48, 353,
1145 46, 44, 44, 44, 387, 354, 46, 387, 387, 48,
1146 387, 44, 44, 44, 387, 387, 46, 44, 44, 44,
1147 387, 48, 46, 387, 387, 355, 387, 387, 48, 387,
1148 44, 44, 44, 387, 48, 46, 44, 44, 44, 387,
1149 387, 46, 387, 357, 48, 358, 356, 44, 44, 44,
1150 48, 359, 363, 44, 44, 44, 387, 387, 364, 44,
1151 44, 44, 360, 48, 46, 44, 44, 44, 387, 48,
1152 46, 44, 44, 44, 387, 387, 46, 387, 387, 387,
1154 48, 387, 361, 387, 387, 362, 48, 387, 44, 44,
1155 44, 387, 48, 46, 44, 44, 44, 387, 48, 46,
1156 387, 44, 44, 44, 48, 387, 46, 44, 44, 44,
1157 387, 365, 46, 44, 44, 44, 387, 387, 46, 366,
1158 387, 48, 387, 387, 387, 367, 387, 48, 387, 387,
1159 44, 44, 44, 369, 48, 373, 387, 368, 387, 387,
1160 48, 370, 44, 44, 44, 387, 48, 374, 44, 44,
1161 44, 371, 387, 375, 44, 44, 44, 387, 387, 46,
1162 387, 372, 387, 48, 44, 44, 44, 387, 387, 377,
1163 387, 44, 44, 44, 387, 48, 46, 44, 44, 44,
1165 387, 48, 46, 44, 44, 44, 387, 48, 46, 44,
1166 44, 44, 387, 387, 381, 387, 387, 48, 44, 44,
1167 44, 387, 376, 46, 48, 387, 44, 44, 44, 387,
1168 48, 46, 387, 44, 44, 44, 48, 379, 384, 44,
1169 44, 44, 48, 387, 385, 378, 387, 44, 44, 44,
1170 387, 48, 386, 387, 387, 387, 380, 387, 387, 48,
1171 387, 387, 387, 387, 387, 387, 48, 387, 387, 387,
1172 387, 382, 48, 387, 387, 387, 387, 387, 387, 383,
1173 48, 36, 36, 36, 45, 45, 45, 65, 387, 65,
1174 86, 86, 86, 90, 90, 90, 118, 387, 118, 128,
1176 128, 128, 11, 387, 387, 387, 387, 387, 387, 387,
1177 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1178 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1179 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1180 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1181 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1182 387, 387, 387, 387, 387, 387
1187 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1188 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1190 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1191 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1192 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1193 1, 1, 1, 3, 3, 3, 4, 4, 4, 3,
1194 9, 7, 4, 5, 5, 8, 5, 5, 5, 5,
1195 5, 5, 5, 5, 5, 5, 5, 10, 13, 27,
1196 13, 21, 5, 5, 9, 5, 21, 391, 5, 25,
1198 5, 25, 5, 232, 25, 25, 25, 25, 5, 5,
1199 7, 10, 5, 27, 8, 17, 5, 17, 17, 17,
1200 17, 19, 5, 19, 19, 19, 19, 26, 17, 5,
1201 5, 15, 15, 15, 19, 28, 15, 31, 20, 20,
1202 20, 20, 26, 37, 17, 37, 42, 32, 42, 20,
1203 19, 33, 31, 22, 15, 22, 22, 22, 22, 28,
1204 44, 199, 166, 78, 15, 20, 22, 15, 15, 15,
1205 15, 32, 15, 76, 15, 33, 15, 15, 15, 15,
1206 15, 15, 22, 15, 15, 15, 15, 78, 44, 45,
1207 45, 45, 86, 76, 45, 47, 47, 47, 48, 77,
1209 47, 81, 49, 49, 49, 48, 128, 49, 119, 79,
1210 50, 50, 50, 80, 125, 50, 51, 51, 51, 77,
1211 86, 51, 45, 90, 121, 81, 48, 84, 47, 79,
1212 48, 83, 119, 80, 48, 49, 43, 52, 52, 52,
1213 121, 48, 52, 50, 47, 48, 50, 48, 48, 51,
1214 124, 52, 122, 53, 53, 53, 51, 49, 53, 54,
1215 54, 54, 51, 160, 54, 51, 124, 55, 55, 55,
1216 52, 120, 55, 56, 56, 56, 122, 52, 56, 160,
1217 52, 41, 57, 57, 57, 39, 53, 57, 58, 58,
1218 58, 120, 54, 58, 38, 24, 59, 59, 59, 53,
1220 55, 59, 74, 74, 74, 74, 56, 55, 54, 60,
1221 60, 60, 163, 54, 60, 57, 14, 56, 57, 11,
1222 0, 58, 56, 123, 58, 61, 61, 61, 163, 59,
1223 61, 62, 62, 62, 0, 0, 62, 0, 0, 63,
1224 63, 63, 60, 123, 63, 60, 0, 0, 64, 64,
1225 64, 59, 0, 64, 75, 75, 75, 75, 61, 66,
1226 66, 66, 66, 0, 62, 61, 0, 0, 0, 0,
1227 66, 62, 63, 0, 67, 0, 67, 67, 67, 67,
1228 62, 64, 0, 0, 0, 0, 66, 67, 89, 89,
1229 89, 63, 0, 89, 0, 0, 64, 88, 63, 0,
1231 68, 64, 68, 67, 88, 68, 68, 68, 68, 69,
1232 0, 69, 69, 69, 69, 70, 70, 70, 70, 0,
1233 0, 89, 69, 0, 0, 88, 70, 0, 0, 88,
1234 91, 91, 91, 88, 0, 91, 89, 0, 69, 0,
1235 88, 0, 70, 0, 88, 0, 88, 88, 0, 0,
1236 0, 0, 93, 93, 93, 0, 0, 93, 0, 0,
1237 94, 94, 94, 91, 92, 94, 0, 0, 0, 0,
1238 0, 0, 92, 92, 92, 92, 0, 0, 0, 0,
1239 92, 92, 92, 92, 92, 93, 95, 95, 95, 0,
1240 0, 95, 0, 94, 0, 92, 92, 92, 92, 92,
1242 92, 0, 96, 96, 96, 0, 93, 96, 0, 97,
1243 97, 97, 0, 94, 97, 98, 98, 98, 0, 95,
1244 98, 99, 99, 99, 0, 0, 99, 100, 100, 100,
1245 0, 0, 100, 0, 0, 96, 0, 0, 95, 101,
1246 101, 101, 97, 0, 101, 0, 96, 0, 98, 0,
1247 102, 102, 102, 0, 99, 102, 97, 97, 99, 0,
1248 100, 0, 103, 103, 103, 100, 0, 103, 104, 104,
1249 104, 0, 101, 104, 105, 105, 105, 0, 0, 105,
1250 106, 106, 106, 102, 0, 106, 107, 107, 107, 0,
1251 0, 107, 0, 0, 101, 103, 0, 0, 0, 102,
1253 0, 104, 0, 108, 108, 108, 0, 105, 108, 0,
1254 0, 105, 0, 106, 0, 0, 103, 0, 0, 107,
1255 0, 0, 106, 109, 109, 109, 0, 104, 109, 110,
1256 110, 110, 0, 0, 110, 0, 108, 111, 111, 111,
1257 0, 0, 111, 0, 107, 0, 112, 112, 112, 0,
1258 108, 112, 113, 113, 113, 0, 109, 113, 114, 114,
1259 114, 0, 110, 114, 115, 115, 115, 0, 0, 115,
1260 111, 0, 0, 111, 0, 0, 0, 109, 0, 112,
1261 0, 110, 110, 110, 0, 113, 0, 116, 116, 116,
1262 113, 114, 116, 117, 117, 117, 0, 115, 117, 127,
1264 127, 127, 112, 0, 127, 132, 132, 132, 0, 0,
1265 132, 0, 0, 114, 115, 0, 133, 133, 133, 0,
1266 116, 133, 0, 0, 0, 0, 117, 0, 0, 0,
1267 0, 116, 127, 117, 134, 134, 134, 0, 132, 134,
1268 0, 0, 136, 136, 136, 0, 0, 136, 132, 133,
1269 0, 0, 0, 127, 131, 131, 131, 131, 0, 0,
1270 133, 0, 131, 131, 131, 131, 131, 134, 135, 135,
1271 135, 0, 0, 135, 0, 136, 0, 131, 131, 131,
1272 131, 131, 131, 0, 0, 137, 137, 137, 134, 136,
1273 137, 139, 139, 139, 0, 0, 139, 140, 140, 140,
1275 0, 135, 140, 0, 141, 141, 141, 0, 135, 141,
1276 142, 142, 142, 0, 0, 142, 0, 0, 137, 0,
1277 143, 143, 143, 0, 139, 143, 144, 144, 144, 0,
1278 140, 144, 0, 145, 145, 145, 144, 141, 145, 137,
1279 146, 146, 146, 142, 0, 146, 139, 140, 0, 0,
1280 0, 0, 0, 143, 0, 142, 0, 141, 0, 144,
1281 147, 147, 147, 0, 0, 147, 145, 148, 148, 148,
1282 143, 0, 148, 146, 0, 149, 149, 149, 0, 0,
1283 149, 0, 146, 0, 0, 145, 150, 150, 150, 0,
1284 0, 150, 0, 147, 151, 151, 151, 0, 0, 151,
1286 148, 152, 152, 152, 0, 0, 152, 148, 149, 0,
1287 153, 153, 153, 147, 0, 153, 147, 0, 0, 150,
1288 0, 0, 150, 0, 0, 149, 0, 151, 154, 154,
1289 154, 0, 0, 154, 152, 0, 155, 155, 155, 0,
1290 0, 155, 0, 153, 156, 156, 156, 151, 0, 156,
1291 0, 0, 157, 157, 157, 152, 153, 157, 158, 158,
1292 158, 154, 0, 158, 0, 159, 159, 159, 154, 155,
1293 159, 167, 167, 167, 0, 0, 167, 156, 169, 169,
1294 169, 155, 0, 169, 0, 157, 0, 0, 173, 173,
1295 173, 158, 157, 173, 0, 0, 0, 156, 159, 0,
1297 0, 0, 0, 0, 167, 170, 170, 170, 0, 0,
1298 170, 169, 0, 0, 0, 0, 158, 159, 169, 0,
1299 0, 173, 0, 167, 168, 168, 168, 168, 173, 0,
1300 0, 0, 168, 168, 168, 168, 168, 0, 170, 172,
1301 172, 172, 0, 170, 172, 0, 0, 168, 168, 168,
1302 168, 168, 168, 171, 171, 171, 0, 0, 171, 174,
1303 174, 174, 0, 171, 174, 175, 175, 175, 0, 0,
1304 175, 0, 172, 176, 176, 176, 0, 0, 176, 177,
1305 177, 177, 0, 0, 177, 0, 171, 172, 176, 176,
1306 0, 0, 174, 0, 178, 178, 178, 0, 175, 178,
1308 179, 179, 179, 0, 0, 179, 176, 175, 0, 0,
1309 179, 174, 177, 180, 180, 180, 0, 0, 180, 181,
1310 181, 181, 177, 0, 181, 0, 0, 178, 0, 182,
1311 182, 182, 0, 179, 182, 183, 183, 183, 0, 0,
1312 183, 0, 0, 184, 184, 184, 180, 178, 184, 0,
1313 0, 0, 181, 0, 180, 181, 185, 185, 185, 0,
1314 0, 185, 182, 0, 0, 186, 186, 186, 183, 182,
1315 186, 0, 187, 187, 187, 0, 184, 187, 0, 183,
1316 188, 188, 188, 184, 0, 188, 0, 0, 0, 185,
1317 189, 189, 189, 0, 0, 189, 0, 0, 186, 190,
1319 190, 190, 0, 0, 190, 187, 191, 191, 191, 0,
1320 0, 191, 0, 188, 0, 0, 192, 192, 192, 187,
1321 186, 192, 0, 189, 193, 193, 193, 0, 0, 193,
1322 189, 0, 190, 194, 194, 194, 0, 188, 194, 191,
1323 195, 195, 195, 0, 0, 195, 190, 0, 0, 192,
1324 196, 196, 196, 0, 0, 196, 192, 193, 191, 0,
1325 196, 0, 200, 200, 200, 0, 194, 200, 0, 202,
1326 202, 202, 0, 195, 202, 203, 203, 203, 193, 0,
1327 203, 0, 0, 196, 0, 0, 206, 206, 206, 0,
1328 0, 206, 204, 204, 204, 200, 0, 204, 205, 205,
1330 205, 0, 202, 205, 0, 0, 0, 0, 203, 0,
1331 0, 200, 201, 201, 201, 201, 0, 202, 0, 206,
1332 201, 201, 201, 201, 201, 204, 0, 207, 207, 207,
1333 0, 205, 207, 204, 206, 201, 201, 201, 201, 201,
1334 201, 208, 208, 208, 204, 0, 208, 0, 209, 209,
1335 209, 0, 205, 209, 0, 0, 210, 210, 210, 0,
1336 207, 210, 211, 211, 211, 0, 0, 211, 212, 212,
1337 212, 0, 0, 212, 208, 0, 207, 0, 212, 0,
1338 0, 209, 0, 213, 213, 213, 0, 208, 213, 210,
1339 0, 214, 214, 214, 0, 211, 214, 215, 215, 215,
1341 0, 212, 215, 216, 216, 216, 0, 0, 216, 217,
1342 217, 217, 0, 0, 217, 0, 213, 0, 218, 218,
1343 218, 0, 0, 218, 214, 0, 213, 220, 220, 220,
1344 215, 0, 220, 213, 0, 214, 216, 0, 221, 221,
1345 221, 0, 217, 221, 0, 0, 0, 0, 0, 215,
1346 0, 218, 222, 222, 222, 216, 0, 222, 0, 0,
1347 220, 223, 223, 223, 0, 0, 223, 0, 0, 217,
1348 218, 221, 224, 224, 224, 0, 0, 224, 221, 0,
1349 0, 220, 225, 225, 225, 222, 0, 225, 226, 226,
1350 226, 0, 0, 226, 223, 0, 0, 227, 227, 227,
1352 0, 222, 227, 0, 0, 224, 0, 227, 0, 0,
1353 0, 0, 0, 223, 0, 225, 0, 231, 231, 231,
1354 0, 226, 231, 233, 233, 233, 225, 0, 233, 0,
1355 227, 234, 234, 234, 0, 0, 234, 0, 236, 236,
1356 236, 0, 226, 236, 237, 237, 237, 0, 0, 237,
1357 231, 0, 0, 0, 0, 231, 233, 238, 238, 238,
1358 0, 0, 238, 0, 234, 239, 239, 239, 0, 233,
1359 239, 236, 0, 0, 240, 240, 240, 237, 0, 240,
1360 0, 0, 236, 0, 237, 234, 0, 0, 0, 0,
1361 238, 241, 241, 241, 0, 0, 241, 0, 239, 245,
1363 245, 245, 0, 0, 245, 0, 0, 240, 0, 0,
1364 238, 246, 246, 246, 0, 0, 246, 0, 0, 239,
1365 240, 247, 247, 247, 241, 0, 247, 0, 248, 248,
1366 248, 241, 245, 248, 249, 249, 249, 0, 0, 249,
1367 0, 0, 0, 0, 246, 245, 250, 250, 250, 0,
1368 0, 250, 0, 0, 247, 0, 0, 251, 251, 251,
1369 246, 248, 251, 252, 252, 252, 0, 249, 252, 0,
1370 247, 253, 253, 253, 248, 0, 253, 0, 0, 250,
1371 254, 254, 254, 0, 0, 254, 255, 255, 255, 0,
1372 251, 255, 0, 249, 0, 0, 252, 251, 0, 250,
1374 256, 256, 256, 0, 253, 256, 253, 258, 258, 258,
1375 0, 0, 258, 254, 0, 0, 259, 259, 259, 255,
1376 0, 259, 260, 260, 260, 0, 259, 260, 0, 0,
1377 261, 261, 261, 256, 254, 261, 0, 0, 255, 0,
1378 258, 263, 263, 263, 0, 0, 263, 0, 256, 259,
1379 0, 263, 264, 264, 264, 260, 0, 264, 260, 0,
1380 0, 258, 0, 261, 265, 265, 265, 0, 0, 265,
1381 266, 266, 266, 0, 263, 266, 267, 267, 267, 261,
1382 0, 267, 268, 268, 268, 264, 0, 268, 0, 269,
1383 269, 269, 0, 0, 269, 0, 264, 265, 0, 269,
1385 270, 270, 270, 266, 0, 270, 271, 271, 271, 267,
1386 265, 271, 272, 272, 272, 268, 0, 272, 273, 273,
1387 273, 266, 269, 273, 274, 274, 274, 0, 0, 274,
1388 275, 275, 275, 270, 0, 275, 276, 276, 276, 271,
1389 0, 276, 277, 277, 277, 272, 0, 277, 0, 0,
1390 271, 273, 0, 280, 280, 280, 270, 274, 280, 0,
1391 0, 0, 0, 275, 274, 272, 281, 281, 281, 276,
1392 273, 281, 282, 282, 282, 277, 0, 282, 0, 283,
1393 283, 283, 0, 0, 283, 0, 280, 284, 284, 284,
1394 0, 0, 284, 285, 285, 285, 0, 0, 285, 281,
1396 0, 0, 280, 0, 0, 282, 281, 0, 0, 0,
1397 0, 282, 283, 0, 0, 0, 286, 286, 286, 0,
1398 284, 286, 287, 287, 287, 0, 285, 287, 0, 288,
1399 288, 288, 0, 0, 288, 289, 289, 289, 0, 0,
1400 289, 285, 0, 290, 290, 290, 284, 285, 290, 286,
1401 0, 291, 291, 291, 0, 287, 291, 0, 294, 294,
1402 294, 0, 288, 294, 286, 288, 0, 0, 289, 0,
1403 287, 0, 0, 289, 0, 0, 290, 295, 295, 295,
1404 0, 0, 295, 290, 291, 296, 296, 296, 0, 0,
1405 296, 294, 297, 297, 297, 0, 0, 297, 298, 298,
1407 298, 0, 0, 298, 0, 0, 291, 299, 299, 299,
1408 295, 294, 299, 0, 303, 303, 303, 295, 296, 303,
1409 0, 0, 296, 0, 0, 297, 0, 304, 304, 304,
1410 0, 298, 304, 305, 305, 305, 0, 0, 305, 0,
1411 299, 0, 0, 307, 307, 307, 297, 303, 307, 308,
1412 308, 308, 298, 0, 308, 0, 309, 309, 309, 0,
1413 304, 309, 0, 0, 303, 0, 305, 310, 310, 310,
1414 0, 0, 310, 311, 311, 311, 307, 0, 311, 304,
1415 0, 0, 308, 0, 0, 308, 312, 312, 312, 309,
1416 0, 312, 0, 313, 313, 313, 0, 0, 313, 0,
1418 310, 0, 314, 314, 314, 310, 311, 314, 315, 315,
1419 315, 0, 0, 315, 0, 309, 316, 316, 316, 312,
1420 0, 316, 0, 0, 0, 0, 313, 311, 312, 313,
1421 0, 317, 317, 317, 0, 314, 317, 318, 318, 318,
1422 0, 315, 318, 319, 319, 319, 0, 0, 319, 316,
1423 0, 0, 315, 320, 320, 320, 0, 0, 320, 0,
1424 0, 322, 322, 322, 317, 316, 322, 323, 323, 323,
1425 318, 0, 323, 0, 0, 0, 319, 317, 326, 326,
1426 326, 0, 0, 326, 0, 0, 320, 0, 0, 318,
1427 327, 327, 327, 0, 322, 327, 328, 328, 328, 0,
1429 323, 328, 329, 329, 329, 0, 0, 329, 330, 330,
1430 330, 326, 0, 330, 0, 322, 331, 331, 331, 0,
1431 323, 331, 0, 327, 0, 326, 333, 333, 333, 328,
1432 0, 333, 335, 335, 335, 329, 0, 335, 0, 328,
1433 327, 330, 329, 0, 0, 0, 0, 0, 330, 331,
1434 334, 334, 334, 0, 0, 334, 336, 336, 336, 333,
1435 0, 336, 339, 339, 339, 335, 0, 339, 0, 0,
1436 331, 340, 340, 340, 0, 0, 340, 0, 333, 341,
1437 341, 341, 0, 334, 341, 342, 342, 342, 334, 336,
1438 342, 0, 336, 0, 0, 339, 343, 343, 343, 0,
1440 0, 343, 0, 0, 340, 0, 339, 0, 344, 344,
1441 344, 0, 341, 344, 0, 345, 345, 345, 342, 341,
1442 345, 346, 346, 346, 0, 342, 346, 0, 0, 343,
1443 0, 347, 347, 347, 0, 0, 347, 348, 348, 348,
1444 0, 344, 348, 0, 0, 343, 0, 0, 345, 0,
1445 350, 350, 350, 0, 346, 350, 351, 351, 351, 0,
1446 0, 351, 0, 345, 347, 346, 344, 353, 353, 353,
1447 348, 347, 353, 354, 354, 354, 0, 0, 354, 355,
1448 355, 355, 348, 350, 355, 356, 356, 356, 0, 351,
1449 356, 357, 357, 357, 0, 0, 357, 0, 0, 0,
1451 353, 0, 350, 0, 0, 351, 354, 0, 358, 358,
1452 358, 0, 355, 358, 359, 359, 359, 0, 356, 359,
1453 0, 360, 360, 360, 357, 0, 360, 361, 361, 361,
1454 0, 355, 361, 362, 362, 362, 0, 0, 362, 356,
1455 0, 358, 0, 0, 0, 357, 0, 359, 0, 0,
1456 365, 365, 365, 359, 360, 365, 0, 358, 0, 0,
1457 361, 360, 366, 366, 366, 0, 362, 366, 367, 367,
1458 367, 361, 0, 367, 368, 368, 368, 0, 0, 368,
1459 0, 362, 0, 365, 369, 369, 369, 0, 0, 369,
1460 0, 370, 370, 370, 0, 366, 370, 371, 371, 371,
1462 0, 367, 371, 372, 372, 372, 0, 368, 372, 376,
1463 376, 376, 0, 0, 376, 0, 0, 369, 378, 378,
1464 378, 0, 368, 378, 370, 0, 379, 379, 379, 0,
1465 371, 379, 0, 380, 380, 380, 372, 371, 380, 382,
1466 382, 382, 376, 0, 382, 370, 0, 383, 383, 383,
1467 0, 378, 383, 0, 0, 0, 372, 0, 0, 379,
1468 0, 0, 0, 0, 0, 0, 380, 0, 0, 0,
1469 0, 378, 382, 0, 0, 0, 0, 0, 0, 379,
1470 383, 388, 388, 388, 389, 389, 389, 390, 0, 390,
1471 392, 392, 392, 393, 393, 393, 394, 0, 394, 395,
1473 395, 395, 387, 387, 387, 387, 387, 387, 387, 387,
1474 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1475 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1476 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1477 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1478 387, 387, 387, 387, 387, 387, 387, 387, 387, 387,
1479 387, 387, 387, 387, 387, 387
1483 static char *yy_last_accepting_cpos;
1490 134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
1491 171, 178, 187, 196, 205, 218, 231, 240, 249, 258,
1492 267, 276, 285, 294, 303, 312, 321, 330, 339, 348,
1493 357, 366, 375, 384, 393, 402, 411, 420, 429, 438,
1494 447, 456, 465, 474, 483, 492, 501, 510, 611, 627,
1495 676, 684, 699, 700, 701, 702, 703, 704, 706, 724,
1496 737, 742, 746, 748, 750, 752
1502 #define REJECT reject_used_but_not_detected
1503 #define yymore() yymore_used_but_not_detected
1504 #define YY_MORE_ADJ 0
1505 #define YY_RESTORE_YY_MORE_OFFSET
1507 #line 1 "agent_lexer.ll"
1513 #line 8 "agent_lexer.ll"
1516 #ifndef __clang_analyzer__
1525 #include <boost/lexical_cast.hpp>
1540 bool start_token_flag =
false;
1543 unsigned int comment_start_line = 0;
1545 using namespace isc;
1551 #define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg)
1552 #line 1552 "agent_lexer.cc"
1567 #define YY_NO_INPUT 1
1573 #line 97 "agent_lexer.ll"
1577 #define YY_USER_ACTION driver.loc_.columns(yyleng);
1578 #line 1578 "agent_lexer.cc"
1579 #line 1579 "agent_lexer.cc"
1584 #define DIR_INCLUDE 3
1587 #ifndef YY_NO_UNISTD_H
1599 #ifndef YY_EXTRA_TYPE
1600 #define YY_EXTRA_TYPE void *
1607 static int yy_init_globals (
void );
1650 #ifndef YY_SKIP_YYWRAP
1652 extern "C" int yywrap (
void );
1654 extern int yywrap (
void );
1667 static void yy_flex_strncpy (
char *,
const char *,
int );
1670 #ifdef YY_NEED_STRLEN
1671 static int yy_flex_strlen (
const char * );
1678 static int yyinput (
void );
1680 static int input (
void );
1692 #ifndef YY_READ_BUF_SIZE
1695 #define YY_READ_BUF_SIZE 16384
1697 #define YY_READ_BUF_SIZE 8192
1707 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1717 #define YY_INPUT(buf,result,max_size) \
1719 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1723 for ( n = 0; n < max_size && \
1724 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1725 buf[n] = (char) c; \
1727 buf[n++] = (char) c; \
1728 if ( c == EOF && ferror( yyin ) ) \
1729 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1735 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1737 if( errno != EINTR) \
1739 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1757 #define yyterminate() return YY_NULL
1761 #ifndef YY_START_STACK_INCR
1762 #define YY_START_STACK_INCR 25
1766 #ifndef YY_FATAL_ERROR
1768 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1789 #define YY_DECL_IS_OURS 1
1792 extern int yylex (
void);
1794 #define YY_DECL int yylex (void)
1803 #ifndef YY_USER_ACTION
1804 #define YY_USER_ACTION
1809 #define YY_BREAK break;
1813 #define YY_RULE_SETUP \
1861 #line 103 "agent_lexer.ll"
1865 #line 107 "agent_lexer.ll"
1879 if (start_token_flag) {
1880 start_token_flag =
false;
1881 switch (start_token_value) {
1882 case ParserContext::PARSER_JSON:
1885 case ParserContext::PARSER_AGENT:
1887 case ParserContext::PARSER_SUB_AGENT:
1893 #line 1893 "agent_lexer.cc"
1898 yy_cp = (yy_c_buf_p);
1901 *yy_cp = (yy_hold_char);
1909 yy_current_state = (yy_start);
1914 if ( yy_accept[yy_current_state] )
1916 (yy_last_accepting_state) = yy_current_state;
1917 (yy_last_accepting_cpos) = yy_cp;
1919 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1921 yy_current_state = (int) yy_def[yy_current_state];
1922 if ( yy_current_state >= 388 )
1923 yy_c = yy_meta[yy_c];
1925 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1928 while ( yy_current_state != 387 );
1929 yy_cp = (yy_last_accepting_cpos);
1930 yy_current_state = (yy_last_accepting_state);
1934 yy_act = yy_accept[yy_current_state];
1946 fprintf( stderr,
"--scanner backing up\n" );
1947 else if ( yy_act < 67 )
1948 fprintf( stderr,
"--accepting rule at line %ld (\"%s\")\n",
1949 (
long)yy_rule_linenum[yy_act],
yytext );
1950 else if ( yy_act == 67 )
1951 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
1953 else if ( yy_act == 68 )
1954 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
1956 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
1964 *yy_cp = (yy_hold_char);
1965 yy_cp = (yy_last_accepting_cpos);
1966 yy_current_state = (yy_last_accepting_state);
1967 goto yy_find_action;
1971 #line 134 "agent_lexer.ll"
1976 #line 136 "agent_lexer.ll"
1981 #line 138 "agent_lexer.ll"
1984 comment_start_line = driver.loc_.end.line;;
1989 #line 143 "agent_lexer.ll"
1994 #line 144 "agent_lexer.ll"
1998 #line 145 "agent_lexer.ll"
2005 #line 149 "agent_lexer.ll"
2010 #line 150 "agent_lexer.ll"
2015 #line 151 "agent_lexer.ll"
2020 std::string tmp(
yytext+1);
2021 tmp.resize(tmp.size() - 1);
2023 driver.includeFile(tmp);
2029 #line 160 "agent_lexer.ll"
2036 #line 163 "agent_lexer.ll"
2041 #line 166 "agent_lexer.ll"
2050 #line 171 "agent_lexer.ll"
2053 driver.loc_.lines(
yyleng);
2059 #line 178 "agent_lexer.ll"
2061 switch(driver.ctx_) {
2062 case ParserContext::CONFIG:
2063 return AgentParser::make_CONTROL_AGENT(driver.loc_);
2065 return AgentParser::make_STRING(
"Control-agent", driver.loc_);
2071 #line 187 "agent_lexer.ll"
2073 switch(driver.ctx_) {
2074 case ParserContext::AGENT:
2075 return AgentParser::make_HTTP_HOST(driver.loc_);
2077 return AgentParser::make_STRING(
"http-host", driver.loc_);
2083 #line 196 "agent_lexer.ll"
2085 switch(driver.ctx_) {
2086 case ParserContext::AGENT:
2087 return AgentParser::make_HTTP_PORT(driver.loc_);
2089 return AgentParser::make_STRING(
"http-port", driver.loc_);
2095 #line 205 "agent_lexer.ll"
2097 switch(driver.ctx_) {
2098 case ParserContext::AGENT:
2099 case ParserContext::AUTHENTICATION:
2100 case ParserContext::CLIENTS:
2102 case ParserContext::LOGGERS:
2103 return AgentParser::make_USER_CONTEXT(driver.loc_);
2105 return AgentParser::make_STRING(
"user-context", driver.loc_);
2111 #line 218 "agent_lexer.ll"
2113 switch(driver.ctx_) {
2114 case ParserContext::AGENT:
2115 case ParserContext::AUTHENTICATION:
2116 case ParserContext::CLIENTS:
2118 case ParserContext::LOGGERS:
2119 return AgentParser::make_COMMENT(driver.loc_);
2121 return AgentParser::make_STRING(
"comment", driver.loc_);
2127 #line 231 "agent_lexer.ll"
2129 switch(driver.ctx_) {
2130 case ParserContext::AGENT:
2131 return AgentParser::make_AUTHENTICATION(driver.loc_);
2133 return AgentParser::make_STRING(
"authentication", driver.loc_);
2139 #line 240 "agent_lexer.ll"
2141 switch(driver.ctx_) {
2142 case ParserContext::AUTHENTICATION:
2143 return AgentParser::make_TYPE(driver.loc_);
2145 return AgentParser::make_STRING(
"type", driver.loc_);
2151 #line 249 "agent_lexer.ll"
2153 switch(driver.ctx_) {
2154 case ParserContext::AUTH_TYPE:
2155 return AgentParser::make_BASIC(driver.loc_);
2157 return AgentParser::make_STRING(
"basic", driver.loc_);
2163 #line 258 "agent_lexer.ll"
2165 switch(driver.ctx_) {
2166 case ParserContext::AUTHENTICATION:
2167 return AgentParser::make_REALM(driver.loc_);
2169 return AgentParser::make_STRING(
"realm", driver.loc_);
2175 #line 267 "agent_lexer.ll"
2177 switch(driver.ctx_) {
2178 case ParserContext::AUTHENTICATION:
2179 return AgentParser::make_CLIENTS(driver.loc_);
2181 return AgentParser::make_STRING(
"clients", driver.loc_);
2187 #line 276 "agent_lexer.ll"
2189 switch(driver.ctx_) {
2190 case ParserContext::CLIENTS:
2191 return AgentParser::make_USER(driver.loc_);
2193 return AgentParser::make_STRING(
"user", driver.loc_);
2199 #line 285 "agent_lexer.ll"
2201 switch(driver.ctx_) {
2202 case ParserContext::CLIENTS:
2203 return AgentParser::make_PASSWORD(driver.loc_);
2205 return AgentParser::make_STRING(
"password", driver.loc_);
2211 #line 294 "agent_lexer.ll"
2213 switch(driver.ctx_) {
2214 case ParserContext::AGENT:
2215 return AgentParser::make_TRUST_ANCHOR(driver.loc_);
2217 return AgentParser::make_STRING(
"trust-anchor", driver.loc_);
2223 #line 303 "agent_lexer.ll"
2225 switch(driver.ctx_) {
2226 case ParserContext::AGENT:
2227 return AgentParser::make_CERT_FILE(driver.loc_);
2229 return AgentParser::make_STRING(
"cert-file", driver.loc_);
2235 #line 312 "agent_lexer.ll"
2237 switch(driver.ctx_) {
2238 case ParserContext::AGENT:
2239 return AgentParser::make_KEY_FILE(driver.loc_);
2241 return AgentParser::make_STRING(
"key-file", driver.loc_);
2247 #line 321 "agent_lexer.ll"
2249 switch(driver.ctx_) {
2250 case ParserContext::AGENT:
2251 return AgentParser::make_CERT_REQUIRED(driver.loc_);
2253 return AgentParser::make_STRING(
"cert-required", driver.loc_);
2259 #line 330 "agent_lexer.ll"
2261 switch(driver.ctx_) {
2262 case ParserContext::AGENT:
2263 return AgentParser::make_CONTROL_SOCKETS(driver.loc_);
2265 return AgentParser::make_STRING(
"control-sockets", driver.loc_);
2271 #line 339 "agent_lexer.ll"
2273 switch(driver.ctx_) {
2274 case ParserContext::CONTROL_SOCKETS:
2275 return AgentParser::make_DHCP4_SERVER(driver.loc_);
2277 return AgentParser::make_STRING(
"dhcp4", driver.loc_);
2283 #line 348 "agent_lexer.ll"
2285 switch(driver.ctx_) {
2286 case ParserContext::CONTROL_SOCKETS:
2287 return AgentParser::make_DHCP6_SERVER(driver.loc_);
2289 return AgentParser::make_STRING(
"dhcp6", driver.loc_);
2295 #line 357 "agent_lexer.ll"
2297 switch(driver.ctx_) {
2298 case ParserContext::CONTROL_SOCKETS:
2299 return AgentParser::make_D2_SERVER(driver.loc_);
2301 return AgentParser::make_STRING(
"d2", driver.loc_);
2307 #line 366 "agent_lexer.ll"
2309 switch(driver.ctx_) {
2311 return AgentParser::make_SOCKET_NAME(driver.loc_);
2313 return AgentParser::make_STRING(
"socket-name", driver.loc_);
2319 #line 375 "agent_lexer.ll"
2321 switch(driver.ctx_) {
2323 return AgentParser::make_SOCKET_TYPE(driver.loc_);
2325 return AgentParser::make_STRING(
"socket-type", driver.loc_);
2331 #line 384 "agent_lexer.ll"
2333 switch(driver.ctx_) {
2334 case ParserContext::SOCKET_TYPE:
2335 return AgentParser::make_UNIX(driver.loc_);
2337 return AgentParser::make_STRING(
"unix", driver.loc_);
2343 #line 393 "agent_lexer.ll"
2345 switch(driver.ctx_) {
2346 case ParserContext::AGENT:
2347 return AgentParser::make_HOOKS_LIBRARIES(driver.loc_);
2349 return AgentParser::make_STRING(
"hooks-libraries", driver.loc_);
2355 #line 402 "agent_lexer.ll"
2357 switch(driver.ctx_) {
2358 case ParserContext::HOOKS_LIBRARIES:
2359 return AgentParser::make_LIBRARY(driver.loc_);
2361 return AgentParser::make_STRING(
"library", driver.loc_);
2367 #line 411 "agent_lexer.ll"
2369 switch(driver.ctx_) {
2370 case ParserContext::HOOKS_LIBRARIES:
2371 return AgentParser::make_PARAMETERS(driver.loc_);
2373 return AgentParser::make_STRING(
"parameters", driver.loc_);
2379 #line 420 "agent_lexer.ll"
2381 switch(driver.ctx_) {
2382 case ParserContext::AGENT:
2383 return AgentParser::make_LOGGERS(driver.loc_);
2385 return AgentParser::make_STRING(
"loggers", driver.loc_);
2391 #line 429 "agent_lexer.ll"
2393 switch(driver.ctx_) {
2394 case ParserContext::LOGGERS:
2395 return AgentParser::make_NAME(driver.loc_);
2397 return AgentParser::make_STRING(
"name", driver.loc_);
2403 #line 438 "agent_lexer.ll"
2405 switch(driver.ctx_) {
2406 case ParserContext::LOGGERS:
2407 return AgentParser::make_OUTPUT_OPTIONS(driver.loc_);
2409 return AgentParser::make_STRING(
"output_options", driver.loc_);
2415 #line 447 "agent_lexer.ll"
2417 switch(driver.ctx_) {
2418 case ParserContext::OUTPUT_OPTIONS:
2419 return AgentParser::make_OUTPUT(driver.loc_);
2421 return AgentParser::make_STRING(
"output", driver.loc_);
2427 #line 456 "agent_lexer.ll"
2429 switch(driver.ctx_) {
2430 case ParserContext::OUTPUT_OPTIONS:
2431 return AgentParser::make_FLUSH(driver.loc_);
2433 return AgentParser::make_STRING(
"flush", driver.loc_);
2439 #line 465 "agent_lexer.ll"
2441 switch(driver.ctx_) {
2442 case ParserContext::OUTPUT_OPTIONS:
2443 return AgentParser::make_MAXSIZE(driver.loc_);
2445 return AgentParser::make_STRING(
"maxsize", driver.loc_);
2451 #line 474 "agent_lexer.ll"
2453 switch(driver.ctx_) {
2454 case ParserContext::OUTPUT_OPTIONS:
2455 return AgentParser::make_MAXVER(driver.loc_);
2457 return AgentParser::make_STRING(
"maxver", driver.loc_);
2463 #line 483 "agent_lexer.ll"
2465 switch(driver.ctx_) {
2466 case ParserContext::OUTPUT_OPTIONS:
2467 return AgentParser::make_PATTERN(driver.loc_);
2469 return AgentParser::make_STRING(
"pattern", driver.loc_);
2475 #line 492 "agent_lexer.ll"
2477 switch(driver.ctx_) {
2478 case ParserContext::LOGGERS:
2479 return AgentParser::make_DEBUGLEVEL(driver.loc_);
2481 return AgentParser::make_STRING(
"debuglevel", driver.loc_);
2487 #line 501 "agent_lexer.ll"
2489 switch(driver.ctx_) {
2490 case ParserContext::LOGGERS:
2491 return AgentParser::make_SEVERITY(driver.loc_);
2493 return AgentParser::make_STRING(
"severity", driver.loc_);
2499 #line 510 "agent_lexer.ll"
2504 std::string raw(
yytext+1);
2505 size_t len = raw.size() - 1;
2507 std::string decoded;
2508 decoded.reserve(len);
2509 for (
size_t pos = 0; pos < len; ++pos) {
2515 driver.error(driver.loc_,
"Bad quote in \"" + raw +
"\"");
2521 driver.error(driver.loc_,
"Overflow escape in \"" + raw +
"\"");
2528 decoded.push_back(c);
2531 decoded.push_back(
'\b');
2534 decoded.push_back(
'\f');
2537 decoded.push_back(
'\n');
2540 decoded.push_back(
'\r');
2543 decoded.push_back(
'\t');
2548 if (pos + 4 > len) {
2550 driver.error(driver.loc_,
2551 "Overflow unicode escape in \"" + raw +
"\"");
2553 if ((raw[pos] !=
'0') || (raw[pos + 1] !=
'0')) {
2554 driver.error(driver.loc_,
2555 "Unsupported unicode escape in \"" + raw +
"\"",
2560 if ((c >=
'0') && (c <=
'9')) {
2562 }
else if ((c >=
'A') && (c <=
'F')) {
2563 b = (c -
'A' + 10) << 4;
2564 }
else if ((c >=
'a') && (c <=
'f')) {
2565 b = (c -
'a' + 10) << 4;
2568 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2572 if ((c >=
'0') && (c <=
'9')) {
2574 }
else if ((c >=
'A') && (c <=
'F')) {
2576 }
else if ((c >=
'a') && (c <=
'f')) {
2580 driver.error(driver.loc_,
"Not hexadecimal in unicode escape in \"" + raw +
"\"");
2582 decoded.push_back(static_cast<char>(b & 0xff));
2586 driver.error(driver.loc_,
"Bad escape in \"" + raw +
"\"");
2590 if ((c >= 0) && (c < 0x20)) {
2592 driver.error(driver.loc_,
"Invalid control in \"" + raw +
"\"");
2594 decoded.push_back(c);
2598 return AgentParser::make_STRING(decoded, driver.loc_);
2604 #line 611 "agent_lexer.ll"
2607 std::string raw(
yytext+1);
2608 size_t len = raw.size() - 1;
2610 for (; pos < len; ++pos) {
2612 if ((c >= 0) && (c < 0x20)) {
2616 driver.error(driver.loc_,
2617 "Invalid control in " + std::string(
yytext),
2624 #line 627 "agent_lexer.ll"
2627 std::string raw(
yytext+1);
2628 size_t len = raw.size() - 1;
2631 for (; pos < len; ++pos) {
2650 if ((pos + 4 > len) ||
2651 !std::isxdigit(raw[pos + 1]) ||
2652 !std::isxdigit(raw[pos + 2]) ||
2653 !std::isxdigit(raw[pos + 3]) ||
2654 !std::isxdigit(raw[pos + 4])) {
2665 std::string trailer =
"";
2666 if (raw[len - 1] ==
'\\') {
2669 driver.error(driver.loc_,
2670 "Bad escape in " + std::string(
yytext) + trailer,
2676 #line 676 "agent_lexer.ll"
2679 std::string raw(
yytext+1);
2680 driver.error(driver.loc_,
2681 "Overflow escape in " + std::string(
yytext),
2687 #line 684 "agent_lexer.ll"
2690 std::string raw(
yytext+1);
2691 size_t pos = raw.size() - 1;
2692 for (; pos > 0; --pos) {
2698 driver.error(driver.loc_,
2699 "Overflow unicode escape in " + std::string(
yytext),
2705 #line 699 "agent_lexer.ll"
2706 {
return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
2710 #line 700 "agent_lexer.ll"
2711 {
return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
2715 #line 701 "agent_lexer.ll"
2716 {
return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
2720 #line 702 "agent_lexer.ll"
2721 {
return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
2725 #line 703 "agent_lexer.ll"
2726 {
return AgentParser::make_COMMA(driver.loc_); }
2730 #line 704 "agent_lexer.ll"
2731 {
return AgentParser::make_COLON(driver.loc_); }
2735 #line 706 "agent_lexer.ll"
2739 int64_t integer = 0;
2745 integer = boost::lexical_cast<int64_t>(tmp);
2746 }
catch (
const boost::bad_lexical_cast &) {
2747 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to an integer.");
2751 return AgentParser::make_INTEGER(integer, driver.loc_);
2756 #line 724 "agent_lexer.ll"
2762 fp = boost::lexical_cast<
double>(tmp);
2763 }
catch (
const boost::bad_lexical_cast &) {
2764 driver.error(driver.loc_,
"Failed to convert " + tmp +
" to a floating point.");
2767 return AgentParser::make_FLOAT(fp, driver.loc_);
2772 #line 737 "agent_lexer.ll"
2775 return AgentParser::make_BOOLEAN(tmp ==
"true", driver.loc_);
2780 #line 742 "agent_lexer.ll"
2782 return AgentParser::make_NULL_TYPE(driver.loc_);
2787 #line 746 "agent_lexer.ll"
2788 driver.error (driver.loc_,
"JSON true reserved keyword is lower case only");
2792 #line 748 "agent_lexer.ll"
2793 driver.error (driver.loc_,
"JSON false reserved keyword is lower case only");
2797 #line 750 "agent_lexer.ll"
2798 driver.error (driver.loc_,
"JSON null reserved keyword is lower case only");
2802 #line 752 "agent_lexer.ll"
2803 driver.error (driver.loc_,
"Invalid character: " + std::string(
yytext));
2806 #line 754 "agent_lexer.ll"
2808 if (driver.states_.empty()) {
2809 return AgentParser::make_END(driver.loc_);
2811 driver.loc_ = driver.locs_.back();
2812 driver.locs_.pop_back();
2813 driver.file_ = driver.files_.back();
2814 driver.files_.pop_back();
2815 if (driver.sfile_) {
2816 fclose(driver.sfile_);
2819 if (!driver.sfiles_.empty()) {
2820 driver.sfile_ = driver.sfiles_.back();
2821 driver.sfiles_.pop_back();
2824 agent__switch_to_buffer(driver.states_.back());
2825 driver.states_.pop_back();
2832 #line 777 "agent_lexer.ll"
2835 #line 2835 "agent_lexer.cc"
2840 int yy_amount_of_matched_text = (int) (yy_cp - (
yytext_ptr)) - 1;
2843 *yy_cp = (yy_hold_char);
2877 (yy_c_buf_p) = (
yytext_ptr) + yy_amount_of_matched_text;
2879 yy_current_state = yy_get_previous_state( );
2890 yy_next_state = yy_try_NUL_trans( yy_current_state );
2894 if ( yy_next_state )
2897 yy_cp = ++(yy_c_buf_p);
2898 yy_current_state = yy_next_state;
2905 yy_cp = (yy_last_accepting_cpos);
2906 yy_current_state = (yy_last_accepting_state);
2907 goto yy_find_action;
2911 else switch ( yy_get_next_buffer( ) )
2915 (yy_did_buffer_switch_on_eof) = 0;
2936 if ( ! (yy_did_buffer_switch_on_eof) )
2946 yy_current_state = yy_get_previous_state( );
2948 yy_cp = (yy_c_buf_p);
2956 yy_current_state = yy_get_previous_state( );
2958 yy_cp = (yy_c_buf_p);
2960 goto yy_find_action;
2967 "fatal flex scanner internal error--no action found" );
2988 static int yy_get_next_buffer (
void)
2995 int number_to_move, i;
3000 "fatal flex scanner internal error--end of buffer missed" );
3024 number_to_move = (int) ((yy_c_buf_p) - (
yytext_ptr) - 1);
3026 for ( i = 0; i < number_to_move; ++i )
3027 *(dest++) = *(source++);
3040 while ( num_to_read <= 0 )
3046 int yy_c_buf_p_offset =
3053 if ( new_size <= 0 )
3069 "fatal error - scanner input buffer overflow" );
3071 (yy_c_buf_p) = &b->
yy_ch_buf[yy_c_buf_p_offset];
3083 (yy_n_chars), num_to_read );
3088 if ( (yy_n_chars) == 0 )
3109 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3113 YY_FATAL_ERROR(
"out of dynamic memory in yy_get_next_buffer()" );
3118 (yy_n_chars) += number_to_move;
3140 yy_current_state = (yy_start);
3146 if ( yy_accept[yy_current_state] )
3148 (yy_last_accepting_state) = yy_current_state;
3149 (yy_last_accepting_cpos) = yy_cp;
3151 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3153 yy_current_state = (int) yy_def[yy_current_state];
3154 if ( yy_current_state >= 388 )
3155 yy_c = yy_meta[yy_c];
3157 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3160 return yy_current_state;
3176 char *yy_cp = (yy_c_buf_p);
3179 if ( yy_accept[yy_current_state] )
3181 (yy_last_accepting_state) = yy_current_state;
3182 (yy_last_accepting_cpos) = yy_cp;
3184 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3186 yy_current_state = (int) yy_def[yy_current_state];
3187 if ( yy_current_state >= 388 )
3188 yy_c = yy_meta[yy_c];
3190 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
3191 yy_is_jam = (yy_current_state == 387);
3193 return yy_is_jam ? 0 : yy_current_state;
3205 static int yyinput (
void)
3207 static int input (
void)
3216 *(yy_c_buf_p) = (yy_hold_char);
3226 *(yy_c_buf_p) =
'\0';
3230 int offset = (int) ((yy_c_buf_p) - (
yytext_ptr));
3233 switch ( yy_get_next_buffer( ) )
3256 if ( ! (yy_did_buffer_switch_on_eof) )
3272 c = *(
unsigned char *) (yy_c_buf_p);
3273 *(yy_c_buf_p) =
'\0';
3274 (yy_hold_char) = *++(yy_c_buf_p);
3332 *(yy_c_buf_p) = (yy_hold_char);
3345 (yy_did_buffer_switch_on_eof) = 1;
3361 (yy_hold_char) = *(yy_c_buf_p);
3509 if (new_buffer == NULL)
3518 *(yy_c_buf_p) = (yy_hold_char);
3525 (yy_buffer_stack_top)++;
3530 (yy_did_buffer_switch_on_eof) = 1;
3550 if ((yy_buffer_stack_top) > 0)
3551 --(yy_buffer_stack_top);
3555 (yy_did_buffer_switch_on_eof) = 1;
3572 if (!(yy_buffer_stack)) {
3582 if ( ! (yy_buffer_stack) )
3583 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3585 memset((yy_buffer_stack), 0, num_to_alloc *
sizeof(
struct yy_buffer_state*));
3587 (yy_buffer_stack_max) = num_to_alloc;
3588 (yy_buffer_stack_top) = 0;
3592 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3597 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3602 if ( ! (yy_buffer_stack) )
3603 YY_FATAL_ERROR(
"out of dynamic memory in yyensure_buffer_stack()" );
3606 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size *
sizeof(
struct yy_buffer_state*));
3607 (yy_buffer_stack_max) = num_to_alloc;
3686 for ( i = 0; i < _yybytes_len; ++i )
3687 buf[i] = yybytes[i];
3704 #ifndef YY_EXIT_FAILURE
3705 #define YY_EXIT_FAILURE 2
3709 static void yynoreturn yy_fatal_error (
const char* msg )
3711 fprintf( stderr,
"%s\n", msg );
3725 int yyless_macro_arg = (n); \
3726 YY_LESS_LINENO(yyless_macro_arg);\
3727 yytext[yyleng] = (yy_hold_char); \
3728 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3729 (yy_hold_char) = *(yy_c_buf_p); \
3730 *(yy_c_buf_p) = '\0'; \
3731 yyleng = yyless_macro_arg; \
3830 static int yy_init_globals (
void)
3836 (yy_buffer_stack) = NULL;
3837 (yy_buffer_stack_top) = 0;
3838 (yy_buffer_stack_max) = 0;
3839 (yy_c_buf_p) = NULL;
3872 yyfree((yy_buffer_stack) );
3873 (yy_buffer_stack) = NULL;
3890 static void yy_flex_strncpy (
char* s1,
const char * s2,
int n )
3894 for ( i = 0; i < n; ++i )
3899 #ifdef YY_NEED_STRLEN
3900 static int yy_flex_strlen (
const char * s )
3903 for ( n = 0; s[n]; ++n )
3912 return malloc(size);
3925 return realloc(ptr, size);
3930 free( (
char *) ptr );
3935 #define YYTABLES_NAME "yytables"
3940 #line 777 "agent_lexer.ll"
3946 ParserContext::scanStringBegin(
const std::string& str,
ParserType parser_type)
3948 start_token_flag =
true;
3949 start_token_value = parser_type;
3953 loc_.initialize(&file_);
3955 YY_BUFFER_STATE buffer;
3956 buffer = agent__scan_bytes(str.c_str(), str.size());
3958 fatal(
"cannot scan string");
3964 ParserContext::scanFileBegin(FILE * f,
3965 const std::string& filename,
3968 start_token_flag =
true;
3969 start_token_value = parser_type;
3973 loc_.initialize(&file_);
3975 YY_BUFFER_STATE buffer;
3978 buffer = agent__create_buffer(f, 65536 );
3980 fatal(
"cannot scan file " + filename);
3982 agent__switch_to_buffer(buffer);
3986 ParserContext::scanEnd() {
3990 static_cast<void>(agent_lex_destroy());
3992 while (!sfiles_.empty()) {
3993 FILE* f = sfiles_.back();
4000 while (!states_.empty()) {
4001 agent__delete_buffer(states_.back());
4007 ParserContext::includeFile(
const std::string& filename) {
4008 if (states_.size() > 10) {
4009 fatal(
"Too many nested include.");
4012 FILE* f = fopen(filename.c_str(),
"r");
4014 fatal(
"Can't open include file " + filename);
4017 sfiles_.push_back(sfile_);
4021 YY_BUFFER_STATE buffer;
4022 buffer = agent__create_buffer(f, 65536 );
4024 fatal(
"Can't scan include file " + filename);
4026 agent__switch_to_buffer(buffer);
4027 files_.push_back(file_);
4029 locs_.push_back(loc_);
4030 loc_.initialize(&file_);
4039 void dummy() { yy_fatal_error(
"Fix me: how to disable its definition?"); }
#define yy_load_buffer_state
static symbol_type make_START_AGENT(const location_type &l)
ParserType
Defines currently supported scopes.
#define YY_STATE_EOF(state)
unsigned short int flex_uint16_t
static symbol_type make_START_JSON(const location_type &l)
#define yyensure_buffer_stack
int yy_bs_lineno
The line count.
#define EOB_ACT_CONTINUE_SCAN
#define isc_throw(type, stream)
A shortcut macro to insert known values into exception arguments.
#define yypush_buffer_state
int yy_bs_column
The column count.
struct yy_buffer_state * YY_BUFFER_STATE
Evaluation error exception raised when trying to parse.
unsigned int flex_uint32_t
#define yypop_buffer_state
#define YY_CURRENT_BUFFER_LVALUE
static symbol_type make_START_SUB_AGENT(const location_type &l)
#define YY_CURRENT_BUFFER
Defines the logger used by the top-level component of kea-dhcp-ddns.
unsigned char flex_uint8_t
#define yy_switch_to_buffer
#define YY_END_OF_BUFFER_CHAR
#define YY_DO_BEFORE_ACTION
#define YY_RESTORE_YY_MORE_OFFSET
#define EOB_ACT_LAST_MATCH
#define EOB_ACT_END_OF_FILE
#define YY_BUFFER_EOF_PENDING
#define YY_INPUT(buf, result, max_size)
#define YY_FATAL_ERROR(msg)