• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #if LLHTTP_STRICT_MODE
2 
3 #include <stdlib.h>
4 #include <stdint.h>
5 #include <string.h>
6 
7 #ifdef __SSE4_2__
8  #ifdef _MSC_VER
9   #include <nmmintrin.h>
10  #else  /* !_MSC_VER */
11   #include <x86intrin.h>
12  #endif  /* _MSC_VER */
13 #endif  /* __SSE4_2__ */
14 
15 #ifdef _MSC_VER
16  #define ALIGN(n) _declspec(align(n))
17 #else  /* !_MSC_VER */
18  #define ALIGN(n) __attribute__((aligned(n)))
19 #endif  /* _MSC_VER */
20 
21 #include "llhttp.h"
22 
23 typedef int (*llhttp__internal__span_cb)(
24              llhttp__internal_t*, const char*, const char*);
25 
26 static const unsigned char llparse_blob0[] = {
27   'C', 'L'
28 };
29 static const unsigned char llparse_blob1[] = {
30   0xd, 0xa
31 };
32 static const unsigned char llparse_blob2[] = {
33   'o', 'n'
34 };
35 static const unsigned char llparse_blob3[] = {
36   'e', 'c', 't', 'i', 'o', 'n'
37 };
38 static const unsigned char llparse_blob4[] = {
39   'l', 'o', 's', 'e'
40 };
41 static const unsigned char llparse_blob5[] = {
42   'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
43 };
44 static const unsigned char llparse_blob6[] = {
45   'p', 'g', 'r', 'a', 'd', 'e'
46 };
47 static const unsigned char llparse_blob7[] = {
48   'c', 'h', 'u', 'n', 'k', 'e', 'd'
49 };
50 #ifdef __SSE4_2__
51 static const unsigned char ALIGN(16) llparse_blob8[] = {
52   0x9, 0x9, ' ', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
53   0x0, 0x0, 0x0, 0x0, 0x0
54 };
55 #endif  /* __SSE4_2__ */
56 #ifdef __SSE4_2__
57 static const unsigned char ALIGN(16) llparse_blob9[] = {
58   '!', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
59   'Z', '^', 'z', '|', '|'
60 };
61 #endif  /* __SSE4_2__ */
62 #ifdef __SSE4_2__
63 static const unsigned char ALIGN(16) llparse_blob10[] = {
64   '~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
65   0x0, 0x0, 0x0, 0x0, 0x0
66 };
67 #endif  /* __SSE4_2__ */
68 static const unsigned char llparse_blob11[] = {
69   'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
70 };
71 static const unsigned char llparse_blob12[] = {
72   'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
73   't', 'i', 'o', 'n'
74 };
75 static const unsigned char llparse_blob13[] = {
76   'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
77   'o', 'd', 'i', 'n', 'g'
78 };
79 static const unsigned char llparse_blob14[] = {
80   'p', 'g', 'r', 'a', 'd', 'e'
81 };
82 static const unsigned char llparse_blob15[] = {
83   'T', 'T', 'P', '/'
84 };
85 static const unsigned char llparse_blob16[] = {
86   'C', 'E', '/'
87 };
88 static const unsigned char llparse_blob17[] = {
89   'I', 'N', 'D'
90 };
91 static const unsigned char llparse_blob18[] = {
92   'E', 'C', 'K', 'O', 'U', 'T'
93 };
94 static const unsigned char llparse_blob19[] = {
95   'N', 'E', 'C', 'T'
96 };
97 static const unsigned char llparse_blob20[] = {
98   'E', 'L', 'E', 'T', 'E'
99 };
100 static const unsigned char llparse_blob21[] = {
101   'E', 'T'
102 };
103 static const unsigned char llparse_blob22[] = {
104   'E', 'A', 'D'
105 };
106 static const unsigned char llparse_blob23[] = {
107   'N', 'K'
108 };
109 static const unsigned char llparse_blob24[] = {
110   'C', 'K'
111 };
112 static const unsigned char llparse_blob25[] = {
113   'S', 'E', 'A', 'R', 'C', 'H'
114 };
115 static const unsigned char llparse_blob26[] = {
116   'R', 'G', 'E'
117 };
118 static const unsigned char llparse_blob27[] = {
119   'C', 'T', 'I', 'V', 'I', 'T', 'Y'
120 };
121 static const unsigned char llparse_blob28[] = {
122   'L', 'E', 'N', 'D', 'A', 'R'
123 };
124 static const unsigned char llparse_blob29[] = {
125   'V', 'E'
126 };
127 static const unsigned char llparse_blob30[] = {
128   'O', 'T', 'I', 'F', 'Y'
129 };
130 static const unsigned char llparse_blob31[] = {
131   'P', 'T', 'I', 'O', 'N', 'S'
132 };
133 static const unsigned char llparse_blob32[] = {
134   'T', 'C', 'H'
135 };
136 static const unsigned char llparse_blob33[] = {
137   'S', 'T'
138 };
139 static const unsigned char llparse_blob34[] = {
140   'I', 'N', 'D'
141 };
142 static const unsigned char llparse_blob35[] = {
143   'A', 'T', 'C', 'H'
144 };
145 static const unsigned char llparse_blob36[] = {
146   'G', 'E'
147 };
148 static const unsigned char llparse_blob37[] = {
149   'I', 'N', 'D'
150 };
151 static const unsigned char llparse_blob38[] = {
152   'O', 'R', 'T'
153 };
154 static const unsigned char llparse_blob39[] = {
155   'A', 'R', 'C', 'H'
156 };
157 static const unsigned char llparse_blob40[] = {
158   'U', 'R', 'C', 'E'
159 };
160 static const unsigned char llparse_blob41[] = {
161   'B', 'S', 'C', 'R', 'I', 'B', 'E'
162 };
163 static const unsigned char llparse_blob42[] = {
164   'R', 'A', 'C', 'E'
165 };
166 static const unsigned char llparse_blob43[] = {
167   'I', 'N', 'D'
168 };
169 static const unsigned char llparse_blob44[] = {
170   'N', 'K'
171 };
172 static const unsigned char llparse_blob45[] = {
173   'C', 'K'
174 };
175 static const unsigned char llparse_blob46[] = {
176   'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
177 };
178 static const unsigned char llparse_blob47[] = {
179   'H', 'T', 'T', 'P', '/'
180 };
181 static const unsigned char llparse_blob48[] = {
182   'A', 'D'
183 };
184 static const unsigned char llparse_blob49[] = {
185   'T', 'P', '/'
186 };
187 
188 enum llparse_match_status_e {
189   kMatchComplete,
190   kMatchPause,
191   kMatchMismatch
192 };
193 typedef enum llparse_match_status_e llparse_match_status_t;
194 
195 struct llparse_match_s {
196   llparse_match_status_t status;
197   const unsigned char* current;
198 };
199 typedef struct llparse_match_s llparse_match_t;
200 
llparse__match_sequence_id(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)201 static llparse_match_t llparse__match_sequence_id(
202     llhttp__internal_t* s, const unsigned char* p,
203     const unsigned char* endp,
204     const unsigned char* seq, uint32_t seq_len) {
205   uint32_t index;
206   llparse_match_t res;
207 
208   index = s->_index;
209   for (; p != endp; p++) {
210     unsigned char current;
211 
212     current = *p;
213     if (current == seq[index]) {
214       if (++index == seq_len) {
215         res.status = kMatchComplete;
216         goto reset;
217       }
218     } else {
219       res.status = kMatchMismatch;
220       goto reset;
221     }
222   }
223   s->_index = index;
224   res.status = kMatchPause;
225   res.current = p;
226   return res;
227 reset:
228   s->_index = 0;
229   res.current = p;
230   return res;
231 }
232 
llparse__match_sequence_to_lower(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)233 static llparse_match_t llparse__match_sequence_to_lower(
234     llhttp__internal_t* s, const unsigned char* p,
235     const unsigned char* endp,
236     const unsigned char* seq, uint32_t seq_len) {
237   uint32_t index;
238   llparse_match_t res;
239 
240   index = s->_index;
241   for (; p != endp; p++) {
242     unsigned char current;
243 
244     current = ((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p));
245     if (current == seq[index]) {
246       if (++index == seq_len) {
247         res.status = kMatchComplete;
248         goto reset;
249       }
250     } else {
251       res.status = kMatchMismatch;
252       goto reset;
253     }
254   }
255   s->_index = index;
256   res.status = kMatchPause;
257   res.current = p;
258   return res;
259 reset:
260   s->_index = 0;
261   res.current = p;
262   return res;
263 }
264 
llparse__match_sequence_to_lower_unsafe(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)265 static llparse_match_t llparse__match_sequence_to_lower_unsafe(
266     llhttp__internal_t* s, const unsigned char* p,
267     const unsigned char* endp,
268     const unsigned char* seq, uint32_t seq_len) {
269   uint32_t index;
270   llparse_match_t res;
271 
272   index = s->_index;
273   for (; p != endp; p++) {
274     unsigned char current;
275 
276     current = ((*p) | 0x20);
277     if (current == seq[index]) {
278       if (++index == seq_len) {
279         res.status = kMatchComplete;
280         goto reset;
281       }
282     } else {
283       res.status = kMatchMismatch;
284       goto reset;
285     }
286   }
287   s->_index = index;
288   res.status = kMatchPause;
289   res.current = p;
290   return res;
291 reset:
292   s->_index = 0;
293   res.current = p;
294   return res;
295 }
296 
297 enum llparse_state_e {
298   s_error,
299   s_n_llhttp__internal__n_closed,
300   s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
301   s_n_llhttp__internal__n_pause_1,
302   s_n_llhttp__internal__n_invoke_is_equal_upgrade,
303   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
304   s_n_llhttp__internal__n_chunk_data_almost_done,
305   s_n_llhttp__internal__n_consume_content_length,
306   s_n_llhttp__internal__n_span_start_llhttp__on_body,
307   s_n_llhttp__internal__n_invoke_is_equal_content_length,
308   s_n_llhttp__internal__n_chunk_size_almost_done,
309   s_n_llhttp__internal__n_chunk_parameters,
310   s_n_llhttp__internal__n_chunk_size_otherwise,
311   s_n_llhttp__internal__n_chunk_size,
312   s_n_llhttp__internal__n_chunk_size_digit,
313   s_n_llhttp__internal__n_invoke_update_content_length,
314   s_n_llhttp__internal__n_consume_content_length_1,
315   s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
316   s_n_llhttp__internal__n_eof,
317   s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
318   s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
319   s_n_llhttp__internal__n_headers_almost_done,
320   s_n_llhttp__internal__n_header_field_colon_discard_ws,
321   s_n_llhttp__internal__n_error_20,
322   s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
323   s_n_llhttp__internal__n_header_value_discard_lws,
324   s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
325   s_n_llhttp__internal__n_header_value_lws,
326   s_n_llhttp__internal__n_header_value_almost_done,
327   s_n_llhttp__internal__n_header_value_lenient,
328   s_n_llhttp__internal__n_error_25,
329   s_n_llhttp__internal__n_header_value_otherwise,
330   s_n_llhttp__internal__n_header_value_connection_token,
331   s_n_llhttp__internal__n_header_value_connection_ws,
332   s_n_llhttp__internal__n_header_value_connection_1,
333   s_n_llhttp__internal__n_header_value_connection_2,
334   s_n_llhttp__internal__n_header_value_connection_3,
335   s_n_llhttp__internal__n_header_value_connection,
336   s_n_llhttp__internal__n_error_27,
337   s_n_llhttp__internal__n_error_28,
338   s_n_llhttp__internal__n_header_value_content_length_ws,
339   s_n_llhttp__internal__n_header_value_content_length,
340   s_n_llhttp__internal__n_error_30,
341   s_n_llhttp__internal__n_error_29,
342   s_n_llhttp__internal__n_header_value_te_token_ows,
343   s_n_llhttp__internal__n_header_value,
344   s_n_llhttp__internal__n_header_value_te_token,
345   s_n_llhttp__internal__n_header_value_te_chunked_last,
346   s_n_llhttp__internal__n_header_value_te_chunked,
347   s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
348   s_n_llhttp__internal__n_header_value_discard_ws,
349   s_n_llhttp__internal__n_header_field_general_otherwise,
350   s_n_llhttp__internal__n_header_field_general,
351   s_n_llhttp__internal__n_header_field_colon,
352   s_n_llhttp__internal__n_header_field_3,
353   s_n_llhttp__internal__n_header_field_4,
354   s_n_llhttp__internal__n_header_field_2,
355   s_n_llhttp__internal__n_header_field_1,
356   s_n_llhttp__internal__n_header_field_5,
357   s_n_llhttp__internal__n_header_field_6,
358   s_n_llhttp__internal__n_header_field_7,
359   s_n_llhttp__internal__n_header_field,
360   s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
361   s_n_llhttp__internal__n_header_field_start,
362   s_n_llhttp__internal__n_url_to_http_09,
363   s_n_llhttp__internal__n_url_skip_to_http09,
364   s_n_llhttp__internal__n_url_skip_lf_to_http09_1,
365   s_n_llhttp__internal__n_url_skip_lf_to_http09,
366   s_n_llhttp__internal__n_req_http_end_1,
367   s_n_llhttp__internal__n_req_http_end,
368   s_n_llhttp__internal__n_req_http_minor,
369   s_n_llhttp__internal__n_req_http_dot,
370   s_n_llhttp__internal__n_req_http_major,
371   s_n_llhttp__internal__n_req_http_start_1,
372   s_n_llhttp__internal__n_req_http_start_2,
373   s_n_llhttp__internal__n_req_http_start,
374   s_n_llhttp__internal__n_url_to_http,
375   s_n_llhttp__internal__n_url_skip_to_http,
376   s_n_llhttp__internal__n_url_fragment,
377   s_n_llhttp__internal__n_span_end_stub_query_3,
378   s_n_llhttp__internal__n_url_query,
379   s_n_llhttp__internal__n_url_query_or_fragment,
380   s_n_llhttp__internal__n_url_path,
381   s_n_llhttp__internal__n_span_start_stub_path_2,
382   s_n_llhttp__internal__n_span_start_stub_path,
383   s_n_llhttp__internal__n_span_start_stub_path_1,
384   s_n_llhttp__internal__n_url_server_with_at,
385   s_n_llhttp__internal__n_url_server,
386   s_n_llhttp__internal__n_url_schema_delim_1,
387   s_n_llhttp__internal__n_url_schema_delim,
388   s_n_llhttp__internal__n_span_end_stub_schema,
389   s_n_llhttp__internal__n_url_schema,
390   s_n_llhttp__internal__n_url_start,
391   s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
392   s_n_llhttp__internal__n_url_entry_normal,
393   s_n_llhttp__internal__n_span_start_llhttp__on_url,
394   s_n_llhttp__internal__n_url_entry_connect,
395   s_n_llhttp__internal__n_req_spaces_before_url,
396   s_n_llhttp__internal__n_req_first_space_before_url,
397   s_n_llhttp__internal__n_start_req_1,
398   s_n_llhttp__internal__n_start_req_2,
399   s_n_llhttp__internal__n_start_req_4,
400   s_n_llhttp__internal__n_start_req_6,
401   s_n_llhttp__internal__n_start_req_7,
402   s_n_llhttp__internal__n_start_req_5,
403   s_n_llhttp__internal__n_start_req_3,
404   s_n_llhttp__internal__n_start_req_8,
405   s_n_llhttp__internal__n_start_req_9,
406   s_n_llhttp__internal__n_start_req_10,
407   s_n_llhttp__internal__n_start_req_12,
408   s_n_llhttp__internal__n_start_req_13,
409   s_n_llhttp__internal__n_start_req_11,
410   s_n_llhttp__internal__n_start_req_15,
411   s_n_llhttp__internal__n_start_req_16,
412   s_n_llhttp__internal__n_start_req_18,
413   s_n_llhttp__internal__n_start_req_20,
414   s_n_llhttp__internal__n_start_req_21,
415   s_n_llhttp__internal__n_start_req_19,
416   s_n_llhttp__internal__n_start_req_17,
417   s_n_llhttp__internal__n_start_req_22,
418   s_n_llhttp__internal__n_start_req_14,
419   s_n_llhttp__internal__n_start_req_23,
420   s_n_llhttp__internal__n_start_req_24,
421   s_n_llhttp__internal__n_start_req_26,
422   s_n_llhttp__internal__n_start_req_27,
423   s_n_llhttp__internal__n_start_req_31,
424   s_n_llhttp__internal__n_start_req_32,
425   s_n_llhttp__internal__n_start_req_30,
426   s_n_llhttp__internal__n_start_req_29,
427   s_n_llhttp__internal__n_start_req_28,
428   s_n_llhttp__internal__n_start_req_34,
429   s_n_llhttp__internal__n_start_req_33,
430   s_n_llhttp__internal__n_start_req_25,
431   s_n_llhttp__internal__n_start_req_37,
432   s_n_llhttp__internal__n_start_req_38,
433   s_n_llhttp__internal__n_start_req_36,
434   s_n_llhttp__internal__n_start_req_35,
435   s_n_llhttp__internal__n_start_req_40,
436   s_n_llhttp__internal__n_start_req_41,
437   s_n_llhttp__internal__n_start_req_42,
438   s_n_llhttp__internal__n_start_req_39,
439   s_n_llhttp__internal__n_start_req_43,
440   s_n_llhttp__internal__n_start_req_46,
441   s_n_llhttp__internal__n_start_req_48,
442   s_n_llhttp__internal__n_start_req_49,
443   s_n_llhttp__internal__n_start_req_47,
444   s_n_llhttp__internal__n_start_req_50,
445   s_n_llhttp__internal__n_start_req_45,
446   s_n_llhttp__internal__n_start_req_44,
447   s_n_llhttp__internal__n_start_req,
448   s_n_llhttp__internal__n_res_line_almost_done,
449   s_n_llhttp__internal__n_res_status,
450   s_n_llhttp__internal__n_span_start_llhttp__on_status,
451   s_n_llhttp__internal__n_res_status_start,
452   s_n_llhttp__internal__n_res_status_code_otherwise,
453   s_n_llhttp__internal__n_res_status_code,
454   s_n_llhttp__internal__n_res_http_end,
455   s_n_llhttp__internal__n_res_http_minor,
456   s_n_llhttp__internal__n_res_http_dot,
457   s_n_llhttp__internal__n_res_http_major,
458   s_n_llhttp__internal__n_start_res,
459   s_n_llhttp__internal__n_req_or_res_method_2,
460   s_n_llhttp__internal__n_req_or_res_method_3,
461   s_n_llhttp__internal__n_req_or_res_method_1,
462   s_n_llhttp__internal__n_req_or_res_method,
463   s_n_llhttp__internal__n_start_req_or_res,
464   s_n_llhttp__internal__n_invoke_load_type,
465   s_n_llhttp__internal__n_start,
466 };
467 typedef enum llparse_state_e llparse_state_t;
468 
469 int llhttp__on_url(
470     llhttp__internal_t* s, const unsigned char* p,
471     const unsigned char* endp);
472 
473 int llhttp__on_header_field(
474     llhttp__internal_t* s, const unsigned char* p,
475     const unsigned char* endp);
476 
477 int llhttp__on_header_value(
478     llhttp__internal_t* s, const unsigned char* p,
479     const unsigned char* endp);
480 
481 int llhttp__on_body(
482     llhttp__internal_t* s, const unsigned char* p,
483     const unsigned char* endp);
484 
485 int llhttp__on_status(
486     llhttp__internal_t* s, const unsigned char* p,
487     const unsigned char* endp);
488 
llhttp__internal__c_update_finish(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)489 int llhttp__internal__c_update_finish(
490     llhttp__internal_t* state,
491     const unsigned char* p,
492     const unsigned char* endp) {
493   state->finish = 2;
494   return 0;
495 }
496 
497 int llhttp__on_message_begin(
498     llhttp__internal_t* s, const unsigned char* p,
499     const unsigned char* endp);
500 
llhttp__internal__c_load_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)501 int llhttp__internal__c_load_type(
502     llhttp__internal_t* state,
503     const unsigned char* p,
504     const unsigned char* endp) {
505   return state->type;
506 }
507 
llhttp__internal__c_store_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)508 int llhttp__internal__c_store_method(
509     llhttp__internal_t* state,
510     const unsigned char* p,
511     const unsigned char* endp,
512     int match) {
513   state->method = match;
514   return 0;
515 }
516 
llhttp__internal__c_is_equal_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)517 int llhttp__internal__c_is_equal_method(
518     llhttp__internal_t* state,
519     const unsigned char* p,
520     const unsigned char* endp) {
521   return state->method == 5;
522 }
523 
llhttp__internal__c_update_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)524 int llhttp__internal__c_update_http_major(
525     llhttp__internal_t* state,
526     const unsigned char* p,
527     const unsigned char* endp) {
528   state->http_major = 0;
529   return 0;
530 }
531 
llhttp__internal__c_update_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)532 int llhttp__internal__c_update_http_minor(
533     llhttp__internal_t* state,
534     const unsigned char* p,
535     const unsigned char* endp) {
536   state->http_minor = 9;
537   return 0;
538 }
539 
llhttp__internal__c_test_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)540 int llhttp__internal__c_test_flags(
541     llhttp__internal_t* state,
542     const unsigned char* p,
543     const unsigned char* endp) {
544   return (state->flags & 128) == 128;
545 }
546 
547 int llhttp__on_chunk_complete(
548     llhttp__internal_t* s, const unsigned char* p,
549     const unsigned char* endp);
550 
551 int llhttp__on_message_complete(
552     llhttp__internal_t* s, const unsigned char* p,
553     const unsigned char* endp);
554 
llhttp__internal__c_is_equal_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)555 int llhttp__internal__c_is_equal_upgrade(
556     llhttp__internal_t* state,
557     const unsigned char* p,
558     const unsigned char* endp) {
559   return state->upgrade == 1;
560 }
561 
562 int llhttp__after_message_complete(
563     llhttp__internal_t* s, const unsigned char* p,
564     const unsigned char* endp);
565 
llhttp__internal__c_update_finish_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)566 int llhttp__internal__c_update_finish_1(
567     llhttp__internal_t* state,
568     const unsigned char* p,
569     const unsigned char* endp) {
570   state->finish = 0;
571   return 0;
572 }
573 
llhttp__internal__c_test_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)574 int llhttp__internal__c_test_flags_1(
575     llhttp__internal_t* state,
576     const unsigned char* p,
577     const unsigned char* endp) {
578   return (state->flags & 544) == 544;
579 }
580 
llhttp__internal__c_test_flags_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)581 int llhttp__internal__c_test_flags_2(
582     llhttp__internal_t* state,
583     const unsigned char* p,
584     const unsigned char* endp) {
585   return (state->flags & 256) == 256;
586 }
587 
llhttp__internal__c_test_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)588 int llhttp__internal__c_test_flags_3(
589     llhttp__internal_t* state,
590     const unsigned char* p,
591     const unsigned char* endp) {
592   return (state->flags & 40) == 40;
593 }
594 
595 int llhttp__before_headers_complete(
596     llhttp__internal_t* s, const unsigned char* p,
597     const unsigned char* endp);
598 
599 int llhttp__on_headers_complete(
600     llhttp__internal_t* s, const unsigned char* p,
601     const unsigned char* endp);
602 
603 int llhttp__after_headers_complete(
604     llhttp__internal_t* s, const unsigned char* p,
605     const unsigned char* endp);
606 
llhttp__internal__c_update_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)607 int llhttp__internal__c_update_content_length(
608     llhttp__internal_t* state,
609     const unsigned char* p,
610     const unsigned char* endp) {
611   state->content_length = 0;
612   return 0;
613 }
614 
llhttp__internal__c_mul_add_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)615 int llhttp__internal__c_mul_add_content_length(
616     llhttp__internal_t* state,
617     const unsigned char* p,
618     const unsigned char* endp,
619     int match) {
620   /* Multiplication overflow */
621   if (state->content_length > 0xffffffffffffffffULL / 16) {
622     return 1;
623   }
624 
625   state->content_length *= 16;
626 
627   /* Addition overflow */
628   if (match >= 0) {
629     if (state->content_length > 0xffffffffffffffffULL - match) {
630       return 1;
631     }
632   } else {
633     if (state->content_length < 0ULL - match) {
634       return 1;
635     }
636   }
637   state->content_length += match;
638   return 0;
639 }
640 
641 int llhttp__on_chunk_header(
642     llhttp__internal_t* s, const unsigned char* p,
643     const unsigned char* endp);
644 
llhttp__internal__c_is_equal_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)645 int llhttp__internal__c_is_equal_content_length(
646     llhttp__internal_t* state,
647     const unsigned char* p,
648     const unsigned char* endp) {
649   return state->content_length == 0;
650 }
651 
llhttp__internal__c_or_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)652 int llhttp__internal__c_or_flags(
653     llhttp__internal_t* state,
654     const unsigned char* p,
655     const unsigned char* endp) {
656   state->flags |= 128;
657   return 0;
658 }
659 
llhttp__internal__c_update_finish_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)660 int llhttp__internal__c_update_finish_3(
661     llhttp__internal_t* state,
662     const unsigned char* p,
663     const unsigned char* endp) {
664   state->finish = 1;
665   return 0;
666 }
667 
llhttp__internal__c_or_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)668 int llhttp__internal__c_or_flags_1(
669     llhttp__internal_t* state,
670     const unsigned char* p,
671     const unsigned char* endp) {
672   state->flags |= 64;
673   return 0;
674 }
675 
llhttp__internal__c_update_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)676 int llhttp__internal__c_update_upgrade(
677     llhttp__internal_t* state,
678     const unsigned char* p,
679     const unsigned char* endp) {
680   state->upgrade = 1;
681   return 0;
682 }
683 
llhttp__internal__c_store_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)684 int llhttp__internal__c_store_header_state(
685     llhttp__internal_t* state,
686     const unsigned char* p,
687     const unsigned char* endp,
688     int match) {
689   state->header_state = match;
690   return 0;
691 }
692 
llhttp__internal__c_load_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)693 int llhttp__internal__c_load_header_state(
694     llhttp__internal_t* state,
695     const unsigned char* p,
696     const unsigned char* endp) {
697   return state->header_state;
698 }
699 
llhttp__internal__c_or_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)700 int llhttp__internal__c_or_flags_3(
701     llhttp__internal_t* state,
702     const unsigned char* p,
703     const unsigned char* endp) {
704   state->flags |= 1;
705   return 0;
706 }
707 
llhttp__internal__c_update_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)708 int llhttp__internal__c_update_header_state(
709     llhttp__internal_t* state,
710     const unsigned char* p,
711     const unsigned char* endp) {
712   state->header_state = 1;
713   return 0;
714 }
715 
llhttp__internal__c_or_flags_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)716 int llhttp__internal__c_or_flags_4(
717     llhttp__internal_t* state,
718     const unsigned char* p,
719     const unsigned char* endp) {
720   state->flags |= 2;
721   return 0;
722 }
723 
llhttp__internal__c_or_flags_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)724 int llhttp__internal__c_or_flags_5(
725     llhttp__internal_t* state,
726     const unsigned char* p,
727     const unsigned char* endp) {
728   state->flags |= 4;
729   return 0;
730 }
731 
llhttp__internal__c_or_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)732 int llhttp__internal__c_or_flags_6(
733     llhttp__internal_t* state,
734     const unsigned char* p,
735     const unsigned char* endp) {
736   state->flags |= 8;
737   return 0;
738 }
739 
llhttp__internal__c_update_header_state_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)740 int llhttp__internal__c_update_header_state_3(
741     llhttp__internal_t* state,
742     const unsigned char* p,
743     const unsigned char* endp) {
744   state->header_state = 6;
745   return 0;
746 }
747 
llhttp__internal__c_update_header_state_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)748 int llhttp__internal__c_update_header_state_1(
749     llhttp__internal_t* state,
750     const unsigned char* p,
751     const unsigned char* endp) {
752   state->header_state = 0;
753   return 0;
754 }
755 
llhttp__internal__c_update_header_state_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)756 int llhttp__internal__c_update_header_state_6(
757     llhttp__internal_t* state,
758     const unsigned char* p,
759     const unsigned char* endp) {
760   state->header_state = 5;
761   return 0;
762 }
763 
llhttp__internal__c_update_header_state_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)764 int llhttp__internal__c_update_header_state_7(
765     llhttp__internal_t* state,
766     const unsigned char* p,
767     const unsigned char* endp) {
768   state->header_state = 7;
769   return 0;
770 }
771 
llhttp__internal__c_test_flags_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)772 int llhttp__internal__c_test_flags_7(
773     llhttp__internal_t* state,
774     const unsigned char* p,
775     const unsigned char* endp) {
776   return (state->flags & 32) == 32;
777 }
778 
llhttp__internal__c_mul_add_content_length_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)779 int llhttp__internal__c_mul_add_content_length_1(
780     llhttp__internal_t* state,
781     const unsigned char* p,
782     const unsigned char* endp,
783     int match) {
784   /* Multiplication overflow */
785   if (state->content_length > 0xffffffffffffffffULL / 10) {
786     return 1;
787   }
788 
789   state->content_length *= 10;
790 
791   /* Addition overflow */
792   if (match >= 0) {
793     if (state->content_length > 0xffffffffffffffffULL - match) {
794       return 1;
795     }
796   } else {
797     if (state->content_length < 0ULL - match) {
798       return 1;
799     }
800   }
801   state->content_length += match;
802   return 0;
803 }
804 
llhttp__internal__c_or_flags_15(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)805 int llhttp__internal__c_or_flags_15(
806     llhttp__internal_t* state,
807     const unsigned char* p,
808     const unsigned char* endp) {
809   state->flags |= 32;
810   return 0;
811 }
812 
llhttp__internal__c_test_flags_8(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)813 int llhttp__internal__c_test_flags_8(
814     llhttp__internal_t* state,
815     const unsigned char* p,
816     const unsigned char* endp) {
817   return (state->flags & 8) == 8;
818 }
819 
llhttp__internal__c_or_flags_16(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)820 int llhttp__internal__c_or_flags_16(
821     llhttp__internal_t* state,
822     const unsigned char* p,
823     const unsigned char* endp) {
824   state->flags |= 512;
825   return 0;
826 }
827 
llhttp__internal__c_and_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)828 int llhttp__internal__c_and_flags(
829     llhttp__internal_t* state,
830     const unsigned char* p,
831     const unsigned char* endp) {
832   state->flags &= -9;
833   return 0;
834 }
835 
llhttp__internal__c_update_header_state_8(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)836 int llhttp__internal__c_update_header_state_8(
837     llhttp__internal_t* state,
838     const unsigned char* p,
839     const unsigned char* endp) {
840   state->header_state = 8;
841   return 0;
842 }
843 
llhttp__internal__c_or_flags_18(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)844 int llhttp__internal__c_or_flags_18(
845     llhttp__internal_t* state,
846     const unsigned char* p,
847     const unsigned char* endp) {
848   state->flags |= 16;
849   return 0;
850 }
851 
llhttp__internal__c_store_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)852 int llhttp__internal__c_store_http_major(
853     llhttp__internal_t* state,
854     const unsigned char* p,
855     const unsigned char* endp,
856     int match) {
857   state->http_major = match;
858   return 0;
859 }
860 
llhttp__internal__c_store_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)861 int llhttp__internal__c_store_http_minor(
862     llhttp__internal_t* state,
863     const unsigned char* p,
864     const unsigned char* endp,
865     int match) {
866   state->http_minor = match;
867   return 0;
868 }
869 
llhttp__internal__c_is_equal_method_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)870 int llhttp__internal__c_is_equal_method_1(
871     llhttp__internal_t* state,
872     const unsigned char* p,
873     const unsigned char* endp) {
874   return state->method == 33;
875 }
876 
llhttp__internal__c_update_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)877 int llhttp__internal__c_update_status_code(
878     llhttp__internal_t* state,
879     const unsigned char* p,
880     const unsigned char* endp) {
881   state->status_code = 0;
882   return 0;
883 }
884 
llhttp__internal__c_mul_add_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)885 int llhttp__internal__c_mul_add_status_code(
886     llhttp__internal_t* state,
887     const unsigned char* p,
888     const unsigned char* endp,
889     int match) {
890   /* Multiplication overflow */
891   if (state->status_code > 0xffff / 10) {
892     return 1;
893   }
894 
895   state->status_code *= 10;
896 
897   /* Addition overflow */
898   if (match >= 0) {
899     if (state->status_code > 0xffff - match) {
900       return 1;
901     }
902   } else {
903     if (state->status_code < 0 - match) {
904       return 1;
905     }
906   }
907   state->status_code += match;
908 
909   /* Enforce maximum */
910   if (state->status_code > 999) {
911     return 1;
912   }
913   return 0;
914 }
915 
llhttp__internal__c_update_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)916 int llhttp__internal__c_update_type(
917     llhttp__internal_t* state,
918     const unsigned char* p,
919     const unsigned char* endp) {
920   state->type = 1;
921   return 0;
922 }
923 
llhttp__internal__c_update_type_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)924 int llhttp__internal__c_update_type_1(
925     llhttp__internal_t* state,
926     const unsigned char* p,
927     const unsigned char* endp) {
928   state->type = 2;
929   return 0;
930 }
931 
llhttp__internal_init(llhttp__internal_t * state)932 int llhttp__internal_init(llhttp__internal_t* state) {
933   memset(state, 0, sizeof(*state));
934   state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_start;
935   return 0;
936 }
937 
llhttp__internal__run(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)938 static llparse_state_t llhttp__internal__run(
939     llhttp__internal_t* state,
940     const unsigned char* p,
941     const unsigned char* endp) {
942   int match;
943   switch ((llparse_state_t) (intptr_t) state->_current) {
944     case s_n_llhttp__internal__n_closed:
945     s_n_llhttp__internal__n_closed: {
946       if (p == endp) {
947         return s_n_llhttp__internal__n_closed;
948       }
949       switch (*p) {
950         case 10: {
951           p++;
952           goto s_n_llhttp__internal__n_closed;
953         }
954         case 13: {
955           p++;
956           goto s_n_llhttp__internal__n_closed;
957         }
958         default: {
959           p++;
960           goto s_n_llhttp__internal__n_error_4;
961         }
962       }
963       /* UNREACHABLE */;
964       abort();
965     }
966     case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
967     s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
968       switch (llhttp__after_message_complete(state, p, endp)) {
969         case 1:
970           goto s_n_llhttp__internal__n_invoke_update_finish_2;
971         default:
972           goto s_n_llhttp__internal__n_invoke_update_finish_1;
973       }
974       /* UNREACHABLE */;
975       abort();
976     }
977     case s_n_llhttp__internal__n_pause_1:
978     s_n_llhttp__internal__n_pause_1: {
979       state->error = 0x16;
980       state->reason = "Pause on CONNECT/Upgrade";
981       state->error_pos = (const char*) p;
982       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
983       return s_error;
984       /* UNREACHABLE */;
985       abort();
986     }
987     case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
988     s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
989       switch (llhttp__internal__c_is_equal_upgrade(state, p, endp)) {
990         case 0:
991           goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
992         default:
993           goto s_n_llhttp__internal__n_pause_1;
994       }
995       /* UNREACHABLE */;
996       abort();
997     }
998     case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
999     s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
1000       switch (llhttp__on_message_complete(state, p, endp)) {
1001         case 0:
1002           goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
1003         case 21:
1004           goto s_n_llhttp__internal__n_pause_5;
1005         default:
1006           goto s_n_llhttp__internal__n_error_14;
1007       }
1008       /* UNREACHABLE */;
1009       abort();
1010     }
1011     case s_n_llhttp__internal__n_chunk_data_almost_done:
1012     s_n_llhttp__internal__n_chunk_data_almost_done: {
1013       llparse_match_t match_seq;
1014 
1015       if (p == endp) {
1016         return s_n_llhttp__internal__n_chunk_data_almost_done;
1017       }
1018       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob1, 2);
1019       p = match_seq.current;
1020       switch (match_seq.status) {
1021         case kMatchComplete: {
1022           p++;
1023           goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
1024         }
1025         case kMatchPause: {
1026           return s_n_llhttp__internal__n_chunk_data_almost_done;
1027         }
1028         case kMatchMismatch: {
1029           goto s_n_llhttp__internal__n_error_8;
1030         }
1031       }
1032       /* UNREACHABLE */;
1033       abort();
1034     }
1035     case s_n_llhttp__internal__n_consume_content_length:
1036     s_n_llhttp__internal__n_consume_content_length: {
1037       size_t avail;
1038       uint64_t need;
1039 
1040       avail = endp - p;
1041       need = state->content_length;
1042       if (avail >= need) {
1043         p += need;
1044         state->content_length = 0;
1045         goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
1046       }
1047 
1048       state->content_length -= avail;
1049       return s_n_llhttp__internal__n_consume_content_length;
1050       /* UNREACHABLE */;
1051       abort();
1052     }
1053     case s_n_llhttp__internal__n_span_start_llhttp__on_body:
1054     s_n_llhttp__internal__n_span_start_llhttp__on_body: {
1055       if (p == endp) {
1056         return s_n_llhttp__internal__n_span_start_llhttp__on_body;
1057       }
1058       state->_span_pos0 = (void*) p;
1059       state->_span_cb0 = llhttp__on_body;
1060       goto s_n_llhttp__internal__n_consume_content_length;
1061       /* UNREACHABLE */;
1062       abort();
1063     }
1064     case s_n_llhttp__internal__n_invoke_is_equal_content_length:
1065     s_n_llhttp__internal__n_invoke_is_equal_content_length: {
1066       switch (llhttp__internal__c_is_equal_content_length(state, p, endp)) {
1067         case 0:
1068           goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
1069         default:
1070           goto s_n_llhttp__internal__n_invoke_or_flags;
1071       }
1072       /* UNREACHABLE */;
1073       abort();
1074     }
1075     case s_n_llhttp__internal__n_chunk_size_almost_done:
1076     s_n_llhttp__internal__n_chunk_size_almost_done: {
1077       if (p == endp) {
1078         return s_n_llhttp__internal__n_chunk_size_almost_done;
1079       }
1080       switch (*p) {
1081         case 10: {
1082           p++;
1083           goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
1084         }
1085         default: {
1086           goto s_n_llhttp__internal__n_error_9;
1087         }
1088       }
1089       /* UNREACHABLE */;
1090       abort();
1091     }
1092     case s_n_llhttp__internal__n_chunk_parameters:
1093     s_n_llhttp__internal__n_chunk_parameters: {
1094       static uint8_t lookup_table[] = {
1095         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0,
1096         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1097         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1098         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1099         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1100         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1101         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1102         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1103         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1104         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1105         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1106         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1107         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1108         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1109         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1110         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1111       };
1112       if (p == endp) {
1113         return s_n_llhttp__internal__n_chunk_parameters;
1114       }
1115       switch (lookup_table[(uint8_t) *p]) {
1116         case 1: {
1117           p++;
1118           goto s_n_llhttp__internal__n_chunk_parameters;
1119         }
1120         case 2: {
1121           p++;
1122           goto s_n_llhttp__internal__n_chunk_size_almost_done;
1123         }
1124         default: {
1125           goto s_n_llhttp__internal__n_error_10;
1126         }
1127       }
1128       /* UNREACHABLE */;
1129       abort();
1130     }
1131     case s_n_llhttp__internal__n_chunk_size_otherwise:
1132     s_n_llhttp__internal__n_chunk_size_otherwise: {
1133       if (p == endp) {
1134         return s_n_llhttp__internal__n_chunk_size_otherwise;
1135       }
1136       switch (*p) {
1137         case 13: {
1138           p++;
1139           goto s_n_llhttp__internal__n_chunk_size_almost_done;
1140         }
1141         case ' ': {
1142           p++;
1143           goto s_n_llhttp__internal__n_chunk_parameters;
1144         }
1145         case ';': {
1146           p++;
1147           goto s_n_llhttp__internal__n_chunk_parameters;
1148         }
1149         default: {
1150           goto s_n_llhttp__internal__n_error_11;
1151         }
1152       }
1153       /* UNREACHABLE */;
1154       abort();
1155     }
1156     case s_n_llhttp__internal__n_chunk_size:
1157     s_n_llhttp__internal__n_chunk_size: {
1158       if (p == endp) {
1159         return s_n_llhttp__internal__n_chunk_size;
1160       }
1161       switch (*p) {
1162         case '0': {
1163           p++;
1164           match = 0;
1165           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1166         }
1167         case '1': {
1168           p++;
1169           match = 1;
1170           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1171         }
1172         case '2': {
1173           p++;
1174           match = 2;
1175           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1176         }
1177         case '3': {
1178           p++;
1179           match = 3;
1180           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1181         }
1182         case '4': {
1183           p++;
1184           match = 4;
1185           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1186         }
1187         case '5': {
1188           p++;
1189           match = 5;
1190           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1191         }
1192         case '6': {
1193           p++;
1194           match = 6;
1195           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1196         }
1197         case '7': {
1198           p++;
1199           match = 7;
1200           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1201         }
1202         case '8': {
1203           p++;
1204           match = 8;
1205           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1206         }
1207         case '9': {
1208           p++;
1209           match = 9;
1210           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1211         }
1212         case 'A': {
1213           p++;
1214           match = 10;
1215           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1216         }
1217         case 'B': {
1218           p++;
1219           match = 11;
1220           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1221         }
1222         case 'C': {
1223           p++;
1224           match = 12;
1225           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1226         }
1227         case 'D': {
1228           p++;
1229           match = 13;
1230           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1231         }
1232         case 'E': {
1233           p++;
1234           match = 14;
1235           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1236         }
1237         case 'F': {
1238           p++;
1239           match = 15;
1240           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1241         }
1242         case 'a': {
1243           p++;
1244           match = 10;
1245           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1246         }
1247         case 'b': {
1248           p++;
1249           match = 11;
1250           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1251         }
1252         case 'c': {
1253           p++;
1254           match = 12;
1255           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1256         }
1257         case 'd': {
1258           p++;
1259           match = 13;
1260           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1261         }
1262         case 'e': {
1263           p++;
1264           match = 14;
1265           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1266         }
1267         case 'f': {
1268           p++;
1269           match = 15;
1270           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1271         }
1272         default: {
1273           goto s_n_llhttp__internal__n_chunk_size_otherwise;
1274         }
1275       }
1276       /* UNREACHABLE */;
1277       abort();
1278     }
1279     case s_n_llhttp__internal__n_chunk_size_digit:
1280     s_n_llhttp__internal__n_chunk_size_digit: {
1281       if (p == endp) {
1282         return s_n_llhttp__internal__n_chunk_size_digit;
1283       }
1284       switch (*p) {
1285         case '0': {
1286           p++;
1287           match = 0;
1288           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1289         }
1290         case '1': {
1291           p++;
1292           match = 1;
1293           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1294         }
1295         case '2': {
1296           p++;
1297           match = 2;
1298           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1299         }
1300         case '3': {
1301           p++;
1302           match = 3;
1303           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1304         }
1305         case '4': {
1306           p++;
1307           match = 4;
1308           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1309         }
1310         case '5': {
1311           p++;
1312           match = 5;
1313           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1314         }
1315         case '6': {
1316           p++;
1317           match = 6;
1318           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1319         }
1320         case '7': {
1321           p++;
1322           match = 7;
1323           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1324         }
1325         case '8': {
1326           p++;
1327           match = 8;
1328           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1329         }
1330         case '9': {
1331           p++;
1332           match = 9;
1333           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1334         }
1335         case 'A': {
1336           p++;
1337           match = 10;
1338           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1339         }
1340         case 'B': {
1341           p++;
1342           match = 11;
1343           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1344         }
1345         case 'C': {
1346           p++;
1347           match = 12;
1348           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1349         }
1350         case 'D': {
1351           p++;
1352           match = 13;
1353           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1354         }
1355         case 'E': {
1356           p++;
1357           match = 14;
1358           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1359         }
1360         case 'F': {
1361           p++;
1362           match = 15;
1363           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1364         }
1365         case 'a': {
1366           p++;
1367           match = 10;
1368           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1369         }
1370         case 'b': {
1371           p++;
1372           match = 11;
1373           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1374         }
1375         case 'c': {
1376           p++;
1377           match = 12;
1378           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1379         }
1380         case 'd': {
1381           p++;
1382           match = 13;
1383           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1384         }
1385         case 'e': {
1386           p++;
1387           match = 14;
1388           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1389         }
1390         case 'f': {
1391           p++;
1392           match = 15;
1393           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1394         }
1395         default: {
1396           goto s_n_llhttp__internal__n_error_13;
1397         }
1398       }
1399       /* UNREACHABLE */;
1400       abort();
1401     }
1402     case s_n_llhttp__internal__n_invoke_update_content_length:
1403     s_n_llhttp__internal__n_invoke_update_content_length: {
1404       switch (llhttp__internal__c_update_content_length(state, p, endp)) {
1405         default:
1406           goto s_n_llhttp__internal__n_chunk_size_digit;
1407       }
1408       /* UNREACHABLE */;
1409       abort();
1410     }
1411     case s_n_llhttp__internal__n_consume_content_length_1:
1412     s_n_llhttp__internal__n_consume_content_length_1: {
1413       size_t avail;
1414       uint64_t need;
1415 
1416       avail = endp - p;
1417       need = state->content_length;
1418       if (avail >= need) {
1419         p += need;
1420         state->content_length = 0;
1421         goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
1422       }
1423 
1424       state->content_length -= avail;
1425       return s_n_llhttp__internal__n_consume_content_length_1;
1426       /* UNREACHABLE */;
1427       abort();
1428     }
1429     case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
1430     s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
1431       if (p == endp) {
1432         return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1433       }
1434       state->_span_pos0 = (void*) p;
1435       state->_span_cb0 = llhttp__on_body;
1436       goto s_n_llhttp__internal__n_consume_content_length_1;
1437       /* UNREACHABLE */;
1438       abort();
1439     }
1440     case s_n_llhttp__internal__n_eof:
1441     s_n_llhttp__internal__n_eof: {
1442       if (p == endp) {
1443         return s_n_llhttp__internal__n_eof;
1444       }
1445       p++;
1446       goto s_n_llhttp__internal__n_eof;
1447       /* UNREACHABLE */;
1448       abort();
1449     }
1450     case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
1451     s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
1452       if (p == endp) {
1453         return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
1454       }
1455       state->_span_pos0 = (void*) p;
1456       state->_span_cb0 = llhttp__on_body;
1457       goto s_n_llhttp__internal__n_eof;
1458       /* UNREACHABLE */;
1459       abort();
1460     }
1461     case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
1462     s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
1463       switch (llhttp__after_headers_complete(state, p, endp)) {
1464         case 1:
1465           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
1466         case 2:
1467           goto s_n_llhttp__internal__n_invoke_update_content_length;
1468         case 3:
1469           goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1470         case 4:
1471           goto s_n_llhttp__internal__n_invoke_update_finish_3;
1472         case 5:
1473           goto s_n_llhttp__internal__n_error_15;
1474         default:
1475           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
1476       }
1477       /* UNREACHABLE */;
1478       abort();
1479     }
1480     case s_n_llhttp__internal__n_headers_almost_done:
1481     s_n_llhttp__internal__n_headers_almost_done: {
1482       if (p == endp) {
1483         return s_n_llhttp__internal__n_headers_almost_done;
1484       }
1485       switch (*p) {
1486         case 10: {
1487           p++;
1488           goto s_n_llhttp__internal__n_invoke_test_flags;
1489         }
1490         default: {
1491           goto s_n_llhttp__internal__n_error_19;
1492         }
1493       }
1494       /* UNREACHABLE */;
1495       abort();
1496     }
1497     case s_n_llhttp__internal__n_header_field_colon_discard_ws:
1498     s_n_llhttp__internal__n_header_field_colon_discard_ws: {
1499       if (p == endp) {
1500         return s_n_llhttp__internal__n_header_field_colon_discard_ws;
1501       }
1502       switch (*p) {
1503         case ' ': {
1504           p++;
1505           goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
1506         }
1507         default: {
1508           goto s_n_llhttp__internal__n_header_field_colon;
1509         }
1510       }
1511       /* UNREACHABLE */;
1512       abort();
1513     }
1514     case s_n_llhttp__internal__n_error_20:
1515     s_n_llhttp__internal__n_error_20: {
1516       state->error = 0xa;
1517       state->reason = "Invalid header field char";
1518       state->error_pos = (const char*) p;
1519       state->_current = (void*) (intptr_t) s_error;
1520       return s_error;
1521       /* UNREACHABLE */;
1522       abort();
1523     }
1524     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
1525     s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
1526       if (p == endp) {
1527         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
1528       }
1529       state->_span_pos0 = (void*) p;
1530       state->_span_cb0 = llhttp__on_header_value;
1531       goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
1532       /* UNREACHABLE */;
1533       abort();
1534     }
1535     case s_n_llhttp__internal__n_header_value_discard_lws:
1536     s_n_llhttp__internal__n_header_value_discard_lws: {
1537       if (p == endp) {
1538         return s_n_llhttp__internal__n_header_value_discard_lws;
1539       }
1540       switch (*p) {
1541         case 9: {
1542           p++;
1543           goto s_n_llhttp__internal__n_header_value_discard_ws;
1544         }
1545         case ' ': {
1546           p++;
1547           goto s_n_llhttp__internal__n_header_value_discard_ws;
1548         }
1549         default: {
1550           goto s_n_llhttp__internal__n_invoke_load_header_state;
1551         }
1552       }
1553       /* UNREACHABLE */;
1554       abort();
1555     }
1556     case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
1557     s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
1558       if (p == endp) {
1559         return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
1560       }
1561       switch (*p) {
1562         case 10: {
1563           p++;
1564           goto s_n_llhttp__internal__n_header_value_discard_lws;
1565         }
1566         default: {
1567           goto s_n_llhttp__internal__n_error_23;
1568         }
1569       }
1570       /* UNREACHABLE */;
1571       abort();
1572     }
1573     case s_n_llhttp__internal__n_header_value_lws:
1574     s_n_llhttp__internal__n_header_value_lws: {
1575       if (p == endp) {
1576         return s_n_llhttp__internal__n_header_value_lws;
1577       }
1578       switch (*p) {
1579         case 9: {
1580           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
1581         }
1582         case ' ': {
1583           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
1584         }
1585         default: {
1586           goto s_n_llhttp__internal__n_invoke_load_header_state_4;
1587         }
1588       }
1589       /* UNREACHABLE */;
1590       abort();
1591     }
1592     case s_n_llhttp__internal__n_header_value_almost_done:
1593     s_n_llhttp__internal__n_header_value_almost_done: {
1594       if (p == endp) {
1595         return s_n_llhttp__internal__n_header_value_almost_done;
1596       }
1597       switch (*p) {
1598         case 10: {
1599           p++;
1600           goto s_n_llhttp__internal__n_header_value_lws;
1601         }
1602         default: {
1603           goto s_n_llhttp__internal__n_error_24;
1604         }
1605       }
1606       /* UNREACHABLE */;
1607       abort();
1608     }
1609     case s_n_llhttp__internal__n_header_value_lenient:
1610     s_n_llhttp__internal__n_header_value_lenient: {
1611       if (p == endp) {
1612         return s_n_llhttp__internal__n_header_value_lenient;
1613       }
1614       switch (*p) {
1615         case 10: {
1616           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
1617         }
1618         case 13: {
1619           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
1620         }
1621         default: {
1622           p++;
1623           goto s_n_llhttp__internal__n_header_value_lenient;
1624         }
1625       }
1626       /* UNREACHABLE */;
1627       abort();
1628     }
1629     case s_n_llhttp__internal__n_error_25:
1630     s_n_llhttp__internal__n_error_25: {
1631       state->error = 0xa;
1632       state->reason = "Invalid header value char";
1633       state->error_pos = (const char*) p;
1634       state->_current = (void*) (intptr_t) s_error;
1635       return s_error;
1636       /* UNREACHABLE */;
1637       abort();
1638     }
1639     case s_n_llhttp__internal__n_header_value_otherwise:
1640     s_n_llhttp__internal__n_header_value_otherwise: {
1641       if (p == endp) {
1642         return s_n_llhttp__internal__n_header_value_otherwise;
1643       }
1644       switch (*p) {
1645         case 13: {
1646           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
1647         }
1648         default: {
1649           goto s_n_llhttp__internal__n_invoke_test_flags_6;
1650         }
1651       }
1652       /* UNREACHABLE */;
1653       abort();
1654     }
1655     case s_n_llhttp__internal__n_header_value_connection_token:
1656     s_n_llhttp__internal__n_header_value_connection_token: {
1657       static uint8_t lookup_table[] = {
1658         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1659         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1660         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1661         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1662         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1663         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1664         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1665         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1666         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1667         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1668         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1669         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1670         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1671         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1672         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1673         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1674       };
1675       if (p == endp) {
1676         return s_n_llhttp__internal__n_header_value_connection_token;
1677       }
1678       switch (lookup_table[(uint8_t) *p]) {
1679         case 1: {
1680           p++;
1681           goto s_n_llhttp__internal__n_header_value_connection_token;
1682         }
1683         case 2: {
1684           p++;
1685           goto s_n_llhttp__internal__n_header_value_connection;
1686         }
1687         default: {
1688           goto s_n_llhttp__internal__n_header_value_otherwise;
1689         }
1690       }
1691       /* UNREACHABLE */;
1692       abort();
1693     }
1694     case s_n_llhttp__internal__n_header_value_connection_ws:
1695     s_n_llhttp__internal__n_header_value_connection_ws: {
1696       if (p == endp) {
1697         return s_n_llhttp__internal__n_header_value_connection_ws;
1698       }
1699       switch (*p) {
1700         case 10: {
1701           goto s_n_llhttp__internal__n_header_value_otherwise;
1702         }
1703         case 13: {
1704           goto s_n_llhttp__internal__n_header_value_otherwise;
1705         }
1706         case ' ': {
1707           p++;
1708           goto s_n_llhttp__internal__n_header_value_connection_ws;
1709         }
1710         case ',': {
1711           p++;
1712           goto s_n_llhttp__internal__n_invoke_load_header_state_5;
1713         }
1714         default: {
1715           goto s_n_llhttp__internal__n_invoke_update_header_state_5;
1716         }
1717       }
1718       /* UNREACHABLE */;
1719       abort();
1720     }
1721     case s_n_llhttp__internal__n_header_value_connection_1:
1722     s_n_llhttp__internal__n_header_value_connection_1: {
1723       llparse_match_t match_seq;
1724 
1725       if (p == endp) {
1726         return s_n_llhttp__internal__n_header_value_connection_1;
1727       }
1728       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob4, 4);
1729       p = match_seq.current;
1730       switch (match_seq.status) {
1731         case kMatchComplete: {
1732           p++;
1733           goto s_n_llhttp__internal__n_invoke_update_header_state_3;
1734         }
1735         case kMatchPause: {
1736           return s_n_llhttp__internal__n_header_value_connection_1;
1737         }
1738         case kMatchMismatch: {
1739           goto s_n_llhttp__internal__n_header_value_connection_token;
1740         }
1741       }
1742       /* UNREACHABLE */;
1743       abort();
1744     }
1745     case s_n_llhttp__internal__n_header_value_connection_2:
1746     s_n_llhttp__internal__n_header_value_connection_2: {
1747       llparse_match_t match_seq;
1748 
1749       if (p == endp) {
1750         return s_n_llhttp__internal__n_header_value_connection_2;
1751       }
1752       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob5, 9);
1753       p = match_seq.current;
1754       switch (match_seq.status) {
1755         case kMatchComplete: {
1756           p++;
1757           goto s_n_llhttp__internal__n_invoke_update_header_state_6;
1758         }
1759         case kMatchPause: {
1760           return s_n_llhttp__internal__n_header_value_connection_2;
1761         }
1762         case kMatchMismatch: {
1763           goto s_n_llhttp__internal__n_header_value_connection_token;
1764         }
1765       }
1766       /* UNREACHABLE */;
1767       abort();
1768     }
1769     case s_n_llhttp__internal__n_header_value_connection_3:
1770     s_n_llhttp__internal__n_header_value_connection_3: {
1771       llparse_match_t match_seq;
1772 
1773       if (p == endp) {
1774         return s_n_llhttp__internal__n_header_value_connection_3;
1775       }
1776       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob6, 6);
1777       p = match_seq.current;
1778       switch (match_seq.status) {
1779         case kMatchComplete: {
1780           p++;
1781           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
1782         }
1783         case kMatchPause: {
1784           return s_n_llhttp__internal__n_header_value_connection_3;
1785         }
1786         case kMatchMismatch: {
1787           goto s_n_llhttp__internal__n_header_value_connection_token;
1788         }
1789       }
1790       /* UNREACHABLE */;
1791       abort();
1792     }
1793     case s_n_llhttp__internal__n_header_value_connection:
1794     s_n_llhttp__internal__n_header_value_connection: {
1795       if (p == endp) {
1796         return s_n_llhttp__internal__n_header_value_connection;
1797       }
1798       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
1799         case 9: {
1800           p++;
1801           goto s_n_llhttp__internal__n_header_value_connection;
1802         }
1803         case ' ': {
1804           p++;
1805           goto s_n_llhttp__internal__n_header_value_connection;
1806         }
1807         case 'c': {
1808           p++;
1809           goto s_n_llhttp__internal__n_header_value_connection_1;
1810         }
1811         case 'k': {
1812           p++;
1813           goto s_n_llhttp__internal__n_header_value_connection_2;
1814         }
1815         case 'u': {
1816           p++;
1817           goto s_n_llhttp__internal__n_header_value_connection_3;
1818         }
1819         default: {
1820           goto s_n_llhttp__internal__n_header_value_connection_token;
1821         }
1822       }
1823       /* UNREACHABLE */;
1824       abort();
1825     }
1826     case s_n_llhttp__internal__n_error_27:
1827     s_n_llhttp__internal__n_error_27: {
1828       state->error = 0xb;
1829       state->reason = "Content-Length overflow";
1830       state->error_pos = (const char*) p;
1831       state->_current = (void*) (intptr_t) s_error;
1832       return s_error;
1833       /* UNREACHABLE */;
1834       abort();
1835     }
1836     case s_n_llhttp__internal__n_error_28:
1837     s_n_llhttp__internal__n_error_28: {
1838       state->error = 0xb;
1839       state->reason = "Invalid character in Content-Length";
1840       state->error_pos = (const char*) p;
1841       state->_current = (void*) (intptr_t) s_error;
1842       return s_error;
1843       /* UNREACHABLE */;
1844       abort();
1845     }
1846     case s_n_llhttp__internal__n_header_value_content_length_ws:
1847     s_n_llhttp__internal__n_header_value_content_length_ws: {
1848       if (p == endp) {
1849         return s_n_llhttp__internal__n_header_value_content_length_ws;
1850       }
1851       switch (*p) {
1852         case 10: {
1853           goto s_n_llhttp__internal__n_invoke_or_flags_15;
1854         }
1855         case 13: {
1856           goto s_n_llhttp__internal__n_invoke_or_flags_15;
1857         }
1858         case ' ': {
1859           p++;
1860           goto s_n_llhttp__internal__n_header_value_content_length_ws;
1861         }
1862         default: {
1863           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6;
1864         }
1865       }
1866       /* UNREACHABLE */;
1867       abort();
1868     }
1869     case s_n_llhttp__internal__n_header_value_content_length:
1870     s_n_llhttp__internal__n_header_value_content_length: {
1871       if (p == endp) {
1872         return s_n_llhttp__internal__n_header_value_content_length;
1873       }
1874       switch (*p) {
1875         case '0': {
1876           p++;
1877           match = 0;
1878           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1879         }
1880         case '1': {
1881           p++;
1882           match = 1;
1883           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1884         }
1885         case '2': {
1886           p++;
1887           match = 2;
1888           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1889         }
1890         case '3': {
1891           p++;
1892           match = 3;
1893           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1894         }
1895         case '4': {
1896           p++;
1897           match = 4;
1898           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1899         }
1900         case '5': {
1901           p++;
1902           match = 5;
1903           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1904         }
1905         case '6': {
1906           p++;
1907           match = 6;
1908           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1909         }
1910         case '7': {
1911           p++;
1912           match = 7;
1913           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1914         }
1915         case '8': {
1916           p++;
1917           match = 8;
1918           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1919         }
1920         case '9': {
1921           p++;
1922           match = 9;
1923           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1924         }
1925         default: {
1926           goto s_n_llhttp__internal__n_header_value_content_length_ws;
1927         }
1928       }
1929       /* UNREACHABLE */;
1930       abort();
1931     }
1932     case s_n_llhttp__internal__n_error_30:
1933     s_n_llhttp__internal__n_error_30: {
1934       state->error = 0xf;
1935       state->reason = "Invalid `Transfer-Encoding` header value";
1936       state->error_pos = (const char*) p;
1937       state->_current = (void*) (intptr_t) s_error;
1938       return s_error;
1939       /* UNREACHABLE */;
1940       abort();
1941     }
1942     case s_n_llhttp__internal__n_error_29:
1943     s_n_llhttp__internal__n_error_29: {
1944       state->error = 0xf;
1945       state->reason = "Invalid `Transfer-Encoding` header value";
1946       state->error_pos = (const char*) p;
1947       state->_current = (void*) (intptr_t) s_error;
1948       return s_error;
1949       /* UNREACHABLE */;
1950       abort();
1951     }
1952     case s_n_llhttp__internal__n_header_value_te_token_ows:
1953     s_n_llhttp__internal__n_header_value_te_token_ows: {
1954       if (p == endp) {
1955         return s_n_llhttp__internal__n_header_value_te_token_ows;
1956       }
1957       switch (*p) {
1958         case 9: {
1959           p++;
1960           goto s_n_llhttp__internal__n_header_value_te_token_ows;
1961         }
1962         case ' ': {
1963           p++;
1964           goto s_n_llhttp__internal__n_header_value_te_token_ows;
1965         }
1966         default: {
1967           goto s_n_llhttp__internal__n_header_value_te_chunked;
1968         }
1969       }
1970       /* UNREACHABLE */;
1971       abort();
1972     }
1973     case s_n_llhttp__internal__n_header_value:
1974     s_n_llhttp__internal__n_header_value: {
1975       static uint8_t lookup_table[] = {
1976         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1977         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1978         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1979         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1980         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1981         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1982         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1983         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1984         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1985         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1986         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1987         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1988         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1989         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1990         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1991         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
1992       };
1993       if (p == endp) {
1994         return s_n_llhttp__internal__n_header_value;
1995       }
1996       #ifdef __SSE4_2__
1997       if (endp - p >= 16) {
1998         __m128i ranges;
1999         __m128i input;
2000         int avail;
2001         int match_len;
2002 
2003         /* Load input */
2004         input = _mm_loadu_si128((__m128i const*) p);
2005         ranges = _mm_loadu_si128((__m128i const*) llparse_blob8);
2006 
2007         /* Find first character that does not match `ranges` */
2008         match_len = _mm_cmpestri(ranges, 6,
2009             input, 16,
2010             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2011               _SIDD_NEGATIVE_POLARITY);
2012 
2013         if (match_len != 0) {
2014           p += match_len;
2015           goto s_n_llhttp__internal__n_header_value;
2016         }
2017         goto s_n_llhttp__internal__n_header_value_otherwise;
2018       }
2019       #endif  /* __SSE4_2__ */
2020       switch (lookup_table[(uint8_t) *p]) {
2021         case 1: {
2022           p++;
2023           goto s_n_llhttp__internal__n_header_value;
2024         }
2025         default: {
2026           goto s_n_llhttp__internal__n_header_value_otherwise;
2027         }
2028       }
2029       /* UNREACHABLE */;
2030       abort();
2031     }
2032     case s_n_llhttp__internal__n_header_value_te_token:
2033     s_n_llhttp__internal__n_header_value_te_token: {
2034       static uint8_t lookup_table[] = {
2035         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
2036         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
2038         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2039         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2040         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2041         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2042         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2043         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2044         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2045         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2046         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2047         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2048         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2049         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2050         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
2051       };
2052       if (p == endp) {
2053         return s_n_llhttp__internal__n_header_value_te_token;
2054       }
2055       switch (lookup_table[(uint8_t) *p]) {
2056         case 1: {
2057           p++;
2058           goto s_n_llhttp__internal__n_header_value_te_token;
2059         }
2060         case 2: {
2061           p++;
2062           goto s_n_llhttp__internal__n_header_value_te_token_ows;
2063         }
2064         default: {
2065           goto s_n_llhttp__internal__n_invoke_update_header_state_9;
2066         }
2067       }
2068       /* UNREACHABLE */;
2069       abort();
2070     }
2071     case s_n_llhttp__internal__n_header_value_te_chunked_last:
2072     s_n_llhttp__internal__n_header_value_te_chunked_last: {
2073       if (p == endp) {
2074         return s_n_llhttp__internal__n_header_value_te_chunked_last;
2075       }
2076       switch (*p) {
2077         case 10: {
2078           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
2079         }
2080         case 13: {
2081           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
2082         }
2083         case ' ': {
2084           p++;
2085           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
2086         }
2087         case ',': {
2088           goto s_n_llhttp__internal__n_invoke_load_type_1;
2089         }
2090         default: {
2091           goto s_n_llhttp__internal__n_header_value_te_token;
2092         }
2093       }
2094       /* UNREACHABLE */;
2095       abort();
2096     }
2097     case s_n_llhttp__internal__n_header_value_te_chunked:
2098     s_n_llhttp__internal__n_header_value_te_chunked: {
2099       llparse_match_t match_seq;
2100 
2101       if (p == endp) {
2102         return s_n_llhttp__internal__n_header_value_te_chunked;
2103       }
2104       match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob7, 7);
2105       p = match_seq.current;
2106       switch (match_seq.status) {
2107         case kMatchComplete: {
2108           p++;
2109           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
2110         }
2111         case kMatchPause: {
2112           return s_n_llhttp__internal__n_header_value_te_chunked;
2113         }
2114         case kMatchMismatch: {
2115           goto s_n_llhttp__internal__n_header_value_te_token;
2116         }
2117       }
2118       /* UNREACHABLE */;
2119       abort();
2120     }
2121     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
2122     s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
2123       if (p == endp) {
2124         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
2125       }
2126       state->_span_pos0 = (void*) p;
2127       state->_span_cb0 = llhttp__on_header_value;
2128       goto s_n_llhttp__internal__n_invoke_load_header_state_2;
2129       /* UNREACHABLE */;
2130       abort();
2131     }
2132     case s_n_llhttp__internal__n_header_value_discard_ws:
2133     s_n_llhttp__internal__n_header_value_discard_ws: {
2134       if (p == endp) {
2135         return s_n_llhttp__internal__n_header_value_discard_ws;
2136       }
2137       switch (*p) {
2138         case 9: {
2139           p++;
2140           goto s_n_llhttp__internal__n_header_value_discard_ws;
2141         }
2142         case 10: {
2143           p++;
2144           goto s_n_llhttp__internal__n_invoke_test_flags_5;
2145         }
2146         case 13: {
2147           p++;
2148           goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
2149         }
2150         case ' ': {
2151           p++;
2152           goto s_n_llhttp__internal__n_header_value_discard_ws;
2153         }
2154         default: {
2155           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
2156         }
2157       }
2158       /* UNREACHABLE */;
2159       abort();
2160     }
2161     case s_n_llhttp__internal__n_header_field_general_otherwise:
2162     s_n_llhttp__internal__n_header_field_general_otherwise: {
2163       if (p == endp) {
2164         return s_n_llhttp__internal__n_header_field_general_otherwise;
2165       }
2166       switch (*p) {
2167         case ':': {
2168           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2;
2169         }
2170         default: {
2171           goto s_n_llhttp__internal__n_error_31;
2172         }
2173       }
2174       /* UNREACHABLE */;
2175       abort();
2176     }
2177     case s_n_llhttp__internal__n_header_field_general:
2178     s_n_llhttp__internal__n_header_field_general: {
2179       static uint8_t lookup_table[] = {
2180         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2181         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182         0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
2183         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
2184         0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2185         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
2186         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2187         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
2188         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2189         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2190         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2191         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2193         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2194         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2195         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2196       };
2197       if (p == endp) {
2198         return s_n_llhttp__internal__n_header_field_general;
2199       }
2200       #ifdef __SSE4_2__
2201       if (endp - p >= 16) {
2202         __m128i ranges;
2203         __m128i input;
2204         int avail;
2205         int match_len;
2206 
2207         /* Load input */
2208         input = _mm_loadu_si128((__m128i const*) p);
2209         ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
2210 
2211         /* Find first character that does not match `ranges` */
2212         match_len = _mm_cmpestri(ranges, 16,
2213             input, 16,
2214             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2215               _SIDD_NEGATIVE_POLARITY);
2216 
2217         if (match_len != 0) {
2218           p += match_len;
2219           goto s_n_llhttp__internal__n_header_field_general;
2220         }
2221         ranges = _mm_loadu_si128((__m128i const*) llparse_blob10);
2222 
2223         /* Find first character that does not match `ranges` */
2224         match_len = _mm_cmpestri(ranges, 2,
2225             input, 16,
2226             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2227               _SIDD_NEGATIVE_POLARITY);
2228 
2229         if (match_len != 0) {
2230           p += match_len;
2231           goto s_n_llhttp__internal__n_header_field_general;
2232         }
2233         goto s_n_llhttp__internal__n_header_field_general_otherwise;
2234       }
2235       #endif  /* __SSE4_2__ */
2236       switch (lookup_table[(uint8_t) *p]) {
2237         case 1: {
2238           p++;
2239           goto s_n_llhttp__internal__n_header_field_general;
2240         }
2241         default: {
2242           goto s_n_llhttp__internal__n_header_field_general_otherwise;
2243         }
2244       }
2245       /* UNREACHABLE */;
2246       abort();
2247     }
2248     case s_n_llhttp__internal__n_header_field_colon:
2249     s_n_llhttp__internal__n_header_field_colon: {
2250       if (p == endp) {
2251         return s_n_llhttp__internal__n_header_field_colon;
2252       }
2253       switch (*p) {
2254         case ' ': {
2255           goto s_n_llhttp__internal__n_invoke_test_flags_4;
2256         }
2257         case ':': {
2258           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
2259         }
2260         default: {
2261           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2262         }
2263       }
2264       /* UNREACHABLE */;
2265       abort();
2266     }
2267     case s_n_llhttp__internal__n_header_field_3:
2268     s_n_llhttp__internal__n_header_field_3: {
2269       llparse_match_t match_seq;
2270 
2271       if (p == endp) {
2272         return s_n_llhttp__internal__n_header_field_3;
2273       }
2274       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob3, 6);
2275       p = match_seq.current;
2276       switch (match_seq.status) {
2277         case kMatchComplete: {
2278           p++;
2279           match = 1;
2280           goto s_n_llhttp__internal__n_invoke_store_header_state;
2281         }
2282         case kMatchPause: {
2283           return s_n_llhttp__internal__n_header_field_3;
2284         }
2285         case kMatchMismatch: {
2286           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2287         }
2288       }
2289       /* UNREACHABLE */;
2290       abort();
2291     }
2292     case s_n_llhttp__internal__n_header_field_4:
2293     s_n_llhttp__internal__n_header_field_4: {
2294       llparse_match_t match_seq;
2295 
2296       if (p == endp) {
2297         return s_n_llhttp__internal__n_header_field_4;
2298       }
2299       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob11, 10);
2300       p = match_seq.current;
2301       switch (match_seq.status) {
2302         case kMatchComplete: {
2303           p++;
2304           match = 2;
2305           goto s_n_llhttp__internal__n_invoke_store_header_state;
2306         }
2307         case kMatchPause: {
2308           return s_n_llhttp__internal__n_header_field_4;
2309         }
2310         case kMatchMismatch: {
2311           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2312         }
2313       }
2314       /* UNREACHABLE */;
2315       abort();
2316     }
2317     case s_n_llhttp__internal__n_header_field_2:
2318     s_n_llhttp__internal__n_header_field_2: {
2319       if (p == endp) {
2320         return s_n_llhttp__internal__n_header_field_2;
2321       }
2322       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
2323         case 'n': {
2324           p++;
2325           goto s_n_llhttp__internal__n_header_field_3;
2326         }
2327         case 't': {
2328           p++;
2329           goto s_n_llhttp__internal__n_header_field_4;
2330         }
2331         default: {
2332           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2333         }
2334       }
2335       /* UNREACHABLE */;
2336       abort();
2337     }
2338     case s_n_llhttp__internal__n_header_field_1:
2339     s_n_llhttp__internal__n_header_field_1: {
2340       llparse_match_t match_seq;
2341 
2342       if (p == endp) {
2343         return s_n_llhttp__internal__n_header_field_1;
2344       }
2345       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob2, 2);
2346       p = match_seq.current;
2347       switch (match_seq.status) {
2348         case kMatchComplete: {
2349           p++;
2350           goto s_n_llhttp__internal__n_header_field_2;
2351         }
2352         case kMatchPause: {
2353           return s_n_llhttp__internal__n_header_field_1;
2354         }
2355         case kMatchMismatch: {
2356           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2357         }
2358       }
2359       /* UNREACHABLE */;
2360       abort();
2361     }
2362     case s_n_llhttp__internal__n_header_field_5:
2363     s_n_llhttp__internal__n_header_field_5: {
2364       llparse_match_t match_seq;
2365 
2366       if (p == endp) {
2367         return s_n_llhttp__internal__n_header_field_5;
2368       }
2369       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob12, 15);
2370       p = match_seq.current;
2371       switch (match_seq.status) {
2372         case kMatchComplete: {
2373           p++;
2374           match = 1;
2375           goto s_n_llhttp__internal__n_invoke_store_header_state;
2376         }
2377         case kMatchPause: {
2378           return s_n_llhttp__internal__n_header_field_5;
2379         }
2380         case kMatchMismatch: {
2381           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2382         }
2383       }
2384       /* UNREACHABLE */;
2385       abort();
2386     }
2387     case s_n_llhttp__internal__n_header_field_6:
2388     s_n_llhttp__internal__n_header_field_6: {
2389       llparse_match_t match_seq;
2390 
2391       if (p == endp) {
2392         return s_n_llhttp__internal__n_header_field_6;
2393       }
2394       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob13, 16);
2395       p = match_seq.current;
2396       switch (match_seq.status) {
2397         case kMatchComplete: {
2398           p++;
2399           match = 3;
2400           goto s_n_llhttp__internal__n_invoke_store_header_state;
2401         }
2402         case kMatchPause: {
2403           return s_n_llhttp__internal__n_header_field_6;
2404         }
2405         case kMatchMismatch: {
2406           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2407         }
2408       }
2409       /* UNREACHABLE */;
2410       abort();
2411     }
2412     case s_n_llhttp__internal__n_header_field_7:
2413     s_n_llhttp__internal__n_header_field_7: {
2414       llparse_match_t match_seq;
2415 
2416       if (p == endp) {
2417         return s_n_llhttp__internal__n_header_field_7;
2418       }
2419       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob14, 6);
2420       p = match_seq.current;
2421       switch (match_seq.status) {
2422         case kMatchComplete: {
2423           p++;
2424           match = 4;
2425           goto s_n_llhttp__internal__n_invoke_store_header_state;
2426         }
2427         case kMatchPause: {
2428           return s_n_llhttp__internal__n_header_field_7;
2429         }
2430         case kMatchMismatch: {
2431           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2432         }
2433       }
2434       /* UNREACHABLE */;
2435       abort();
2436     }
2437     case s_n_llhttp__internal__n_header_field:
2438     s_n_llhttp__internal__n_header_field: {
2439       if (p == endp) {
2440         return s_n_llhttp__internal__n_header_field;
2441       }
2442       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
2443         case 'c': {
2444           p++;
2445           goto s_n_llhttp__internal__n_header_field_1;
2446         }
2447         case 'p': {
2448           p++;
2449           goto s_n_llhttp__internal__n_header_field_5;
2450         }
2451         case 't': {
2452           p++;
2453           goto s_n_llhttp__internal__n_header_field_6;
2454         }
2455         case 'u': {
2456           p++;
2457           goto s_n_llhttp__internal__n_header_field_7;
2458         }
2459         default: {
2460           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
2461         }
2462       }
2463       /* UNREACHABLE */;
2464       abort();
2465     }
2466     case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
2467     s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
2468       if (p == endp) {
2469         return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2470       }
2471       state->_span_pos0 = (void*) p;
2472       state->_span_cb0 = llhttp__on_header_field;
2473       goto s_n_llhttp__internal__n_header_field;
2474       /* UNREACHABLE */;
2475       abort();
2476     }
2477     case s_n_llhttp__internal__n_header_field_start:
2478     s_n_llhttp__internal__n_header_field_start: {
2479       if (p == endp) {
2480         return s_n_llhttp__internal__n_header_field_start;
2481       }
2482       switch (*p) {
2483         case 10: {
2484           goto s_n_llhttp__internal__n_headers_almost_done;
2485         }
2486         case 13: {
2487           p++;
2488           goto s_n_llhttp__internal__n_headers_almost_done;
2489         }
2490         default: {
2491           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2492         }
2493       }
2494       /* UNREACHABLE */;
2495       abort();
2496     }
2497     case s_n_llhttp__internal__n_url_to_http_09:
2498     s_n_llhttp__internal__n_url_to_http_09: {
2499       if (p == endp) {
2500         return s_n_llhttp__internal__n_url_to_http_09;
2501       }
2502       switch (*p) {
2503         case 9: {
2504           p++;
2505           goto s_n_llhttp__internal__n_error_1;
2506         }
2507         case 12: {
2508           p++;
2509           goto s_n_llhttp__internal__n_error_1;
2510         }
2511         default: {
2512           goto s_n_llhttp__internal__n_invoke_update_http_major;
2513         }
2514       }
2515       /* UNREACHABLE */;
2516       abort();
2517     }
2518     case s_n_llhttp__internal__n_url_skip_to_http09:
2519     s_n_llhttp__internal__n_url_skip_to_http09: {
2520       if (p == endp) {
2521         return s_n_llhttp__internal__n_url_skip_to_http09;
2522       }
2523       switch (*p) {
2524         case 9: {
2525           p++;
2526           goto s_n_llhttp__internal__n_error_1;
2527         }
2528         case 12: {
2529           p++;
2530           goto s_n_llhttp__internal__n_error_1;
2531         }
2532         default: {
2533           p++;
2534           goto s_n_llhttp__internal__n_url_to_http_09;
2535         }
2536       }
2537       /* UNREACHABLE */;
2538       abort();
2539     }
2540     case s_n_llhttp__internal__n_url_skip_lf_to_http09_1:
2541     s_n_llhttp__internal__n_url_skip_lf_to_http09_1: {
2542       if (p == endp) {
2543         return s_n_llhttp__internal__n_url_skip_lf_to_http09_1;
2544       }
2545       switch (*p) {
2546         case 10: {
2547           p++;
2548           goto s_n_llhttp__internal__n_url_to_http_09;
2549         }
2550         default: {
2551           goto s_n_llhttp__internal__n_error_32;
2552         }
2553       }
2554       /* UNREACHABLE */;
2555       abort();
2556     }
2557     case s_n_llhttp__internal__n_url_skip_lf_to_http09:
2558     s_n_llhttp__internal__n_url_skip_lf_to_http09: {
2559       if (p == endp) {
2560         return s_n_llhttp__internal__n_url_skip_lf_to_http09;
2561       }
2562       switch (*p) {
2563         case 9: {
2564           p++;
2565           goto s_n_llhttp__internal__n_error_1;
2566         }
2567         case 12: {
2568           p++;
2569           goto s_n_llhttp__internal__n_error_1;
2570         }
2571         case 13: {
2572           p++;
2573           goto s_n_llhttp__internal__n_url_skip_lf_to_http09_1;
2574         }
2575         default: {
2576           goto s_n_llhttp__internal__n_error_32;
2577         }
2578       }
2579       /* UNREACHABLE */;
2580       abort();
2581     }
2582     case s_n_llhttp__internal__n_req_http_end_1:
2583     s_n_llhttp__internal__n_req_http_end_1: {
2584       if (p == endp) {
2585         return s_n_llhttp__internal__n_req_http_end_1;
2586       }
2587       switch (*p) {
2588         case 10: {
2589           p++;
2590           goto s_n_llhttp__internal__n_header_field_start;
2591         }
2592         default: {
2593           goto s_n_llhttp__internal__n_error_33;
2594         }
2595       }
2596       /* UNREACHABLE */;
2597       abort();
2598     }
2599     case s_n_llhttp__internal__n_req_http_end:
2600     s_n_llhttp__internal__n_req_http_end: {
2601       if (p == endp) {
2602         return s_n_llhttp__internal__n_req_http_end;
2603       }
2604       switch (*p) {
2605         case 10: {
2606           p++;
2607           goto s_n_llhttp__internal__n_header_field_start;
2608         }
2609         case 13: {
2610           p++;
2611           goto s_n_llhttp__internal__n_req_http_end_1;
2612         }
2613         default: {
2614           goto s_n_llhttp__internal__n_error_33;
2615         }
2616       }
2617       /* UNREACHABLE */;
2618       abort();
2619     }
2620     case s_n_llhttp__internal__n_req_http_minor:
2621     s_n_llhttp__internal__n_req_http_minor: {
2622       if (p == endp) {
2623         return s_n_llhttp__internal__n_req_http_minor;
2624       }
2625       switch (*p) {
2626         case '0': {
2627           p++;
2628           match = 0;
2629           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2630         }
2631         case '1': {
2632           p++;
2633           match = 1;
2634           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2635         }
2636         case '2': {
2637           p++;
2638           match = 2;
2639           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2640         }
2641         case '3': {
2642           p++;
2643           match = 3;
2644           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2645         }
2646         case '4': {
2647           p++;
2648           match = 4;
2649           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2650         }
2651         case '5': {
2652           p++;
2653           match = 5;
2654           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2655         }
2656         case '6': {
2657           p++;
2658           match = 6;
2659           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2660         }
2661         case '7': {
2662           p++;
2663           match = 7;
2664           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2665         }
2666         case '8': {
2667           p++;
2668           match = 8;
2669           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2670         }
2671         case '9': {
2672           p++;
2673           match = 9;
2674           goto s_n_llhttp__internal__n_invoke_store_http_minor;
2675         }
2676         default: {
2677           goto s_n_llhttp__internal__n_error_34;
2678         }
2679       }
2680       /* UNREACHABLE */;
2681       abort();
2682     }
2683     case s_n_llhttp__internal__n_req_http_dot:
2684     s_n_llhttp__internal__n_req_http_dot: {
2685       if (p == endp) {
2686         return s_n_llhttp__internal__n_req_http_dot;
2687       }
2688       switch (*p) {
2689         case '.': {
2690           p++;
2691           goto s_n_llhttp__internal__n_req_http_minor;
2692         }
2693         default: {
2694           goto s_n_llhttp__internal__n_error_35;
2695         }
2696       }
2697       /* UNREACHABLE */;
2698       abort();
2699     }
2700     case s_n_llhttp__internal__n_req_http_major:
2701     s_n_llhttp__internal__n_req_http_major: {
2702       if (p == endp) {
2703         return s_n_llhttp__internal__n_req_http_major;
2704       }
2705       switch (*p) {
2706         case '0': {
2707           p++;
2708           match = 0;
2709           goto s_n_llhttp__internal__n_invoke_store_http_major;
2710         }
2711         case '1': {
2712           p++;
2713           match = 1;
2714           goto s_n_llhttp__internal__n_invoke_store_http_major;
2715         }
2716         case '2': {
2717           p++;
2718           match = 2;
2719           goto s_n_llhttp__internal__n_invoke_store_http_major;
2720         }
2721         case '3': {
2722           p++;
2723           match = 3;
2724           goto s_n_llhttp__internal__n_invoke_store_http_major;
2725         }
2726         case '4': {
2727           p++;
2728           match = 4;
2729           goto s_n_llhttp__internal__n_invoke_store_http_major;
2730         }
2731         case '5': {
2732           p++;
2733           match = 5;
2734           goto s_n_llhttp__internal__n_invoke_store_http_major;
2735         }
2736         case '6': {
2737           p++;
2738           match = 6;
2739           goto s_n_llhttp__internal__n_invoke_store_http_major;
2740         }
2741         case '7': {
2742           p++;
2743           match = 7;
2744           goto s_n_llhttp__internal__n_invoke_store_http_major;
2745         }
2746         case '8': {
2747           p++;
2748           match = 8;
2749           goto s_n_llhttp__internal__n_invoke_store_http_major;
2750         }
2751         case '9': {
2752           p++;
2753           match = 9;
2754           goto s_n_llhttp__internal__n_invoke_store_http_major;
2755         }
2756         default: {
2757           goto s_n_llhttp__internal__n_error_36;
2758         }
2759       }
2760       /* UNREACHABLE */;
2761       abort();
2762     }
2763     case s_n_llhttp__internal__n_req_http_start_1:
2764     s_n_llhttp__internal__n_req_http_start_1: {
2765       llparse_match_t match_seq;
2766 
2767       if (p == endp) {
2768         return s_n_llhttp__internal__n_req_http_start_1;
2769       }
2770       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 4);
2771       p = match_seq.current;
2772       switch (match_seq.status) {
2773         case kMatchComplete: {
2774           p++;
2775           goto s_n_llhttp__internal__n_req_http_major;
2776         }
2777         case kMatchPause: {
2778           return s_n_llhttp__internal__n_req_http_start_1;
2779         }
2780         case kMatchMismatch: {
2781           goto s_n_llhttp__internal__n_error_38;
2782         }
2783       }
2784       /* UNREACHABLE */;
2785       abort();
2786     }
2787     case s_n_llhttp__internal__n_req_http_start_2:
2788     s_n_llhttp__internal__n_req_http_start_2: {
2789       llparse_match_t match_seq;
2790 
2791       if (p == endp) {
2792         return s_n_llhttp__internal__n_req_http_start_2;
2793       }
2794       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 3);
2795       p = match_seq.current;
2796       switch (match_seq.status) {
2797         case kMatchComplete: {
2798           p++;
2799           goto s_n_llhttp__internal__n_invoke_is_equal_method_1;
2800         }
2801         case kMatchPause: {
2802           return s_n_llhttp__internal__n_req_http_start_2;
2803         }
2804         case kMatchMismatch: {
2805           goto s_n_llhttp__internal__n_error_38;
2806         }
2807       }
2808       /* UNREACHABLE */;
2809       abort();
2810     }
2811     case s_n_llhttp__internal__n_req_http_start:
2812     s_n_llhttp__internal__n_req_http_start: {
2813       if (p == endp) {
2814         return s_n_llhttp__internal__n_req_http_start;
2815       }
2816       switch (*p) {
2817         case ' ': {
2818           p++;
2819           goto s_n_llhttp__internal__n_req_http_start;
2820         }
2821         case 'H': {
2822           p++;
2823           goto s_n_llhttp__internal__n_req_http_start_1;
2824         }
2825         case 'I': {
2826           p++;
2827           goto s_n_llhttp__internal__n_req_http_start_2;
2828         }
2829         default: {
2830           goto s_n_llhttp__internal__n_error_38;
2831         }
2832       }
2833       /* UNREACHABLE */;
2834       abort();
2835     }
2836     case s_n_llhttp__internal__n_url_to_http:
2837     s_n_llhttp__internal__n_url_to_http: {
2838       if (p == endp) {
2839         return s_n_llhttp__internal__n_url_to_http;
2840       }
2841       switch (*p) {
2842         case 9: {
2843           p++;
2844           goto s_n_llhttp__internal__n_error_1;
2845         }
2846         case 12: {
2847           p++;
2848           goto s_n_llhttp__internal__n_error_1;
2849         }
2850         default: {
2851           goto s_n_llhttp__internal__n_req_http_start;
2852         }
2853       }
2854       /* UNREACHABLE */;
2855       abort();
2856     }
2857     case s_n_llhttp__internal__n_url_skip_to_http:
2858     s_n_llhttp__internal__n_url_skip_to_http: {
2859       if (p == endp) {
2860         return s_n_llhttp__internal__n_url_skip_to_http;
2861       }
2862       switch (*p) {
2863         case 9: {
2864           p++;
2865           goto s_n_llhttp__internal__n_error_1;
2866         }
2867         case 12: {
2868           p++;
2869           goto s_n_llhttp__internal__n_error_1;
2870         }
2871         default: {
2872           p++;
2873           goto s_n_llhttp__internal__n_url_to_http;
2874         }
2875       }
2876       /* UNREACHABLE */;
2877       abort();
2878     }
2879     case s_n_llhttp__internal__n_url_fragment:
2880     s_n_llhttp__internal__n_url_fragment: {
2881       static uint8_t lookup_table[] = {
2882         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2883         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2884         4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2885         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2886         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2887         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2888         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2889         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0,
2890         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2891         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2892         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2893         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2894         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2895         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2896         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2897         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2898       };
2899       if (p == endp) {
2900         return s_n_llhttp__internal__n_url_fragment;
2901       }
2902       switch (lookup_table[(uint8_t) *p]) {
2903         case 1: {
2904           p++;
2905           goto s_n_llhttp__internal__n_error_1;
2906         }
2907         case 2: {
2908           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
2909         }
2910         case 3: {
2911           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
2912         }
2913         case 4: {
2914           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
2915         }
2916         case 5: {
2917           p++;
2918           goto s_n_llhttp__internal__n_url_fragment;
2919         }
2920         default: {
2921           goto s_n_llhttp__internal__n_error_39;
2922         }
2923       }
2924       /* UNREACHABLE */;
2925       abort();
2926     }
2927     case s_n_llhttp__internal__n_span_end_stub_query_3:
2928     s_n_llhttp__internal__n_span_end_stub_query_3: {
2929       if (p == endp) {
2930         return s_n_llhttp__internal__n_span_end_stub_query_3;
2931       }
2932       p++;
2933       goto s_n_llhttp__internal__n_url_fragment;
2934       /* UNREACHABLE */;
2935       abort();
2936     }
2937     case s_n_llhttp__internal__n_url_query:
2938     s_n_llhttp__internal__n_url_query: {
2939       static uint8_t lookup_table[] = {
2940         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2941         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2942         4, 5, 5, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2943         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2944         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2945         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2946         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2947         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0,
2948         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2949         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2950         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2951         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2952         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2953         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2954         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2955         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2956       };
2957       if (p == endp) {
2958         return s_n_llhttp__internal__n_url_query;
2959       }
2960       switch (lookup_table[(uint8_t) *p]) {
2961         case 1: {
2962           p++;
2963           goto s_n_llhttp__internal__n_error_1;
2964         }
2965         case 2: {
2966           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
2967         }
2968         case 3: {
2969           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
2970         }
2971         case 4: {
2972           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
2973         }
2974         case 5: {
2975           p++;
2976           goto s_n_llhttp__internal__n_url_query;
2977         }
2978         case 6: {
2979           goto s_n_llhttp__internal__n_span_end_stub_query_3;
2980         }
2981         default: {
2982           goto s_n_llhttp__internal__n_error_40;
2983         }
2984       }
2985       /* UNREACHABLE */;
2986       abort();
2987     }
2988     case s_n_llhttp__internal__n_url_query_or_fragment:
2989     s_n_llhttp__internal__n_url_query_or_fragment: {
2990       if (p == endp) {
2991         return s_n_llhttp__internal__n_url_query_or_fragment;
2992       }
2993       switch (*p) {
2994         case 9: {
2995           p++;
2996           goto s_n_llhttp__internal__n_error_1;
2997         }
2998         case 10: {
2999           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
3000         }
3001         case 12: {
3002           p++;
3003           goto s_n_llhttp__internal__n_error_1;
3004         }
3005         case 13: {
3006           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
3007         }
3008         case ' ': {
3009           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
3010         }
3011         case '#': {
3012           p++;
3013           goto s_n_llhttp__internal__n_url_fragment;
3014         }
3015         case '?': {
3016           p++;
3017           goto s_n_llhttp__internal__n_url_query;
3018         }
3019         default: {
3020           goto s_n_llhttp__internal__n_error_41;
3021         }
3022       }
3023       /* UNREACHABLE */;
3024       abort();
3025     }
3026     case s_n_llhttp__internal__n_url_path:
3027     s_n_llhttp__internal__n_url_path: {
3028       static uint8_t lookup_table[] = {
3029         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
3030         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3031         0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3032         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
3033         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3034         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3035         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3036         2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
3037         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3038         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3039         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3041         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3042         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3043         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3044         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3045       };
3046       if (p == endp) {
3047         return s_n_llhttp__internal__n_url_path;
3048       }
3049       switch (lookup_table[(uint8_t) *p]) {
3050         case 1: {
3051           p++;
3052           goto s_n_llhttp__internal__n_error_1;
3053         }
3054         case 2: {
3055           p++;
3056           goto s_n_llhttp__internal__n_url_path;
3057         }
3058         default: {
3059           goto s_n_llhttp__internal__n_url_query_or_fragment;
3060         }
3061       }
3062       /* UNREACHABLE */;
3063       abort();
3064     }
3065     case s_n_llhttp__internal__n_span_start_stub_path_2:
3066     s_n_llhttp__internal__n_span_start_stub_path_2: {
3067       if (p == endp) {
3068         return s_n_llhttp__internal__n_span_start_stub_path_2;
3069       }
3070       p++;
3071       goto s_n_llhttp__internal__n_url_path;
3072       /* UNREACHABLE */;
3073       abort();
3074     }
3075     case s_n_llhttp__internal__n_span_start_stub_path:
3076     s_n_llhttp__internal__n_span_start_stub_path: {
3077       if (p == endp) {
3078         return s_n_llhttp__internal__n_span_start_stub_path;
3079       }
3080       p++;
3081       goto s_n_llhttp__internal__n_url_path;
3082       /* UNREACHABLE */;
3083       abort();
3084     }
3085     case s_n_llhttp__internal__n_span_start_stub_path_1:
3086     s_n_llhttp__internal__n_span_start_stub_path_1: {
3087       if (p == endp) {
3088         return s_n_llhttp__internal__n_span_start_stub_path_1;
3089       }
3090       p++;
3091       goto s_n_llhttp__internal__n_url_path;
3092       /* UNREACHABLE */;
3093       abort();
3094     }
3095     case s_n_llhttp__internal__n_url_server_with_at:
3096     s_n_llhttp__internal__n_url_server_with_at: {
3097       static uint8_t lookup_table[] = {
3098         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
3099         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3100         4, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
3101         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 7,
3102         8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3103         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 5,
3104         0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3105         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 0,
3106         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3107         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3108         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3109         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3110         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3111         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3112         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3113         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3114       };
3115       if (p == endp) {
3116         return s_n_llhttp__internal__n_url_server_with_at;
3117       }
3118       switch (lookup_table[(uint8_t) *p]) {
3119         case 1: {
3120           p++;
3121           goto s_n_llhttp__internal__n_error_1;
3122         }
3123         case 2: {
3124           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
3125         }
3126         case 3: {
3127           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
3128         }
3129         case 4: {
3130           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
3131         }
3132         case 5: {
3133           p++;
3134           goto s_n_llhttp__internal__n_url_server;
3135         }
3136         case 6: {
3137           goto s_n_llhttp__internal__n_span_start_stub_path_1;
3138         }
3139         case 7: {
3140           p++;
3141           goto s_n_llhttp__internal__n_url_query;
3142         }
3143         case 8: {
3144           p++;
3145           goto s_n_llhttp__internal__n_error_42;
3146         }
3147         default: {
3148           goto s_n_llhttp__internal__n_error_43;
3149         }
3150       }
3151       /* UNREACHABLE */;
3152       abort();
3153     }
3154     case s_n_llhttp__internal__n_url_server:
3155     s_n_llhttp__internal__n_url_server: {
3156       static uint8_t lookup_table[] = {
3157         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
3158         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3159         4, 5, 0, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
3160         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 7,
3161         8, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3162         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 0, 5,
3163         0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3164         5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 0,
3165         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3166         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3167         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3168         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3169         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3170         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3171         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3172         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3173       };
3174       if (p == endp) {
3175         return s_n_llhttp__internal__n_url_server;
3176       }
3177       switch (lookup_table[(uint8_t) *p]) {
3178         case 1: {
3179           p++;
3180           goto s_n_llhttp__internal__n_error_1;
3181         }
3182         case 2: {
3183           goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
3184         }
3185         case 3: {
3186           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
3187         }
3188         case 4: {
3189           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
3190         }
3191         case 5: {
3192           p++;
3193           goto s_n_llhttp__internal__n_url_server;
3194         }
3195         case 6: {
3196           goto s_n_llhttp__internal__n_span_start_stub_path;
3197         }
3198         case 7: {
3199           p++;
3200           goto s_n_llhttp__internal__n_url_query;
3201         }
3202         case 8: {
3203           p++;
3204           goto s_n_llhttp__internal__n_url_server_with_at;
3205         }
3206         default: {
3207           goto s_n_llhttp__internal__n_error_44;
3208         }
3209       }
3210       /* UNREACHABLE */;
3211       abort();
3212     }
3213     case s_n_llhttp__internal__n_url_schema_delim_1:
3214     s_n_llhttp__internal__n_url_schema_delim_1: {
3215       if (p == endp) {
3216         return s_n_llhttp__internal__n_url_schema_delim_1;
3217       }
3218       switch (*p) {
3219         case '/': {
3220           p++;
3221           goto s_n_llhttp__internal__n_url_server;
3222         }
3223         default: {
3224           goto s_n_llhttp__internal__n_error_46;
3225         }
3226       }
3227       /* UNREACHABLE */;
3228       abort();
3229     }
3230     case s_n_llhttp__internal__n_url_schema_delim:
3231     s_n_llhttp__internal__n_url_schema_delim: {
3232       if (p == endp) {
3233         return s_n_llhttp__internal__n_url_schema_delim;
3234       }
3235       switch (*p) {
3236         case 9: {
3237           p++;
3238           goto s_n_llhttp__internal__n_error_1;
3239         }
3240         case 10: {
3241           p++;
3242           goto s_n_llhttp__internal__n_error_45;
3243         }
3244         case 12: {
3245           p++;
3246           goto s_n_llhttp__internal__n_error_1;
3247         }
3248         case 13: {
3249           p++;
3250           goto s_n_llhttp__internal__n_error_45;
3251         }
3252         case ' ': {
3253           p++;
3254           goto s_n_llhttp__internal__n_error_45;
3255         }
3256         case '/': {
3257           p++;
3258           goto s_n_llhttp__internal__n_url_schema_delim_1;
3259         }
3260         default: {
3261           goto s_n_llhttp__internal__n_error_46;
3262         }
3263       }
3264       /* UNREACHABLE */;
3265       abort();
3266     }
3267     case s_n_llhttp__internal__n_span_end_stub_schema:
3268     s_n_llhttp__internal__n_span_end_stub_schema: {
3269       if (p == endp) {
3270         return s_n_llhttp__internal__n_span_end_stub_schema;
3271       }
3272       p++;
3273       goto s_n_llhttp__internal__n_url_schema_delim;
3274       /* UNREACHABLE */;
3275       abort();
3276     }
3277     case s_n_llhttp__internal__n_url_schema:
3278     s_n_llhttp__internal__n_url_schema: {
3279       static uint8_t lookup_table[] = {
3280         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 2, 0, 0,
3281         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3282         2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3283         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0,
3284         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3285         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3286         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3287         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3288         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3289         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3290         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3291         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3292         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3293         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3294         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3296       };
3297       if (p == endp) {
3298         return s_n_llhttp__internal__n_url_schema;
3299       }
3300       switch (lookup_table[(uint8_t) *p]) {
3301         case 1: {
3302           p++;
3303           goto s_n_llhttp__internal__n_error_1;
3304         }
3305         case 2: {
3306           p++;
3307           goto s_n_llhttp__internal__n_error_45;
3308         }
3309         case 3: {
3310           goto s_n_llhttp__internal__n_span_end_stub_schema;
3311         }
3312         case 4: {
3313           p++;
3314           goto s_n_llhttp__internal__n_url_schema;
3315         }
3316         default: {
3317           goto s_n_llhttp__internal__n_error_47;
3318         }
3319       }
3320       /* UNREACHABLE */;
3321       abort();
3322     }
3323     case s_n_llhttp__internal__n_url_start:
3324     s_n_llhttp__internal__n_url_start: {
3325       static uint8_t lookup_table[] = {
3326         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 2, 0, 0,
3327         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3328         2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3,
3329         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3330         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3331         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3332         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
3333         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0,
3334         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3335         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3342       };
3343       if (p == endp) {
3344         return s_n_llhttp__internal__n_url_start;
3345       }
3346       switch (lookup_table[(uint8_t) *p]) {
3347         case 1: {
3348           p++;
3349           goto s_n_llhttp__internal__n_error_1;
3350         }
3351         case 2: {
3352           p++;
3353           goto s_n_llhttp__internal__n_error_45;
3354         }
3355         case 3: {
3356           goto s_n_llhttp__internal__n_span_start_stub_path_2;
3357         }
3358         case 4: {
3359           goto s_n_llhttp__internal__n_url_schema;
3360         }
3361         default: {
3362           goto s_n_llhttp__internal__n_error_48;
3363         }
3364       }
3365       /* UNREACHABLE */;
3366       abort();
3367     }
3368     case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
3369     s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
3370       if (p == endp) {
3371         return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
3372       }
3373       state->_span_pos0 = (void*) p;
3374       state->_span_cb0 = llhttp__on_url;
3375       goto s_n_llhttp__internal__n_url_start;
3376       /* UNREACHABLE */;
3377       abort();
3378     }
3379     case s_n_llhttp__internal__n_url_entry_normal:
3380     s_n_llhttp__internal__n_url_entry_normal: {
3381       if (p == endp) {
3382         return s_n_llhttp__internal__n_url_entry_normal;
3383       }
3384       switch (*p) {
3385         case 9: {
3386           p++;
3387           goto s_n_llhttp__internal__n_error_1;
3388         }
3389         case 12: {
3390           p++;
3391           goto s_n_llhttp__internal__n_error_1;
3392         }
3393         default: {
3394           goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
3395         }
3396       }
3397       /* UNREACHABLE */;
3398       abort();
3399     }
3400     case s_n_llhttp__internal__n_span_start_llhttp__on_url:
3401     s_n_llhttp__internal__n_span_start_llhttp__on_url: {
3402       if (p == endp) {
3403         return s_n_llhttp__internal__n_span_start_llhttp__on_url;
3404       }
3405       state->_span_pos0 = (void*) p;
3406       state->_span_cb0 = llhttp__on_url;
3407       goto s_n_llhttp__internal__n_url_server;
3408       /* UNREACHABLE */;
3409       abort();
3410     }
3411     case s_n_llhttp__internal__n_url_entry_connect:
3412     s_n_llhttp__internal__n_url_entry_connect: {
3413       if (p == endp) {
3414         return s_n_llhttp__internal__n_url_entry_connect;
3415       }
3416       switch (*p) {
3417         case 9: {
3418           p++;
3419           goto s_n_llhttp__internal__n_error_1;
3420         }
3421         case 12: {
3422           p++;
3423           goto s_n_llhttp__internal__n_error_1;
3424         }
3425         default: {
3426           goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
3427         }
3428       }
3429       /* UNREACHABLE */;
3430       abort();
3431     }
3432     case s_n_llhttp__internal__n_req_spaces_before_url:
3433     s_n_llhttp__internal__n_req_spaces_before_url: {
3434       if (p == endp) {
3435         return s_n_llhttp__internal__n_req_spaces_before_url;
3436       }
3437       switch (*p) {
3438         case ' ': {
3439           p++;
3440           goto s_n_llhttp__internal__n_req_spaces_before_url;
3441         }
3442         default: {
3443           goto s_n_llhttp__internal__n_invoke_is_equal_method;
3444         }
3445       }
3446       /* UNREACHABLE */;
3447       abort();
3448     }
3449     case s_n_llhttp__internal__n_req_first_space_before_url:
3450     s_n_llhttp__internal__n_req_first_space_before_url: {
3451       if (p == endp) {
3452         return s_n_llhttp__internal__n_req_first_space_before_url;
3453       }
3454       switch (*p) {
3455         case ' ': {
3456           p++;
3457           goto s_n_llhttp__internal__n_req_spaces_before_url;
3458         }
3459         default: {
3460           goto s_n_llhttp__internal__n_error_49;
3461         }
3462       }
3463       /* UNREACHABLE */;
3464       abort();
3465     }
3466     case s_n_llhttp__internal__n_start_req_1:
3467     s_n_llhttp__internal__n_start_req_1: {
3468       llparse_match_t match_seq;
3469 
3470       if (p == endp) {
3471         return s_n_llhttp__internal__n_start_req_1;
3472       }
3473       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob0, 2);
3474       p = match_seq.current;
3475       switch (match_seq.status) {
3476         case kMatchComplete: {
3477           p++;
3478           match = 19;
3479           goto s_n_llhttp__internal__n_invoke_store_method_1;
3480         }
3481         case kMatchPause: {
3482           return s_n_llhttp__internal__n_start_req_1;
3483         }
3484         case kMatchMismatch: {
3485           goto s_n_llhttp__internal__n_error_58;
3486         }
3487       }
3488       /* UNREACHABLE */;
3489       abort();
3490     }
3491     case s_n_llhttp__internal__n_start_req_2:
3492     s_n_llhttp__internal__n_start_req_2: {
3493       llparse_match_t match_seq;
3494 
3495       if (p == endp) {
3496         return s_n_llhttp__internal__n_start_req_2;
3497       }
3498       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob17, 3);
3499       p = match_seq.current;
3500       switch (match_seq.status) {
3501         case kMatchComplete: {
3502           p++;
3503           match = 16;
3504           goto s_n_llhttp__internal__n_invoke_store_method_1;
3505         }
3506         case kMatchPause: {
3507           return s_n_llhttp__internal__n_start_req_2;
3508         }
3509         case kMatchMismatch: {
3510           goto s_n_llhttp__internal__n_error_58;
3511         }
3512       }
3513       /* UNREACHABLE */;
3514       abort();
3515     }
3516     case s_n_llhttp__internal__n_start_req_4:
3517     s_n_llhttp__internal__n_start_req_4: {
3518       llparse_match_t match_seq;
3519 
3520       if (p == endp) {
3521         return s_n_llhttp__internal__n_start_req_4;
3522       }
3523       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob18, 6);
3524       p = match_seq.current;
3525       switch (match_seq.status) {
3526         case kMatchComplete: {
3527           p++;
3528           match = 22;
3529           goto s_n_llhttp__internal__n_invoke_store_method_1;
3530         }
3531         case kMatchPause: {
3532           return s_n_llhttp__internal__n_start_req_4;
3533         }
3534         case kMatchMismatch: {
3535           goto s_n_llhttp__internal__n_error_58;
3536         }
3537       }
3538       /* UNREACHABLE */;
3539       abort();
3540     }
3541     case s_n_llhttp__internal__n_start_req_6:
3542     s_n_llhttp__internal__n_start_req_6: {
3543       llparse_match_t match_seq;
3544 
3545       if (p == endp) {
3546         return s_n_llhttp__internal__n_start_req_6;
3547       }
3548       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob19, 4);
3549       p = match_seq.current;
3550       switch (match_seq.status) {
3551         case kMatchComplete: {
3552           p++;
3553           match = 5;
3554           goto s_n_llhttp__internal__n_invoke_store_method_1;
3555         }
3556         case kMatchPause: {
3557           return s_n_llhttp__internal__n_start_req_6;
3558         }
3559         case kMatchMismatch: {
3560           goto s_n_llhttp__internal__n_error_58;
3561         }
3562       }
3563       /* UNREACHABLE */;
3564       abort();
3565     }
3566     case s_n_llhttp__internal__n_start_req_7:
3567     s_n_llhttp__internal__n_start_req_7: {
3568       if (p == endp) {
3569         return s_n_llhttp__internal__n_start_req_7;
3570       }
3571       switch (*p) {
3572         case 'Y': {
3573           p++;
3574           match = 8;
3575           goto s_n_llhttp__internal__n_invoke_store_method_1;
3576         }
3577         default: {
3578           goto s_n_llhttp__internal__n_error_58;
3579         }
3580       }
3581       /* UNREACHABLE */;
3582       abort();
3583     }
3584     case s_n_llhttp__internal__n_start_req_5:
3585     s_n_llhttp__internal__n_start_req_5: {
3586       if (p == endp) {
3587         return s_n_llhttp__internal__n_start_req_5;
3588       }
3589       switch (*p) {
3590         case 'N': {
3591           p++;
3592           goto s_n_llhttp__internal__n_start_req_6;
3593         }
3594         case 'P': {
3595           p++;
3596           goto s_n_llhttp__internal__n_start_req_7;
3597         }
3598         default: {
3599           goto s_n_llhttp__internal__n_error_58;
3600         }
3601       }
3602       /* UNREACHABLE */;
3603       abort();
3604     }
3605     case s_n_llhttp__internal__n_start_req_3:
3606     s_n_llhttp__internal__n_start_req_3: {
3607       if (p == endp) {
3608         return s_n_llhttp__internal__n_start_req_3;
3609       }
3610       switch (*p) {
3611         case 'H': {
3612           p++;
3613           goto s_n_llhttp__internal__n_start_req_4;
3614         }
3615         case 'O': {
3616           p++;
3617           goto s_n_llhttp__internal__n_start_req_5;
3618         }
3619         default: {
3620           goto s_n_llhttp__internal__n_error_58;
3621         }
3622       }
3623       /* UNREACHABLE */;
3624       abort();
3625     }
3626     case s_n_llhttp__internal__n_start_req_8:
3627     s_n_llhttp__internal__n_start_req_8: {
3628       llparse_match_t match_seq;
3629 
3630       if (p == endp) {
3631         return s_n_llhttp__internal__n_start_req_8;
3632       }
3633       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob20, 5);
3634       p = match_seq.current;
3635       switch (match_seq.status) {
3636         case kMatchComplete: {
3637           p++;
3638           match = 0;
3639           goto s_n_llhttp__internal__n_invoke_store_method_1;
3640         }
3641         case kMatchPause: {
3642           return s_n_llhttp__internal__n_start_req_8;
3643         }
3644         case kMatchMismatch: {
3645           goto s_n_llhttp__internal__n_error_58;
3646         }
3647       }
3648       /* UNREACHABLE */;
3649       abort();
3650     }
3651     case s_n_llhttp__internal__n_start_req_9:
3652     s_n_llhttp__internal__n_start_req_9: {
3653       llparse_match_t match_seq;
3654 
3655       if (p == endp) {
3656         return s_n_llhttp__internal__n_start_req_9;
3657       }
3658       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob21, 2);
3659       p = match_seq.current;
3660       switch (match_seq.status) {
3661         case kMatchComplete: {
3662           p++;
3663           match = 1;
3664           goto s_n_llhttp__internal__n_invoke_store_method_1;
3665         }
3666         case kMatchPause: {
3667           return s_n_llhttp__internal__n_start_req_9;
3668         }
3669         case kMatchMismatch: {
3670           goto s_n_llhttp__internal__n_error_58;
3671         }
3672       }
3673       /* UNREACHABLE */;
3674       abort();
3675     }
3676     case s_n_llhttp__internal__n_start_req_10:
3677     s_n_llhttp__internal__n_start_req_10: {
3678       llparse_match_t match_seq;
3679 
3680       if (p == endp) {
3681         return s_n_llhttp__internal__n_start_req_10;
3682       }
3683       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob22, 3);
3684       p = match_seq.current;
3685       switch (match_seq.status) {
3686         case kMatchComplete: {
3687           p++;
3688           match = 2;
3689           goto s_n_llhttp__internal__n_invoke_store_method_1;
3690         }
3691         case kMatchPause: {
3692           return s_n_llhttp__internal__n_start_req_10;
3693         }
3694         case kMatchMismatch: {
3695           goto s_n_llhttp__internal__n_error_58;
3696         }
3697       }
3698       /* UNREACHABLE */;
3699       abort();
3700     }
3701     case s_n_llhttp__internal__n_start_req_12:
3702     s_n_llhttp__internal__n_start_req_12: {
3703       llparse_match_t match_seq;
3704 
3705       if (p == endp) {
3706         return s_n_llhttp__internal__n_start_req_12;
3707       }
3708       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob23, 2);
3709       p = match_seq.current;
3710       switch (match_seq.status) {
3711         case kMatchComplete: {
3712           p++;
3713           match = 31;
3714           goto s_n_llhttp__internal__n_invoke_store_method_1;
3715         }
3716         case kMatchPause: {
3717           return s_n_llhttp__internal__n_start_req_12;
3718         }
3719         case kMatchMismatch: {
3720           goto s_n_llhttp__internal__n_error_58;
3721         }
3722       }
3723       /* UNREACHABLE */;
3724       abort();
3725     }
3726     case s_n_llhttp__internal__n_start_req_13:
3727     s_n_llhttp__internal__n_start_req_13: {
3728       llparse_match_t match_seq;
3729 
3730       if (p == endp) {
3731         return s_n_llhttp__internal__n_start_req_13;
3732       }
3733       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob24, 2);
3734       p = match_seq.current;
3735       switch (match_seq.status) {
3736         case kMatchComplete: {
3737           p++;
3738           match = 9;
3739           goto s_n_llhttp__internal__n_invoke_store_method_1;
3740         }
3741         case kMatchPause: {
3742           return s_n_llhttp__internal__n_start_req_13;
3743         }
3744         case kMatchMismatch: {
3745           goto s_n_llhttp__internal__n_error_58;
3746         }
3747       }
3748       /* UNREACHABLE */;
3749       abort();
3750     }
3751     case s_n_llhttp__internal__n_start_req_11:
3752     s_n_llhttp__internal__n_start_req_11: {
3753       if (p == endp) {
3754         return s_n_llhttp__internal__n_start_req_11;
3755       }
3756       switch (*p) {
3757         case 'I': {
3758           p++;
3759           goto s_n_llhttp__internal__n_start_req_12;
3760         }
3761         case 'O': {
3762           p++;
3763           goto s_n_llhttp__internal__n_start_req_13;
3764         }
3765         default: {
3766           goto s_n_llhttp__internal__n_error_58;
3767         }
3768       }
3769       /* UNREACHABLE */;
3770       abort();
3771     }
3772     case s_n_llhttp__internal__n_start_req_15:
3773     s_n_llhttp__internal__n_start_req_15: {
3774       llparse_match_t match_seq;
3775 
3776       if (p == endp) {
3777         return s_n_llhttp__internal__n_start_req_15;
3778       }
3779       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob25, 6);
3780       p = match_seq.current;
3781       switch (match_seq.status) {
3782         case kMatchComplete: {
3783           p++;
3784           match = 24;
3785           goto s_n_llhttp__internal__n_invoke_store_method_1;
3786         }
3787         case kMatchPause: {
3788           return s_n_llhttp__internal__n_start_req_15;
3789         }
3790         case kMatchMismatch: {
3791           goto s_n_llhttp__internal__n_error_58;
3792         }
3793       }
3794       /* UNREACHABLE */;
3795       abort();
3796     }
3797     case s_n_llhttp__internal__n_start_req_16:
3798     s_n_llhttp__internal__n_start_req_16: {
3799       llparse_match_t match_seq;
3800 
3801       if (p == endp) {
3802         return s_n_llhttp__internal__n_start_req_16;
3803       }
3804       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob26, 3);
3805       p = match_seq.current;
3806       switch (match_seq.status) {
3807         case kMatchComplete: {
3808           p++;
3809           match = 23;
3810           goto s_n_llhttp__internal__n_invoke_store_method_1;
3811         }
3812         case kMatchPause: {
3813           return s_n_llhttp__internal__n_start_req_16;
3814         }
3815         case kMatchMismatch: {
3816           goto s_n_llhttp__internal__n_error_58;
3817         }
3818       }
3819       /* UNREACHABLE */;
3820       abort();
3821     }
3822     case s_n_llhttp__internal__n_start_req_18:
3823     s_n_llhttp__internal__n_start_req_18: {
3824       llparse_match_t match_seq;
3825 
3826       if (p == endp) {
3827         return s_n_llhttp__internal__n_start_req_18;
3828       }
3829       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob27, 7);
3830       p = match_seq.current;
3831       switch (match_seq.status) {
3832         case kMatchComplete: {
3833           p++;
3834           match = 21;
3835           goto s_n_llhttp__internal__n_invoke_store_method_1;
3836         }
3837         case kMatchPause: {
3838           return s_n_llhttp__internal__n_start_req_18;
3839         }
3840         case kMatchMismatch: {
3841           goto s_n_llhttp__internal__n_error_58;
3842         }
3843       }
3844       /* UNREACHABLE */;
3845       abort();
3846     }
3847     case s_n_llhttp__internal__n_start_req_20:
3848     s_n_llhttp__internal__n_start_req_20: {
3849       llparse_match_t match_seq;
3850 
3851       if (p == endp) {
3852         return s_n_llhttp__internal__n_start_req_20;
3853       }
3854       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob28, 6);
3855       p = match_seq.current;
3856       switch (match_seq.status) {
3857         case kMatchComplete: {
3858           p++;
3859           match = 30;
3860           goto s_n_llhttp__internal__n_invoke_store_method_1;
3861         }
3862         case kMatchPause: {
3863           return s_n_llhttp__internal__n_start_req_20;
3864         }
3865         case kMatchMismatch: {
3866           goto s_n_llhttp__internal__n_error_58;
3867         }
3868       }
3869       /* UNREACHABLE */;
3870       abort();
3871     }
3872     case s_n_llhttp__internal__n_start_req_21:
3873     s_n_llhttp__internal__n_start_req_21: {
3874       if (p == endp) {
3875         return s_n_llhttp__internal__n_start_req_21;
3876       }
3877       switch (*p) {
3878         case 'L': {
3879           p++;
3880           match = 10;
3881           goto s_n_llhttp__internal__n_invoke_store_method_1;
3882         }
3883         default: {
3884           goto s_n_llhttp__internal__n_error_58;
3885         }
3886       }
3887       /* UNREACHABLE */;
3888       abort();
3889     }
3890     case s_n_llhttp__internal__n_start_req_19:
3891     s_n_llhttp__internal__n_start_req_19: {
3892       if (p == endp) {
3893         return s_n_llhttp__internal__n_start_req_19;
3894       }
3895       switch (*p) {
3896         case 'A': {
3897           p++;
3898           goto s_n_llhttp__internal__n_start_req_20;
3899         }
3900         case 'O': {
3901           p++;
3902           goto s_n_llhttp__internal__n_start_req_21;
3903         }
3904         default: {
3905           goto s_n_llhttp__internal__n_error_58;
3906         }
3907       }
3908       /* UNREACHABLE */;
3909       abort();
3910     }
3911     case s_n_llhttp__internal__n_start_req_17:
3912     s_n_llhttp__internal__n_start_req_17: {
3913       if (p == endp) {
3914         return s_n_llhttp__internal__n_start_req_17;
3915       }
3916       switch (*p) {
3917         case 'A': {
3918           p++;
3919           goto s_n_llhttp__internal__n_start_req_18;
3920         }
3921         case 'C': {
3922           p++;
3923           goto s_n_llhttp__internal__n_start_req_19;
3924         }
3925         default: {
3926           goto s_n_llhttp__internal__n_error_58;
3927         }
3928       }
3929       /* UNREACHABLE */;
3930       abort();
3931     }
3932     case s_n_llhttp__internal__n_start_req_22:
3933     s_n_llhttp__internal__n_start_req_22: {
3934       llparse_match_t match_seq;
3935 
3936       if (p == endp) {
3937         return s_n_llhttp__internal__n_start_req_22;
3938       }
3939       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob29, 2);
3940       p = match_seq.current;
3941       switch (match_seq.status) {
3942         case kMatchComplete: {
3943           p++;
3944           match = 11;
3945           goto s_n_llhttp__internal__n_invoke_store_method_1;
3946         }
3947         case kMatchPause: {
3948           return s_n_llhttp__internal__n_start_req_22;
3949         }
3950         case kMatchMismatch: {
3951           goto s_n_llhttp__internal__n_error_58;
3952         }
3953       }
3954       /* UNREACHABLE */;
3955       abort();
3956     }
3957     case s_n_llhttp__internal__n_start_req_14:
3958     s_n_llhttp__internal__n_start_req_14: {
3959       if (p == endp) {
3960         return s_n_llhttp__internal__n_start_req_14;
3961       }
3962       switch (*p) {
3963         case '-': {
3964           p++;
3965           goto s_n_llhttp__internal__n_start_req_15;
3966         }
3967         case 'E': {
3968           p++;
3969           goto s_n_llhttp__internal__n_start_req_16;
3970         }
3971         case 'K': {
3972           p++;
3973           goto s_n_llhttp__internal__n_start_req_17;
3974         }
3975         case 'O': {
3976           p++;
3977           goto s_n_llhttp__internal__n_start_req_22;
3978         }
3979         default: {
3980           goto s_n_llhttp__internal__n_error_58;
3981         }
3982       }
3983       /* UNREACHABLE */;
3984       abort();
3985     }
3986     case s_n_llhttp__internal__n_start_req_23:
3987     s_n_llhttp__internal__n_start_req_23: {
3988       llparse_match_t match_seq;
3989 
3990       if (p == endp) {
3991         return s_n_llhttp__internal__n_start_req_23;
3992       }
3993       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob30, 5);
3994       p = match_seq.current;
3995       switch (match_seq.status) {
3996         case kMatchComplete: {
3997           p++;
3998           match = 25;
3999           goto s_n_llhttp__internal__n_invoke_store_method_1;
4000         }
4001         case kMatchPause: {
4002           return s_n_llhttp__internal__n_start_req_23;
4003         }
4004         case kMatchMismatch: {
4005           goto s_n_llhttp__internal__n_error_58;
4006         }
4007       }
4008       /* UNREACHABLE */;
4009       abort();
4010     }
4011     case s_n_llhttp__internal__n_start_req_24:
4012     s_n_llhttp__internal__n_start_req_24: {
4013       llparse_match_t match_seq;
4014 
4015       if (p == endp) {
4016         return s_n_llhttp__internal__n_start_req_24;
4017       }
4018       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob31, 6);
4019       p = match_seq.current;
4020       switch (match_seq.status) {
4021         case kMatchComplete: {
4022           p++;
4023           match = 6;
4024           goto s_n_llhttp__internal__n_invoke_store_method_1;
4025         }
4026         case kMatchPause: {
4027           return s_n_llhttp__internal__n_start_req_24;
4028         }
4029         case kMatchMismatch: {
4030           goto s_n_llhttp__internal__n_error_58;
4031         }
4032       }
4033       /* UNREACHABLE */;
4034       abort();
4035     }
4036     case s_n_llhttp__internal__n_start_req_26:
4037     s_n_llhttp__internal__n_start_req_26: {
4038       llparse_match_t match_seq;
4039 
4040       if (p == endp) {
4041         return s_n_llhttp__internal__n_start_req_26;
4042       }
4043       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob32, 3);
4044       p = match_seq.current;
4045       switch (match_seq.status) {
4046         case kMatchComplete: {
4047           p++;
4048           match = 28;
4049           goto s_n_llhttp__internal__n_invoke_store_method_1;
4050         }
4051         case kMatchPause: {
4052           return s_n_llhttp__internal__n_start_req_26;
4053         }
4054         case kMatchMismatch: {
4055           goto s_n_llhttp__internal__n_error_58;
4056         }
4057       }
4058       /* UNREACHABLE */;
4059       abort();
4060     }
4061     case s_n_llhttp__internal__n_start_req_27:
4062     s_n_llhttp__internal__n_start_req_27: {
4063       llparse_match_t match_seq;
4064 
4065       if (p == endp) {
4066         return s_n_llhttp__internal__n_start_req_27;
4067       }
4068       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob33, 2);
4069       p = match_seq.current;
4070       switch (match_seq.status) {
4071         case kMatchComplete: {
4072           p++;
4073           match = 3;
4074           goto s_n_llhttp__internal__n_invoke_store_method_1;
4075         }
4076         case kMatchPause: {
4077           return s_n_llhttp__internal__n_start_req_27;
4078         }
4079         case kMatchMismatch: {
4080           goto s_n_llhttp__internal__n_error_58;
4081         }
4082       }
4083       /* UNREACHABLE */;
4084       abort();
4085     }
4086     case s_n_llhttp__internal__n_start_req_31:
4087     s_n_llhttp__internal__n_start_req_31: {
4088       llparse_match_t match_seq;
4089 
4090       if (p == endp) {
4091         return s_n_llhttp__internal__n_start_req_31;
4092       }
4093       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob34, 3);
4094       p = match_seq.current;
4095       switch (match_seq.status) {
4096         case kMatchComplete: {
4097           p++;
4098           match = 12;
4099           goto s_n_llhttp__internal__n_invoke_store_method_1;
4100         }
4101         case kMatchPause: {
4102           return s_n_llhttp__internal__n_start_req_31;
4103         }
4104         case kMatchMismatch: {
4105           goto s_n_llhttp__internal__n_error_58;
4106         }
4107       }
4108       /* UNREACHABLE */;
4109       abort();
4110     }
4111     case s_n_llhttp__internal__n_start_req_32:
4112     s_n_llhttp__internal__n_start_req_32: {
4113       llparse_match_t match_seq;
4114 
4115       if (p == endp) {
4116         return s_n_llhttp__internal__n_start_req_32;
4117       }
4118       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob35, 4);
4119       p = match_seq.current;
4120       switch (match_seq.status) {
4121         case kMatchComplete: {
4122           p++;
4123           match = 13;
4124           goto s_n_llhttp__internal__n_invoke_store_method_1;
4125         }
4126         case kMatchPause: {
4127           return s_n_llhttp__internal__n_start_req_32;
4128         }
4129         case kMatchMismatch: {
4130           goto s_n_llhttp__internal__n_error_58;
4131         }
4132       }
4133       /* UNREACHABLE */;
4134       abort();
4135     }
4136     case s_n_llhttp__internal__n_start_req_30:
4137     s_n_llhttp__internal__n_start_req_30: {
4138       if (p == endp) {
4139         return s_n_llhttp__internal__n_start_req_30;
4140       }
4141       switch (*p) {
4142         case 'F': {
4143           p++;
4144           goto s_n_llhttp__internal__n_start_req_31;
4145         }
4146         case 'P': {
4147           p++;
4148           goto s_n_llhttp__internal__n_start_req_32;
4149         }
4150         default: {
4151           goto s_n_llhttp__internal__n_error_58;
4152         }
4153       }
4154       /* UNREACHABLE */;
4155       abort();
4156     }
4157     case s_n_llhttp__internal__n_start_req_29:
4158     s_n_llhttp__internal__n_start_req_29: {
4159       if (p == endp) {
4160         return s_n_llhttp__internal__n_start_req_29;
4161       }
4162       switch (*p) {
4163         case 'P': {
4164           p++;
4165           goto s_n_llhttp__internal__n_start_req_30;
4166         }
4167         default: {
4168           goto s_n_llhttp__internal__n_error_58;
4169         }
4170       }
4171       /* UNREACHABLE */;
4172       abort();
4173     }
4174     case s_n_llhttp__internal__n_start_req_28:
4175     s_n_llhttp__internal__n_start_req_28: {
4176       if (p == endp) {
4177         return s_n_llhttp__internal__n_start_req_28;
4178       }
4179       switch (*p) {
4180         case 'I': {
4181           p++;
4182           match = 34;
4183           goto s_n_llhttp__internal__n_invoke_store_method_1;
4184         }
4185         case 'O': {
4186           p++;
4187           goto s_n_llhttp__internal__n_start_req_29;
4188         }
4189         default: {
4190           goto s_n_llhttp__internal__n_error_58;
4191         }
4192       }
4193       /* UNREACHABLE */;
4194       abort();
4195     }
4196     case s_n_llhttp__internal__n_start_req_34:
4197     s_n_llhttp__internal__n_start_req_34: {
4198       llparse_match_t match_seq;
4199 
4200       if (p == endp) {
4201         return s_n_llhttp__internal__n_start_req_34;
4202       }
4203       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob36, 2);
4204       p = match_seq.current;
4205       switch (match_seq.status) {
4206         case kMatchComplete: {
4207           p++;
4208           match = 29;
4209           goto s_n_llhttp__internal__n_invoke_store_method_1;
4210         }
4211         case kMatchPause: {
4212           return s_n_llhttp__internal__n_start_req_34;
4213         }
4214         case kMatchMismatch: {
4215           goto s_n_llhttp__internal__n_error_58;
4216         }
4217       }
4218       /* UNREACHABLE */;
4219       abort();
4220     }
4221     case s_n_llhttp__internal__n_start_req_33:
4222     s_n_llhttp__internal__n_start_req_33: {
4223       if (p == endp) {
4224         return s_n_llhttp__internal__n_start_req_33;
4225       }
4226       switch (*p) {
4227         case 'R': {
4228           p++;
4229           goto s_n_llhttp__internal__n_start_req_34;
4230         }
4231         case 'T': {
4232           p++;
4233           match = 4;
4234           goto s_n_llhttp__internal__n_invoke_store_method_1;
4235         }
4236         default: {
4237           goto s_n_llhttp__internal__n_error_58;
4238         }
4239       }
4240       /* UNREACHABLE */;
4241       abort();
4242     }
4243     case s_n_llhttp__internal__n_start_req_25:
4244     s_n_llhttp__internal__n_start_req_25: {
4245       if (p == endp) {
4246         return s_n_llhttp__internal__n_start_req_25;
4247       }
4248       switch (*p) {
4249         case 'A': {
4250           p++;
4251           goto s_n_llhttp__internal__n_start_req_26;
4252         }
4253         case 'O': {
4254           p++;
4255           goto s_n_llhttp__internal__n_start_req_27;
4256         }
4257         case 'R': {
4258           p++;
4259           goto s_n_llhttp__internal__n_start_req_28;
4260         }
4261         case 'U': {
4262           p++;
4263           goto s_n_llhttp__internal__n_start_req_33;
4264         }
4265         default: {
4266           goto s_n_llhttp__internal__n_error_58;
4267         }
4268       }
4269       /* UNREACHABLE */;
4270       abort();
4271     }
4272     case s_n_llhttp__internal__n_start_req_37:
4273     s_n_llhttp__internal__n_start_req_37: {
4274       llparse_match_t match_seq;
4275 
4276       if (p == endp) {
4277         return s_n_llhttp__internal__n_start_req_37;
4278       }
4279       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob37, 3);
4280       p = match_seq.current;
4281       switch (match_seq.status) {
4282         case kMatchComplete: {
4283           p++;
4284           match = 17;
4285           goto s_n_llhttp__internal__n_invoke_store_method_1;
4286         }
4287         case kMatchPause: {
4288           return s_n_llhttp__internal__n_start_req_37;
4289         }
4290         case kMatchMismatch: {
4291           goto s_n_llhttp__internal__n_error_58;
4292         }
4293       }
4294       /* UNREACHABLE */;
4295       abort();
4296     }
4297     case s_n_llhttp__internal__n_start_req_38:
4298     s_n_llhttp__internal__n_start_req_38: {
4299       llparse_match_t match_seq;
4300 
4301       if (p == endp) {
4302         return s_n_llhttp__internal__n_start_req_38;
4303       }
4304       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob38, 3);
4305       p = match_seq.current;
4306       switch (match_seq.status) {
4307         case kMatchComplete: {
4308           p++;
4309           match = 20;
4310           goto s_n_llhttp__internal__n_invoke_store_method_1;
4311         }
4312         case kMatchPause: {
4313           return s_n_llhttp__internal__n_start_req_38;
4314         }
4315         case kMatchMismatch: {
4316           goto s_n_llhttp__internal__n_error_58;
4317         }
4318       }
4319       /* UNREACHABLE */;
4320       abort();
4321     }
4322     case s_n_llhttp__internal__n_start_req_36:
4323     s_n_llhttp__internal__n_start_req_36: {
4324       if (p == endp) {
4325         return s_n_llhttp__internal__n_start_req_36;
4326       }
4327       switch (*p) {
4328         case 'B': {
4329           p++;
4330           goto s_n_llhttp__internal__n_start_req_37;
4331         }
4332         case 'P': {
4333           p++;
4334           goto s_n_llhttp__internal__n_start_req_38;
4335         }
4336         default: {
4337           goto s_n_llhttp__internal__n_error_58;
4338         }
4339       }
4340       /* UNREACHABLE */;
4341       abort();
4342     }
4343     case s_n_llhttp__internal__n_start_req_35:
4344     s_n_llhttp__internal__n_start_req_35: {
4345       if (p == endp) {
4346         return s_n_llhttp__internal__n_start_req_35;
4347       }
4348       switch (*p) {
4349         case 'E': {
4350           p++;
4351           goto s_n_llhttp__internal__n_start_req_36;
4352         }
4353         default: {
4354           goto s_n_llhttp__internal__n_error_58;
4355         }
4356       }
4357       /* UNREACHABLE */;
4358       abort();
4359     }
4360     case s_n_llhttp__internal__n_start_req_40:
4361     s_n_llhttp__internal__n_start_req_40: {
4362       llparse_match_t match_seq;
4363 
4364       if (p == endp) {
4365         return s_n_llhttp__internal__n_start_req_40;
4366       }
4367       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob39, 4);
4368       p = match_seq.current;
4369       switch (match_seq.status) {
4370         case kMatchComplete: {
4371           p++;
4372           match = 14;
4373           goto s_n_llhttp__internal__n_invoke_store_method_1;
4374         }
4375         case kMatchPause: {
4376           return s_n_llhttp__internal__n_start_req_40;
4377         }
4378         case kMatchMismatch: {
4379           goto s_n_llhttp__internal__n_error_58;
4380         }
4381       }
4382       /* UNREACHABLE */;
4383       abort();
4384     }
4385     case s_n_llhttp__internal__n_start_req_41:
4386     s_n_llhttp__internal__n_start_req_41: {
4387       llparse_match_t match_seq;
4388 
4389       if (p == endp) {
4390         return s_n_llhttp__internal__n_start_req_41;
4391       }
4392       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob40, 4);
4393       p = match_seq.current;
4394       switch (match_seq.status) {
4395         case kMatchComplete: {
4396           p++;
4397           match = 33;
4398           goto s_n_llhttp__internal__n_invoke_store_method_1;
4399         }
4400         case kMatchPause: {
4401           return s_n_llhttp__internal__n_start_req_41;
4402         }
4403         case kMatchMismatch: {
4404           goto s_n_llhttp__internal__n_error_58;
4405         }
4406       }
4407       /* UNREACHABLE */;
4408       abort();
4409     }
4410     case s_n_llhttp__internal__n_start_req_42:
4411     s_n_llhttp__internal__n_start_req_42: {
4412       llparse_match_t match_seq;
4413 
4414       if (p == endp) {
4415         return s_n_llhttp__internal__n_start_req_42;
4416       }
4417       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob41, 7);
4418       p = match_seq.current;
4419       switch (match_seq.status) {
4420         case kMatchComplete: {
4421           p++;
4422           match = 26;
4423           goto s_n_llhttp__internal__n_invoke_store_method_1;
4424         }
4425         case kMatchPause: {
4426           return s_n_llhttp__internal__n_start_req_42;
4427         }
4428         case kMatchMismatch: {
4429           goto s_n_llhttp__internal__n_error_58;
4430         }
4431       }
4432       /* UNREACHABLE */;
4433       abort();
4434     }
4435     case s_n_llhttp__internal__n_start_req_39:
4436     s_n_llhttp__internal__n_start_req_39: {
4437       if (p == endp) {
4438         return s_n_llhttp__internal__n_start_req_39;
4439       }
4440       switch (*p) {
4441         case 'E': {
4442           p++;
4443           goto s_n_llhttp__internal__n_start_req_40;
4444         }
4445         case 'O': {
4446           p++;
4447           goto s_n_llhttp__internal__n_start_req_41;
4448         }
4449         case 'U': {
4450           p++;
4451           goto s_n_llhttp__internal__n_start_req_42;
4452         }
4453         default: {
4454           goto s_n_llhttp__internal__n_error_58;
4455         }
4456       }
4457       /* UNREACHABLE */;
4458       abort();
4459     }
4460     case s_n_llhttp__internal__n_start_req_43:
4461     s_n_llhttp__internal__n_start_req_43: {
4462       llparse_match_t match_seq;
4463 
4464       if (p == endp) {
4465         return s_n_llhttp__internal__n_start_req_43;
4466       }
4467       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob42, 4);
4468       p = match_seq.current;
4469       switch (match_seq.status) {
4470         case kMatchComplete: {
4471           p++;
4472           match = 7;
4473           goto s_n_llhttp__internal__n_invoke_store_method_1;
4474         }
4475         case kMatchPause: {
4476           return s_n_llhttp__internal__n_start_req_43;
4477         }
4478         case kMatchMismatch: {
4479           goto s_n_llhttp__internal__n_error_58;
4480         }
4481       }
4482       /* UNREACHABLE */;
4483       abort();
4484     }
4485     case s_n_llhttp__internal__n_start_req_46:
4486     s_n_llhttp__internal__n_start_req_46: {
4487       llparse_match_t match_seq;
4488 
4489       if (p == endp) {
4490         return s_n_llhttp__internal__n_start_req_46;
4491       }
4492       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob43, 3);
4493       p = match_seq.current;
4494       switch (match_seq.status) {
4495         case kMatchComplete: {
4496           p++;
4497           match = 18;
4498           goto s_n_llhttp__internal__n_invoke_store_method_1;
4499         }
4500         case kMatchPause: {
4501           return s_n_llhttp__internal__n_start_req_46;
4502         }
4503         case kMatchMismatch: {
4504           goto s_n_llhttp__internal__n_error_58;
4505         }
4506       }
4507       /* UNREACHABLE */;
4508       abort();
4509     }
4510     case s_n_llhttp__internal__n_start_req_48:
4511     s_n_llhttp__internal__n_start_req_48: {
4512       llparse_match_t match_seq;
4513 
4514       if (p == endp) {
4515         return s_n_llhttp__internal__n_start_req_48;
4516       }
4517       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob44, 2);
4518       p = match_seq.current;
4519       switch (match_seq.status) {
4520         case kMatchComplete: {
4521           p++;
4522           match = 32;
4523           goto s_n_llhttp__internal__n_invoke_store_method_1;
4524         }
4525         case kMatchPause: {
4526           return s_n_llhttp__internal__n_start_req_48;
4527         }
4528         case kMatchMismatch: {
4529           goto s_n_llhttp__internal__n_error_58;
4530         }
4531       }
4532       /* UNREACHABLE */;
4533       abort();
4534     }
4535     case s_n_llhttp__internal__n_start_req_49:
4536     s_n_llhttp__internal__n_start_req_49: {
4537       llparse_match_t match_seq;
4538 
4539       if (p == endp) {
4540         return s_n_llhttp__internal__n_start_req_49;
4541       }
4542       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob45, 2);
4543       p = match_seq.current;
4544       switch (match_seq.status) {
4545         case kMatchComplete: {
4546           p++;
4547           match = 15;
4548           goto s_n_llhttp__internal__n_invoke_store_method_1;
4549         }
4550         case kMatchPause: {
4551           return s_n_llhttp__internal__n_start_req_49;
4552         }
4553         case kMatchMismatch: {
4554           goto s_n_llhttp__internal__n_error_58;
4555         }
4556       }
4557       /* UNREACHABLE */;
4558       abort();
4559     }
4560     case s_n_llhttp__internal__n_start_req_47:
4561     s_n_llhttp__internal__n_start_req_47: {
4562       if (p == endp) {
4563         return s_n_llhttp__internal__n_start_req_47;
4564       }
4565       switch (*p) {
4566         case 'I': {
4567           p++;
4568           goto s_n_llhttp__internal__n_start_req_48;
4569         }
4570         case 'O': {
4571           p++;
4572           goto s_n_llhttp__internal__n_start_req_49;
4573         }
4574         default: {
4575           goto s_n_llhttp__internal__n_error_58;
4576         }
4577       }
4578       /* UNREACHABLE */;
4579       abort();
4580     }
4581     case s_n_llhttp__internal__n_start_req_50:
4582     s_n_llhttp__internal__n_start_req_50: {
4583       llparse_match_t match_seq;
4584 
4585       if (p == endp) {
4586         return s_n_llhttp__internal__n_start_req_50;
4587       }
4588       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob46, 8);
4589       p = match_seq.current;
4590       switch (match_seq.status) {
4591         case kMatchComplete: {
4592           p++;
4593           match = 27;
4594           goto s_n_llhttp__internal__n_invoke_store_method_1;
4595         }
4596         case kMatchPause: {
4597           return s_n_llhttp__internal__n_start_req_50;
4598         }
4599         case kMatchMismatch: {
4600           goto s_n_llhttp__internal__n_error_58;
4601         }
4602       }
4603       /* UNREACHABLE */;
4604       abort();
4605     }
4606     case s_n_llhttp__internal__n_start_req_45:
4607     s_n_llhttp__internal__n_start_req_45: {
4608       if (p == endp) {
4609         return s_n_llhttp__internal__n_start_req_45;
4610       }
4611       switch (*p) {
4612         case 'B': {
4613           p++;
4614           goto s_n_llhttp__internal__n_start_req_46;
4615         }
4616         case 'L': {
4617           p++;
4618           goto s_n_llhttp__internal__n_start_req_47;
4619         }
4620         case 'S': {
4621           p++;
4622           goto s_n_llhttp__internal__n_start_req_50;
4623         }
4624         default: {
4625           goto s_n_llhttp__internal__n_error_58;
4626         }
4627       }
4628       /* UNREACHABLE */;
4629       abort();
4630     }
4631     case s_n_llhttp__internal__n_start_req_44:
4632     s_n_llhttp__internal__n_start_req_44: {
4633       if (p == endp) {
4634         return s_n_llhttp__internal__n_start_req_44;
4635       }
4636       switch (*p) {
4637         case 'N': {
4638           p++;
4639           goto s_n_llhttp__internal__n_start_req_45;
4640         }
4641         default: {
4642           goto s_n_llhttp__internal__n_error_58;
4643         }
4644       }
4645       /* UNREACHABLE */;
4646       abort();
4647     }
4648     case s_n_llhttp__internal__n_start_req:
4649     s_n_llhttp__internal__n_start_req: {
4650       if (p == endp) {
4651         return s_n_llhttp__internal__n_start_req;
4652       }
4653       switch (*p) {
4654         case 'A': {
4655           p++;
4656           goto s_n_llhttp__internal__n_start_req_1;
4657         }
4658         case 'B': {
4659           p++;
4660           goto s_n_llhttp__internal__n_start_req_2;
4661         }
4662         case 'C': {
4663           p++;
4664           goto s_n_llhttp__internal__n_start_req_3;
4665         }
4666         case 'D': {
4667           p++;
4668           goto s_n_llhttp__internal__n_start_req_8;
4669         }
4670         case 'G': {
4671           p++;
4672           goto s_n_llhttp__internal__n_start_req_9;
4673         }
4674         case 'H': {
4675           p++;
4676           goto s_n_llhttp__internal__n_start_req_10;
4677         }
4678         case 'L': {
4679           p++;
4680           goto s_n_llhttp__internal__n_start_req_11;
4681         }
4682         case 'M': {
4683           p++;
4684           goto s_n_llhttp__internal__n_start_req_14;
4685         }
4686         case 'N': {
4687           p++;
4688           goto s_n_llhttp__internal__n_start_req_23;
4689         }
4690         case 'O': {
4691           p++;
4692           goto s_n_llhttp__internal__n_start_req_24;
4693         }
4694         case 'P': {
4695           p++;
4696           goto s_n_llhttp__internal__n_start_req_25;
4697         }
4698         case 'R': {
4699           p++;
4700           goto s_n_llhttp__internal__n_start_req_35;
4701         }
4702         case 'S': {
4703           p++;
4704           goto s_n_llhttp__internal__n_start_req_39;
4705         }
4706         case 'T': {
4707           p++;
4708           goto s_n_llhttp__internal__n_start_req_43;
4709         }
4710         case 'U': {
4711           p++;
4712           goto s_n_llhttp__internal__n_start_req_44;
4713         }
4714         default: {
4715           goto s_n_llhttp__internal__n_error_58;
4716         }
4717       }
4718       /* UNREACHABLE */;
4719       abort();
4720     }
4721     case s_n_llhttp__internal__n_res_line_almost_done:
4722     s_n_llhttp__internal__n_res_line_almost_done: {
4723       if (p == endp) {
4724         return s_n_llhttp__internal__n_res_line_almost_done;
4725       }
4726       switch (*p) {
4727         case 10: {
4728           p++;
4729           goto s_n_llhttp__internal__n_header_field_start;
4730         }
4731         default: {
4732           goto s_n_llhttp__internal__n_error_51;
4733         }
4734       }
4735       /* UNREACHABLE */;
4736       abort();
4737     }
4738     case s_n_llhttp__internal__n_res_status:
4739     s_n_llhttp__internal__n_res_status: {
4740       if (p == endp) {
4741         return s_n_llhttp__internal__n_res_status;
4742       }
4743       switch (*p) {
4744         case 10: {
4745           goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
4746         }
4747         case 13: {
4748           goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
4749         }
4750         default: {
4751           p++;
4752           goto s_n_llhttp__internal__n_res_status;
4753         }
4754       }
4755       /* UNREACHABLE */;
4756       abort();
4757     }
4758     case s_n_llhttp__internal__n_span_start_llhttp__on_status:
4759     s_n_llhttp__internal__n_span_start_llhttp__on_status: {
4760       if (p == endp) {
4761         return s_n_llhttp__internal__n_span_start_llhttp__on_status;
4762       }
4763       state->_span_pos0 = (void*) p;
4764       state->_span_cb0 = llhttp__on_status;
4765       goto s_n_llhttp__internal__n_res_status;
4766       /* UNREACHABLE */;
4767       abort();
4768     }
4769     case s_n_llhttp__internal__n_res_status_start:
4770     s_n_llhttp__internal__n_res_status_start: {
4771       if (p == endp) {
4772         return s_n_llhttp__internal__n_res_status_start;
4773       }
4774       switch (*p) {
4775         case 10: {
4776           p++;
4777           goto s_n_llhttp__internal__n_header_field_start;
4778         }
4779         case 13: {
4780           p++;
4781           goto s_n_llhttp__internal__n_res_line_almost_done;
4782         }
4783         default: {
4784           goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
4785         }
4786       }
4787       /* UNREACHABLE */;
4788       abort();
4789     }
4790     case s_n_llhttp__internal__n_res_status_code_otherwise:
4791     s_n_llhttp__internal__n_res_status_code_otherwise: {
4792       if (p == endp) {
4793         return s_n_llhttp__internal__n_res_status_code_otherwise;
4794       }
4795       switch (*p) {
4796         case 10: {
4797           goto s_n_llhttp__internal__n_res_status_start;
4798         }
4799         case 13: {
4800           goto s_n_llhttp__internal__n_res_status_start;
4801         }
4802         case ' ': {
4803           p++;
4804           goto s_n_llhttp__internal__n_res_status_start;
4805         }
4806         default: {
4807           goto s_n_llhttp__internal__n_error_52;
4808         }
4809       }
4810       /* UNREACHABLE */;
4811       abort();
4812     }
4813     case s_n_llhttp__internal__n_res_status_code:
4814     s_n_llhttp__internal__n_res_status_code: {
4815       if (p == endp) {
4816         return s_n_llhttp__internal__n_res_status_code;
4817       }
4818       switch (*p) {
4819         case '0': {
4820           p++;
4821           match = 0;
4822           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4823         }
4824         case '1': {
4825           p++;
4826           match = 1;
4827           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4828         }
4829         case '2': {
4830           p++;
4831           match = 2;
4832           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4833         }
4834         case '3': {
4835           p++;
4836           match = 3;
4837           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4838         }
4839         case '4': {
4840           p++;
4841           match = 4;
4842           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4843         }
4844         case '5': {
4845           p++;
4846           match = 5;
4847           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4848         }
4849         case '6': {
4850           p++;
4851           match = 6;
4852           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4853         }
4854         case '7': {
4855           p++;
4856           match = 7;
4857           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4858         }
4859         case '8': {
4860           p++;
4861           match = 8;
4862           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4863         }
4864         case '9': {
4865           p++;
4866           match = 9;
4867           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4868         }
4869         default: {
4870           goto s_n_llhttp__internal__n_res_status_code_otherwise;
4871         }
4872       }
4873       /* UNREACHABLE */;
4874       abort();
4875     }
4876     case s_n_llhttp__internal__n_res_http_end:
4877     s_n_llhttp__internal__n_res_http_end: {
4878       if (p == endp) {
4879         return s_n_llhttp__internal__n_res_http_end;
4880       }
4881       switch (*p) {
4882         case ' ': {
4883           p++;
4884           goto s_n_llhttp__internal__n_invoke_update_status_code;
4885         }
4886         default: {
4887           goto s_n_llhttp__internal__n_error_53;
4888         }
4889       }
4890       /* UNREACHABLE */;
4891       abort();
4892     }
4893     case s_n_llhttp__internal__n_res_http_minor:
4894     s_n_llhttp__internal__n_res_http_minor: {
4895       if (p == endp) {
4896         return s_n_llhttp__internal__n_res_http_minor;
4897       }
4898       switch (*p) {
4899         case '0': {
4900           p++;
4901           match = 0;
4902           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4903         }
4904         case '1': {
4905           p++;
4906           match = 1;
4907           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4908         }
4909         case '2': {
4910           p++;
4911           match = 2;
4912           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4913         }
4914         case '3': {
4915           p++;
4916           match = 3;
4917           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4918         }
4919         case '4': {
4920           p++;
4921           match = 4;
4922           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4923         }
4924         case '5': {
4925           p++;
4926           match = 5;
4927           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4928         }
4929         case '6': {
4930           p++;
4931           match = 6;
4932           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4933         }
4934         case '7': {
4935           p++;
4936           match = 7;
4937           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4938         }
4939         case '8': {
4940           p++;
4941           match = 8;
4942           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4943         }
4944         case '9': {
4945           p++;
4946           match = 9;
4947           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4948         }
4949         default: {
4950           goto s_n_llhttp__internal__n_error_54;
4951         }
4952       }
4953       /* UNREACHABLE */;
4954       abort();
4955     }
4956     case s_n_llhttp__internal__n_res_http_dot:
4957     s_n_llhttp__internal__n_res_http_dot: {
4958       if (p == endp) {
4959         return s_n_llhttp__internal__n_res_http_dot;
4960       }
4961       switch (*p) {
4962         case '.': {
4963           p++;
4964           goto s_n_llhttp__internal__n_res_http_minor;
4965         }
4966         default: {
4967           goto s_n_llhttp__internal__n_error_55;
4968         }
4969       }
4970       /* UNREACHABLE */;
4971       abort();
4972     }
4973     case s_n_llhttp__internal__n_res_http_major:
4974     s_n_llhttp__internal__n_res_http_major: {
4975       if (p == endp) {
4976         return s_n_llhttp__internal__n_res_http_major;
4977       }
4978       switch (*p) {
4979         case '0': {
4980           p++;
4981           match = 0;
4982           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4983         }
4984         case '1': {
4985           p++;
4986           match = 1;
4987           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4988         }
4989         case '2': {
4990           p++;
4991           match = 2;
4992           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4993         }
4994         case '3': {
4995           p++;
4996           match = 3;
4997           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4998         }
4999         case '4': {
5000           p++;
5001           match = 4;
5002           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5003         }
5004         case '5': {
5005           p++;
5006           match = 5;
5007           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5008         }
5009         case '6': {
5010           p++;
5011           match = 6;
5012           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5013         }
5014         case '7': {
5015           p++;
5016           match = 7;
5017           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5018         }
5019         case '8': {
5020           p++;
5021           match = 8;
5022           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5023         }
5024         case '9': {
5025           p++;
5026           match = 9;
5027           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
5028         }
5029         default: {
5030           goto s_n_llhttp__internal__n_error_56;
5031         }
5032       }
5033       /* UNREACHABLE */;
5034       abort();
5035     }
5036     case s_n_llhttp__internal__n_start_res:
5037     s_n_llhttp__internal__n_start_res: {
5038       llparse_match_t match_seq;
5039 
5040       if (p == endp) {
5041         return s_n_llhttp__internal__n_start_res;
5042       }
5043       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob47, 5);
5044       p = match_seq.current;
5045       switch (match_seq.status) {
5046         case kMatchComplete: {
5047           p++;
5048           goto s_n_llhttp__internal__n_res_http_major;
5049         }
5050         case kMatchPause: {
5051           return s_n_llhttp__internal__n_start_res;
5052         }
5053         case kMatchMismatch: {
5054           goto s_n_llhttp__internal__n_error_59;
5055         }
5056       }
5057       /* UNREACHABLE */;
5058       abort();
5059     }
5060     case s_n_llhttp__internal__n_req_or_res_method_2:
5061     s_n_llhttp__internal__n_req_or_res_method_2: {
5062       llparse_match_t match_seq;
5063 
5064       if (p == endp) {
5065         return s_n_llhttp__internal__n_req_or_res_method_2;
5066       }
5067       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob48, 2);
5068       p = match_seq.current;
5069       switch (match_seq.status) {
5070         case kMatchComplete: {
5071           p++;
5072           match = 2;
5073           goto s_n_llhttp__internal__n_invoke_store_method;
5074         }
5075         case kMatchPause: {
5076           return s_n_llhttp__internal__n_req_or_res_method_2;
5077         }
5078         case kMatchMismatch: {
5079           goto s_n_llhttp__internal__n_error_57;
5080         }
5081       }
5082       /* UNREACHABLE */;
5083       abort();
5084     }
5085     case s_n_llhttp__internal__n_req_or_res_method_3:
5086     s_n_llhttp__internal__n_req_or_res_method_3: {
5087       llparse_match_t match_seq;
5088 
5089       if (p == endp) {
5090         return s_n_llhttp__internal__n_req_or_res_method_3;
5091       }
5092       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob49, 3);
5093       p = match_seq.current;
5094       switch (match_seq.status) {
5095         case kMatchComplete: {
5096           p++;
5097           goto s_n_llhttp__internal__n_invoke_update_type_1;
5098         }
5099         case kMatchPause: {
5100           return s_n_llhttp__internal__n_req_or_res_method_3;
5101         }
5102         case kMatchMismatch: {
5103           goto s_n_llhttp__internal__n_error_57;
5104         }
5105       }
5106       /* UNREACHABLE */;
5107       abort();
5108     }
5109     case s_n_llhttp__internal__n_req_or_res_method_1:
5110     s_n_llhttp__internal__n_req_or_res_method_1: {
5111       if (p == endp) {
5112         return s_n_llhttp__internal__n_req_or_res_method_1;
5113       }
5114       switch (*p) {
5115         case 'E': {
5116           p++;
5117           goto s_n_llhttp__internal__n_req_or_res_method_2;
5118         }
5119         case 'T': {
5120           p++;
5121           goto s_n_llhttp__internal__n_req_or_res_method_3;
5122         }
5123         default: {
5124           goto s_n_llhttp__internal__n_error_57;
5125         }
5126       }
5127       /* UNREACHABLE */;
5128       abort();
5129     }
5130     case s_n_llhttp__internal__n_req_or_res_method:
5131     s_n_llhttp__internal__n_req_or_res_method: {
5132       if (p == endp) {
5133         return s_n_llhttp__internal__n_req_or_res_method;
5134       }
5135       switch (*p) {
5136         case 'H': {
5137           p++;
5138           goto s_n_llhttp__internal__n_req_or_res_method_1;
5139         }
5140         default: {
5141           goto s_n_llhttp__internal__n_error_57;
5142         }
5143       }
5144       /* UNREACHABLE */;
5145       abort();
5146     }
5147     case s_n_llhttp__internal__n_start_req_or_res:
5148     s_n_llhttp__internal__n_start_req_or_res: {
5149       if (p == endp) {
5150         return s_n_llhttp__internal__n_start_req_or_res;
5151       }
5152       switch (*p) {
5153         case 'H': {
5154           goto s_n_llhttp__internal__n_req_or_res_method;
5155         }
5156         default: {
5157           goto s_n_llhttp__internal__n_invoke_update_type_2;
5158         }
5159       }
5160       /* UNREACHABLE */;
5161       abort();
5162     }
5163     case s_n_llhttp__internal__n_invoke_load_type:
5164     s_n_llhttp__internal__n_invoke_load_type: {
5165       switch (llhttp__internal__c_load_type(state, p, endp)) {
5166         case 1:
5167           goto s_n_llhttp__internal__n_start_req;
5168         case 2:
5169           goto s_n_llhttp__internal__n_start_res;
5170         default:
5171           goto s_n_llhttp__internal__n_start_req_or_res;
5172       }
5173       /* UNREACHABLE */;
5174       abort();
5175     }
5176     case s_n_llhttp__internal__n_start:
5177     s_n_llhttp__internal__n_start: {
5178       if (p == endp) {
5179         return s_n_llhttp__internal__n_start;
5180       }
5181       switch (*p) {
5182         case 10: {
5183           p++;
5184           goto s_n_llhttp__internal__n_start;
5185         }
5186         case 13: {
5187           p++;
5188           goto s_n_llhttp__internal__n_start;
5189         }
5190         default: {
5191           goto s_n_llhttp__internal__n_invoke_update_finish;
5192         }
5193       }
5194       /* UNREACHABLE */;
5195       abort();
5196     }
5197     default:
5198       /* UNREACHABLE */
5199       abort();
5200   }
5201   s_n_llhttp__internal__n_error_1: {
5202     state->error = 0x7;
5203     state->reason = "Invalid characters in url (strict mode)";
5204     state->error_pos = (const char*) p;
5205     state->_current = (void*) (intptr_t) s_error;
5206     return s_error;
5207     /* UNREACHABLE */;
5208     abort();
5209   }
5210   s_n_llhttp__internal__n_error_45: {
5211     state->error = 0x7;
5212     state->reason = "Invalid characters in url";
5213     state->error_pos = (const char*) p;
5214     state->_current = (void*) (intptr_t) s_error;
5215     return s_error;
5216     /* UNREACHABLE */;
5217     abort();
5218   }
5219   s_n_llhttp__internal__n_invoke_update_finish_2: {
5220     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
5221       default:
5222         goto s_n_llhttp__internal__n_start;
5223     }
5224     /* UNREACHABLE */;
5225     abort();
5226   }
5227   s_n_llhttp__internal__n_error_4: {
5228     state->error = 0x5;
5229     state->reason = "Data after `Connection: close`";
5230     state->error_pos = (const char*) p;
5231     state->_current = (void*) (intptr_t) s_error;
5232     return s_error;
5233     /* UNREACHABLE */;
5234     abort();
5235   }
5236   s_n_llhttp__internal__n_invoke_update_finish_1: {
5237     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
5238       default:
5239         goto s_n_llhttp__internal__n_closed;
5240     }
5241     /* UNREACHABLE */;
5242     abort();
5243   }
5244   s_n_llhttp__internal__n_pause_5: {
5245     state->error = 0x15;
5246     state->reason = "on_message_complete pause";
5247     state->error_pos = (const char*) p;
5248     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
5249     return s_error;
5250     /* UNREACHABLE */;
5251     abort();
5252   }
5253   s_n_llhttp__internal__n_error_14: {
5254     state->error = 0x12;
5255     state->reason = "`on_message_complete` callback error";
5256     state->error_pos = (const char*) p;
5257     state->_current = (void*) (intptr_t) s_error;
5258     return s_error;
5259     /* UNREACHABLE */;
5260     abort();
5261   }
5262   s_n_llhttp__internal__n_pause_7: {
5263     state->error = 0x15;
5264     state->reason = "on_chunk_complete pause";
5265     state->error_pos = (const char*) p;
5266     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5267     return s_error;
5268     /* UNREACHABLE */;
5269     abort();
5270   }
5271   s_n_llhttp__internal__n_error_18: {
5272     state->error = 0x14;
5273     state->reason = "`on_chunk_complete` callback error";
5274     state->error_pos = (const char*) p;
5275     state->_current = (void*) (intptr_t) s_error;
5276     return s_error;
5277     /* UNREACHABLE */;
5278     abort();
5279   }
5280   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
5281     switch (llhttp__on_chunk_complete(state, p, endp)) {
5282       case 0:
5283         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5284       case 21:
5285         goto s_n_llhttp__internal__n_pause_7;
5286       default:
5287         goto s_n_llhttp__internal__n_error_18;
5288     }
5289     /* UNREACHABLE */;
5290     abort();
5291   }
5292   s_n_llhttp__internal__n_error_16: {
5293     state->error = 0x4;
5294     state->reason = "Content-Length can't be present with Transfer-Encoding";
5295     state->error_pos = (const char*) p;
5296     state->_current = (void*) (intptr_t) s_error;
5297     return s_error;
5298     /* UNREACHABLE */;
5299     abort();
5300   }
5301   s_n_llhttp__internal__n_error_17: {
5302     state->error = 0x4;
5303     state->reason = "Content-Length can't be present with chunked encoding";
5304     state->error_pos = (const char*) p;
5305     state->_current = (void*) (intptr_t) s_error;
5306     return s_error;
5307     /* UNREACHABLE */;
5308     abort();
5309   }
5310   s_n_llhttp__internal__n_pause_2: {
5311     state->error = 0x15;
5312     state->reason = "on_message_complete pause";
5313     state->error_pos = (const char*) p;
5314     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
5315     return s_error;
5316     /* UNREACHABLE */;
5317     abort();
5318   }
5319   s_n_llhttp__internal__n_error_5: {
5320     state->error = 0x12;
5321     state->reason = "`on_message_complete` callback error";
5322     state->error_pos = (const char*) p;
5323     state->_current = (void*) (intptr_t) s_error;
5324     return s_error;
5325     /* UNREACHABLE */;
5326     abort();
5327   }
5328   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
5329     switch (llhttp__on_message_complete(state, p, endp)) {
5330       case 0:
5331         goto s_n_llhttp__internal__n_pause_1;
5332       case 21:
5333         goto s_n_llhttp__internal__n_pause_2;
5334       default:
5335         goto s_n_llhttp__internal__n_error_5;
5336     }
5337     /* UNREACHABLE */;
5338     abort();
5339   }
5340   s_n_llhttp__internal__n_error_12: {
5341     state->error = 0xc;
5342     state->reason = "Chunk size overflow";
5343     state->error_pos = (const char*) p;
5344     state->_current = (void*) (intptr_t) s_error;
5345     return s_error;
5346     /* UNREACHABLE */;
5347     abort();
5348   }
5349   s_n_llhttp__internal__n_pause_3: {
5350     state->error = 0x15;
5351     state->reason = "on_chunk_complete pause";
5352     state->error_pos = (const char*) p;
5353     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length;
5354     return s_error;
5355     /* UNREACHABLE */;
5356     abort();
5357   }
5358   s_n_llhttp__internal__n_error_7: {
5359     state->error = 0x14;
5360     state->reason = "`on_chunk_complete` callback error";
5361     state->error_pos = (const char*) p;
5362     state->_current = (void*) (intptr_t) s_error;
5363     return s_error;
5364     /* UNREACHABLE */;
5365     abort();
5366   }
5367   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
5368     switch (llhttp__on_chunk_complete(state, p, endp)) {
5369       case 0:
5370         goto s_n_llhttp__internal__n_invoke_update_content_length;
5371       case 21:
5372         goto s_n_llhttp__internal__n_pause_3;
5373       default:
5374         goto s_n_llhttp__internal__n_error_7;
5375     }
5376     /* UNREACHABLE */;
5377     abort();
5378   }
5379   s_n_llhttp__internal__n_error_8: {
5380     state->error = 0x2;
5381     state->reason = "Expected CRLF after chunk";
5382     state->error_pos = (const char*) p;
5383     state->_current = (void*) (intptr_t) s_error;
5384     return s_error;
5385     /* UNREACHABLE */;
5386     abort();
5387   }
5388   s_n_llhttp__internal__n_span_end_llhttp__on_body: {
5389     const unsigned char* start;
5390     int err;
5391 
5392     start = state->_span_pos0;
5393     state->_span_pos0 = NULL;
5394     err = llhttp__on_body(state, start, p);
5395     if (err != 0) {
5396       state->error = err;
5397       state->error_pos = (const char*) p;
5398       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_data_almost_done;
5399       return s_error;
5400     }
5401     goto s_n_llhttp__internal__n_chunk_data_almost_done;
5402     /* UNREACHABLE */;
5403     abort();
5404   }
5405   s_n_llhttp__internal__n_invoke_or_flags: {
5406     switch (llhttp__internal__c_or_flags(state, p, endp)) {
5407       default:
5408         goto s_n_llhttp__internal__n_header_field_start;
5409     }
5410     /* UNREACHABLE */;
5411     abort();
5412   }
5413   s_n_llhttp__internal__n_pause_4: {
5414     state->error = 0x15;
5415     state->reason = "on_chunk_header pause";
5416     state->error_pos = (const char*) p;
5417     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
5418     return s_error;
5419     /* UNREACHABLE */;
5420     abort();
5421   }
5422   s_n_llhttp__internal__n_error_6: {
5423     state->error = 0x13;
5424     state->reason = "`on_chunk_header` callback error";
5425     state->error_pos = (const char*) p;
5426     state->_current = (void*) (intptr_t) s_error;
5427     return s_error;
5428     /* UNREACHABLE */;
5429     abort();
5430   }
5431   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
5432     switch (llhttp__on_chunk_header(state, p, endp)) {
5433       case 0:
5434         goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
5435       case 21:
5436         goto s_n_llhttp__internal__n_pause_4;
5437       default:
5438         goto s_n_llhttp__internal__n_error_6;
5439     }
5440     /* UNREACHABLE */;
5441     abort();
5442   }
5443   s_n_llhttp__internal__n_error_9: {
5444     state->error = 0x2;
5445     state->reason = "Expected LF after chunk size";
5446     state->error_pos = (const char*) p;
5447     state->_current = (void*) (intptr_t) s_error;
5448     return s_error;
5449     /* UNREACHABLE */;
5450     abort();
5451   }
5452   s_n_llhttp__internal__n_error_10: {
5453     state->error = 0x2;
5454     state->reason = "Invalid character in chunk parameters";
5455     state->error_pos = (const char*) p;
5456     state->_current = (void*) (intptr_t) s_error;
5457     return s_error;
5458     /* UNREACHABLE */;
5459     abort();
5460   }
5461   s_n_llhttp__internal__n_error_11: {
5462     state->error = 0xc;
5463     state->reason = "Invalid character in chunk size";
5464     state->error_pos = (const char*) p;
5465     state->_current = (void*) (intptr_t) s_error;
5466     return s_error;
5467     /* UNREACHABLE */;
5468     abort();
5469   }
5470   s_n_llhttp__internal__n_invoke_mul_add_content_length: {
5471     switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
5472       case 1:
5473         goto s_n_llhttp__internal__n_error_12;
5474       default:
5475         goto s_n_llhttp__internal__n_chunk_size;
5476     }
5477     /* UNREACHABLE */;
5478     abort();
5479   }
5480   s_n_llhttp__internal__n_error_13: {
5481     state->error = 0xc;
5482     state->reason = "Invalid character in chunk size";
5483     state->error_pos = (const char*) p;
5484     state->_current = (void*) (intptr_t) s_error;
5485     return s_error;
5486     /* UNREACHABLE */;
5487     abort();
5488   }
5489   s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
5490     const unsigned char* start;
5491     int err;
5492 
5493     start = state->_span_pos0;
5494     state->_span_pos0 = NULL;
5495     err = llhttp__on_body(state, start, p);
5496     if (err != 0) {
5497       state->error = err;
5498       state->error_pos = (const char*) p;
5499       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5500       return s_error;
5501     }
5502     goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5503     /* UNREACHABLE */;
5504     abort();
5505   }
5506   s_n_llhttp__internal__n_invoke_update_finish_3: {
5507     switch (llhttp__internal__c_update_finish_3(state, p, endp)) {
5508       default:
5509         goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
5510     }
5511     /* UNREACHABLE */;
5512     abort();
5513   }
5514   s_n_llhttp__internal__n_error_15: {
5515     state->error = 0xf;
5516     state->reason = "Request has invalid `Transfer-Encoding`";
5517     state->error_pos = (const char*) p;
5518     state->_current = (void*) (intptr_t) s_error;
5519     return s_error;
5520     /* UNREACHABLE */;
5521     abort();
5522   }
5523   s_n_llhttp__internal__n_pause: {
5524     state->error = 0x15;
5525     state->reason = "on_message_complete pause";
5526     state->error_pos = (const char*) p;
5527     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5528     return s_error;
5529     /* UNREACHABLE */;
5530     abort();
5531   }
5532   s_n_llhttp__internal__n_error_3: {
5533     state->error = 0x12;
5534     state->reason = "`on_message_complete` callback error";
5535     state->error_pos = (const char*) p;
5536     state->_current = (void*) (intptr_t) s_error;
5537     return s_error;
5538     /* UNREACHABLE */;
5539     abort();
5540   }
5541   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
5542     switch (llhttp__on_message_complete(state, p, endp)) {
5543       case 0:
5544         goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5545       case 21:
5546         goto s_n_llhttp__internal__n_pause;
5547       default:
5548         goto s_n_llhttp__internal__n_error_3;
5549     }
5550     /* UNREACHABLE */;
5551     abort();
5552   }
5553   s_n_llhttp__internal__n_invoke_or_flags_1: {
5554     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5555       default:
5556         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5557     }
5558     /* UNREACHABLE */;
5559     abort();
5560   }
5561   s_n_llhttp__internal__n_invoke_or_flags_2: {
5562     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5563       default:
5564         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5565     }
5566     /* UNREACHABLE */;
5567     abort();
5568   }
5569   s_n_llhttp__internal__n_invoke_update_upgrade: {
5570     switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
5571       default:
5572         goto s_n_llhttp__internal__n_invoke_or_flags_2;
5573     }
5574     /* UNREACHABLE */;
5575     abort();
5576   }
5577   s_n_llhttp__internal__n_pause_6: {
5578     state->error = 0x15;
5579     state->reason = "Paused by on_headers_complete";
5580     state->error_pos = (const char*) p;
5581     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5582     return s_error;
5583     /* UNREACHABLE */;
5584     abort();
5585   }
5586   s_n_llhttp__internal__n_error_2: {
5587     state->error = 0x11;
5588     state->reason = "User callback error";
5589     state->error_pos = (const char*) p;
5590     state->_current = (void*) (intptr_t) s_error;
5591     return s_error;
5592     /* UNREACHABLE */;
5593     abort();
5594   }
5595   s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
5596     switch (llhttp__on_headers_complete(state, p, endp)) {
5597       case 0:
5598         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5599       case 1:
5600         goto s_n_llhttp__internal__n_invoke_or_flags_1;
5601       case 2:
5602         goto s_n_llhttp__internal__n_invoke_update_upgrade;
5603       case 21:
5604         goto s_n_llhttp__internal__n_pause_6;
5605       default:
5606         goto s_n_llhttp__internal__n_error_2;
5607     }
5608     /* UNREACHABLE */;
5609     abort();
5610   }
5611   s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
5612     switch (llhttp__before_headers_complete(state, p, endp)) {
5613       default:
5614         goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
5615     }
5616     /* UNREACHABLE */;
5617     abort();
5618   }
5619   s_n_llhttp__internal__n_invoke_test_flags_3: {
5620     switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
5621       case 1:
5622         goto s_n_llhttp__internal__n_error_17;
5623       default:
5624         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5625     }
5626     /* UNREACHABLE */;
5627     abort();
5628   }
5629   s_n_llhttp__internal__n_invoke_test_flags_2: {
5630     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5631       case 0:
5632         goto s_n_llhttp__internal__n_error_16;
5633       case 1:
5634         goto s_n_llhttp__internal__n_invoke_test_flags_3;
5635       default:
5636         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5637     }
5638     /* UNREACHABLE */;
5639     abort();
5640   }
5641   s_n_llhttp__internal__n_invoke_test_flags_1: {
5642     switch (llhttp__internal__c_test_flags_1(state, p, endp)) {
5643       case 1:
5644         goto s_n_llhttp__internal__n_invoke_test_flags_2;
5645       default:
5646         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5647     }
5648     /* UNREACHABLE */;
5649     abort();
5650   }
5651   s_n_llhttp__internal__n_invoke_test_flags: {
5652     switch (llhttp__internal__c_test_flags(state, p, endp)) {
5653       case 1:
5654         goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
5655       default:
5656         goto s_n_llhttp__internal__n_invoke_test_flags_1;
5657     }
5658     /* UNREACHABLE */;
5659     abort();
5660   }
5661   s_n_llhttp__internal__n_error_19: {
5662     state->error = 0x2;
5663     state->reason = "Expected LF after headers";
5664     state->error_pos = (const char*) p;
5665     state->_current = (void*) (intptr_t) s_error;
5666     return s_error;
5667     /* UNREACHABLE */;
5668     abort();
5669   }
5670   s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
5671     const unsigned char* start;
5672     int err;
5673 
5674     start = state->_span_pos0;
5675     state->_span_pos0 = NULL;
5676     err = llhttp__on_header_field(state, start, p);
5677     if (err != 0) {
5678       state->error = err;
5679       state->error_pos = (const char*) (p + 1);
5680       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_20;
5681       return s_error;
5682     }
5683     p++;
5684     goto s_n_llhttp__internal__n_error_20;
5685     /* UNREACHABLE */;
5686     abort();
5687   }
5688   s_n_llhttp__internal__n_invoke_test_flags_4: {
5689     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5690       case 1:
5691         goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
5692       default:
5693         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
5694     }
5695     /* UNREACHABLE */;
5696     abort();
5697   }
5698   s_n_llhttp__internal__n_error_22: {
5699     state->error = 0xb;
5700     state->reason = "Empty Content-Length";
5701     state->error_pos = (const char*) p;
5702     state->_current = (void*) (intptr_t) s_error;
5703     return s_error;
5704     /* UNREACHABLE */;
5705     abort();
5706   }
5707   s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
5708     const unsigned char* start;
5709     int err;
5710 
5711     start = state->_span_pos0;
5712     state->_span_pos0 = NULL;
5713     err = llhttp__on_header_value(state, start, p);
5714     if (err != 0) {
5715       state->error = err;
5716       state->error_pos = (const char*) p;
5717       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
5718       return s_error;
5719     }
5720     goto s_n_llhttp__internal__n_header_field_start;
5721     /* UNREACHABLE */;
5722     abort();
5723   }
5724   s_n_llhttp__internal__n_invoke_update_header_state: {
5725     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5726       default:
5727         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5728     }
5729     /* UNREACHABLE */;
5730     abort();
5731   }
5732   s_n_llhttp__internal__n_invoke_or_flags_3: {
5733     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5734       default:
5735         goto s_n_llhttp__internal__n_invoke_update_header_state;
5736     }
5737     /* UNREACHABLE */;
5738     abort();
5739   }
5740   s_n_llhttp__internal__n_invoke_or_flags_4: {
5741     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5742       default:
5743         goto s_n_llhttp__internal__n_invoke_update_header_state;
5744     }
5745     /* UNREACHABLE */;
5746     abort();
5747   }
5748   s_n_llhttp__internal__n_invoke_or_flags_5: {
5749     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5750       default:
5751         goto s_n_llhttp__internal__n_invoke_update_header_state;
5752     }
5753     /* UNREACHABLE */;
5754     abort();
5755   }
5756   s_n_llhttp__internal__n_invoke_or_flags_6: {
5757     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5758       default:
5759         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5760     }
5761     /* UNREACHABLE */;
5762     abort();
5763   }
5764   s_n_llhttp__internal__n_invoke_load_header_state_1: {
5765     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5766       case 5:
5767         goto s_n_llhttp__internal__n_invoke_or_flags_3;
5768       case 6:
5769         goto s_n_llhttp__internal__n_invoke_or_flags_4;
5770       case 7:
5771         goto s_n_llhttp__internal__n_invoke_or_flags_5;
5772       case 8:
5773         goto s_n_llhttp__internal__n_invoke_or_flags_6;
5774       default:
5775         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5776     }
5777     /* UNREACHABLE */;
5778     abort();
5779   }
5780   s_n_llhttp__internal__n_invoke_load_header_state: {
5781     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5782       case 2:
5783         goto s_n_llhttp__internal__n_error_22;
5784       default:
5785         goto s_n_llhttp__internal__n_invoke_load_header_state_1;
5786     }
5787     /* UNREACHABLE */;
5788     abort();
5789   }
5790   s_n_llhttp__internal__n_error_21: {
5791     state->error = 0xa;
5792     state->reason = "Invalid header value char";
5793     state->error_pos = (const char*) p;
5794     state->_current = (void*) (intptr_t) s_error;
5795     return s_error;
5796     /* UNREACHABLE */;
5797     abort();
5798   }
5799   s_n_llhttp__internal__n_invoke_test_flags_5: {
5800     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5801       case 1:
5802         goto s_n_llhttp__internal__n_header_value_discard_lws;
5803       default:
5804         goto s_n_llhttp__internal__n_error_21;
5805     }
5806     /* UNREACHABLE */;
5807     abort();
5808   }
5809   s_n_llhttp__internal__n_error_23: {
5810     state->error = 0x2;
5811     state->reason = "Expected LF after CR";
5812     state->error_pos = (const char*) p;
5813     state->_current = (void*) (intptr_t) s_error;
5814     return s_error;
5815     /* UNREACHABLE */;
5816     abort();
5817   }
5818   s_n_llhttp__internal__n_invoke_update_header_state_1: {
5819     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
5820       default:
5821         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
5822     }
5823     /* UNREACHABLE */;
5824     abort();
5825   }
5826   s_n_llhttp__internal__n_invoke_load_header_state_3: {
5827     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5828       case 8:
5829         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5830       default:
5831         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
5832     }
5833     /* UNREACHABLE */;
5834     abort();
5835   }
5836   s_n_llhttp__internal__n_invoke_update_header_state_2: {
5837     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5838       default:
5839         goto s_n_llhttp__internal__n_header_field_start;
5840     }
5841     /* UNREACHABLE */;
5842     abort();
5843   }
5844   s_n_llhttp__internal__n_invoke_or_flags_7: {
5845     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5846       default:
5847         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
5848     }
5849     /* UNREACHABLE */;
5850     abort();
5851   }
5852   s_n_llhttp__internal__n_invoke_or_flags_8: {
5853     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5854       default:
5855         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
5856     }
5857     /* UNREACHABLE */;
5858     abort();
5859   }
5860   s_n_llhttp__internal__n_invoke_or_flags_9: {
5861     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5862       default:
5863         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
5864     }
5865     /* UNREACHABLE */;
5866     abort();
5867   }
5868   s_n_llhttp__internal__n_invoke_or_flags_10: {
5869     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5870       default:
5871         goto s_n_llhttp__internal__n_header_field_start;
5872     }
5873     /* UNREACHABLE */;
5874     abort();
5875   }
5876   s_n_llhttp__internal__n_invoke_load_header_state_4: {
5877     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5878       case 5:
5879         goto s_n_llhttp__internal__n_invoke_or_flags_7;
5880       case 6:
5881         goto s_n_llhttp__internal__n_invoke_or_flags_8;
5882       case 7:
5883         goto s_n_llhttp__internal__n_invoke_or_flags_9;
5884       case 8:
5885         goto s_n_llhttp__internal__n_invoke_or_flags_10;
5886       default:
5887         goto s_n_llhttp__internal__n_header_field_start;
5888     }
5889     /* UNREACHABLE */;
5890     abort();
5891   }
5892   s_n_llhttp__internal__n_error_24: {
5893     state->error = 0x3;
5894     state->reason = "Missing expected LF after header value";
5895     state->error_pos = (const char*) p;
5896     state->_current = (void*) (intptr_t) s_error;
5897     return s_error;
5898     /* UNREACHABLE */;
5899     abort();
5900   }
5901   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
5902     const unsigned char* start;
5903     int err;
5904 
5905     start = state->_span_pos0;
5906     state->_span_pos0 = NULL;
5907     err = llhttp__on_header_value(state, start, p);
5908     if (err != 0) {
5909       state->error = err;
5910       state->error_pos = (const char*) (p + 1);
5911       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5912       return s_error;
5913     }
5914     p++;
5915     goto s_n_llhttp__internal__n_header_value_almost_done;
5916     /* UNREACHABLE */;
5917     abort();
5918   }
5919   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
5920     const unsigned char* start;
5921     int err;
5922 
5923     start = state->_span_pos0;
5924     state->_span_pos0 = NULL;
5925     err = llhttp__on_header_value(state, start, p);
5926     if (err != 0) {
5927       state->error = err;
5928       state->error_pos = (const char*) p;
5929       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5930       return s_error;
5931     }
5932     goto s_n_llhttp__internal__n_header_value_almost_done;
5933     /* UNREACHABLE */;
5934     abort();
5935   }
5936   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
5937     const unsigned char* start;
5938     int err;
5939 
5940     start = state->_span_pos0;
5941     state->_span_pos0 = NULL;
5942     err = llhttp__on_header_value(state, start, p);
5943     if (err != 0) {
5944       state->error = err;
5945       state->error_pos = (const char*) (p + 1);
5946       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5947       return s_error;
5948     }
5949     p++;
5950     goto s_n_llhttp__internal__n_header_value_almost_done;
5951     /* UNREACHABLE */;
5952     abort();
5953   }
5954   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
5955     const unsigned char* start;
5956     int err;
5957 
5958     start = state->_span_pos0;
5959     state->_span_pos0 = NULL;
5960     err = llhttp__on_header_value(state, start, p);
5961     if (err != 0) {
5962       state->error = err;
5963       state->error_pos = (const char*) p;
5964       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_25;
5965       return s_error;
5966     }
5967     goto s_n_llhttp__internal__n_error_25;
5968     /* UNREACHABLE */;
5969     abort();
5970   }
5971   s_n_llhttp__internal__n_invoke_test_flags_6: {
5972     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5973       case 1:
5974         goto s_n_llhttp__internal__n_header_value_lenient;
5975       default:
5976         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
5977     }
5978     /* UNREACHABLE */;
5979     abort();
5980   }
5981   s_n_llhttp__internal__n_invoke_update_header_state_4: {
5982     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5983       default:
5984         goto s_n_llhttp__internal__n_header_value_connection;
5985     }
5986     /* UNREACHABLE */;
5987     abort();
5988   }
5989   s_n_llhttp__internal__n_invoke_or_flags_11: {
5990     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5991       default:
5992         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
5993     }
5994     /* UNREACHABLE */;
5995     abort();
5996   }
5997   s_n_llhttp__internal__n_invoke_or_flags_12: {
5998     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5999       default:
6000         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
6001     }
6002     /* UNREACHABLE */;
6003     abort();
6004   }
6005   s_n_llhttp__internal__n_invoke_or_flags_13: {
6006     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
6007       default:
6008         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
6009     }
6010     /* UNREACHABLE */;
6011     abort();
6012   }
6013   s_n_llhttp__internal__n_invoke_or_flags_14: {
6014     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
6015       default:
6016         goto s_n_llhttp__internal__n_header_value_connection;
6017     }
6018     /* UNREACHABLE */;
6019     abort();
6020   }
6021   s_n_llhttp__internal__n_invoke_load_header_state_5: {
6022     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
6023       case 5:
6024         goto s_n_llhttp__internal__n_invoke_or_flags_11;
6025       case 6:
6026         goto s_n_llhttp__internal__n_invoke_or_flags_12;
6027       case 7:
6028         goto s_n_llhttp__internal__n_invoke_or_flags_13;
6029       case 8:
6030         goto s_n_llhttp__internal__n_invoke_or_flags_14;
6031       default:
6032         goto s_n_llhttp__internal__n_header_value_connection;
6033     }
6034     /* UNREACHABLE */;
6035     abort();
6036   }
6037   s_n_llhttp__internal__n_invoke_update_header_state_5: {
6038     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
6039       default:
6040         goto s_n_llhttp__internal__n_header_value_connection_token;
6041     }
6042     /* UNREACHABLE */;
6043     abort();
6044   }
6045   s_n_llhttp__internal__n_invoke_update_header_state_3: {
6046     switch (llhttp__internal__c_update_header_state_3(state, p, endp)) {
6047       default:
6048         goto s_n_llhttp__internal__n_header_value_connection_ws;
6049     }
6050     /* UNREACHABLE */;
6051     abort();
6052   }
6053   s_n_llhttp__internal__n_invoke_update_header_state_6: {
6054     switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
6055       default:
6056         goto s_n_llhttp__internal__n_header_value_connection_ws;
6057     }
6058     /* UNREACHABLE */;
6059     abort();
6060   }
6061   s_n_llhttp__internal__n_invoke_update_header_state_7: {
6062     switch (llhttp__internal__c_update_header_state_7(state, p, endp)) {
6063       default:
6064         goto s_n_llhttp__internal__n_header_value_connection_ws;
6065     }
6066     /* UNREACHABLE */;
6067     abort();
6068   }
6069   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
6070     const unsigned char* start;
6071     int err;
6072 
6073     start = state->_span_pos0;
6074     state->_span_pos0 = NULL;
6075     err = llhttp__on_header_value(state, start, p);
6076     if (err != 0) {
6077       state->error = err;
6078       state->error_pos = (const char*) p;
6079       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_27;
6080       return s_error;
6081     }
6082     goto s_n_llhttp__internal__n_error_27;
6083     /* UNREACHABLE */;
6084     abort();
6085   }
6086   s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
6087     switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
6088       case 1:
6089         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
6090       default:
6091         goto s_n_llhttp__internal__n_header_value_content_length;
6092     }
6093     /* UNREACHABLE */;
6094     abort();
6095   }
6096   s_n_llhttp__internal__n_invoke_or_flags_15: {
6097     switch (llhttp__internal__c_or_flags_15(state, p, endp)) {
6098       default:
6099         goto s_n_llhttp__internal__n_header_value_otherwise;
6100     }
6101     /* UNREACHABLE */;
6102     abort();
6103   }
6104   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6: {
6105     const unsigned char* start;
6106     int err;
6107 
6108     start = state->_span_pos0;
6109     state->_span_pos0 = NULL;
6110     err = llhttp__on_header_value(state, start, p);
6111     if (err != 0) {
6112       state->error = err;
6113       state->error_pos = (const char*) p;
6114       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_28;
6115       return s_error;
6116     }
6117     goto s_n_llhttp__internal__n_error_28;
6118     /* UNREACHABLE */;
6119     abort();
6120   }
6121   s_n_llhttp__internal__n_error_26: {
6122     state->error = 0x4;
6123     state->reason = "Duplicate Content-Length";
6124     state->error_pos = (const char*) p;
6125     state->_current = (void*) (intptr_t) s_error;
6126     return s_error;
6127     /* UNREACHABLE */;
6128     abort();
6129   }
6130   s_n_llhttp__internal__n_invoke_test_flags_7: {
6131     switch (llhttp__internal__c_test_flags_7(state, p, endp)) {
6132       case 0:
6133         goto s_n_llhttp__internal__n_header_value_content_length;
6134       default:
6135         goto s_n_llhttp__internal__n_error_26;
6136     }
6137     /* UNREACHABLE */;
6138     abort();
6139   }
6140   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8: {
6141     const unsigned char* start;
6142     int err;
6143 
6144     start = state->_span_pos0;
6145     state->_span_pos0 = NULL;
6146     err = llhttp__on_header_value(state, start, p);
6147     if (err != 0) {
6148       state->error = err;
6149       state->error_pos = (const char*) (p + 1);
6150       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_30;
6151       return s_error;
6152     }
6153     p++;
6154     goto s_n_llhttp__internal__n_error_30;
6155     /* UNREACHABLE */;
6156     abort();
6157   }
6158   s_n_llhttp__internal__n_invoke_update_header_state_8: {
6159     switch (llhttp__internal__c_update_header_state_8(state, p, endp)) {
6160       default:
6161         goto s_n_llhttp__internal__n_header_value_otherwise;
6162     }
6163     /* UNREACHABLE */;
6164     abort();
6165   }
6166   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7: {
6167     const unsigned char* start;
6168     int err;
6169 
6170     start = state->_span_pos0;
6171     state->_span_pos0 = NULL;
6172     err = llhttp__on_header_value(state, start, p);
6173     if (err != 0) {
6174       state->error = err;
6175       state->error_pos = (const char*) (p + 1);
6176       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_29;
6177       return s_error;
6178     }
6179     p++;
6180     goto s_n_llhttp__internal__n_error_29;
6181     /* UNREACHABLE */;
6182     abort();
6183   }
6184   s_n_llhttp__internal__n_invoke_test_flags_9: {
6185     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
6186       case 0:
6187         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7;
6188       default:
6189         goto s_n_llhttp__internal__n_header_value_te_chunked;
6190     }
6191     /* UNREACHABLE */;
6192     abort();
6193   }
6194   s_n_llhttp__internal__n_invoke_load_type_1: {
6195     switch (llhttp__internal__c_load_type(state, p, endp)) {
6196       case 1:
6197         goto s_n_llhttp__internal__n_invoke_test_flags_9;
6198       default:
6199         goto s_n_llhttp__internal__n_header_value_te_chunked;
6200     }
6201     /* UNREACHABLE */;
6202     abort();
6203   }
6204   s_n_llhttp__internal__n_invoke_update_header_state_9: {
6205     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
6206       default:
6207         goto s_n_llhttp__internal__n_header_value;
6208     }
6209     /* UNREACHABLE */;
6210     abort();
6211   }
6212   s_n_llhttp__internal__n_invoke_and_flags: {
6213     switch (llhttp__internal__c_and_flags(state, p, endp)) {
6214       default:
6215         goto s_n_llhttp__internal__n_header_value_te_chunked;
6216     }
6217     /* UNREACHABLE */;
6218     abort();
6219   }
6220   s_n_llhttp__internal__n_invoke_or_flags_17: {
6221     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
6222       default:
6223         goto s_n_llhttp__internal__n_invoke_and_flags;
6224     }
6225     /* UNREACHABLE */;
6226     abort();
6227   }
6228   s_n_llhttp__internal__n_invoke_test_flags_10: {
6229     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
6230       case 0:
6231         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8;
6232       default:
6233         goto s_n_llhttp__internal__n_invoke_or_flags_17;
6234     }
6235     /* UNREACHABLE */;
6236     abort();
6237   }
6238   s_n_llhttp__internal__n_invoke_load_type_2: {
6239     switch (llhttp__internal__c_load_type(state, p, endp)) {
6240       case 1:
6241         goto s_n_llhttp__internal__n_invoke_test_flags_10;
6242       default:
6243         goto s_n_llhttp__internal__n_invoke_or_flags_17;
6244     }
6245     /* UNREACHABLE */;
6246     abort();
6247   }
6248   s_n_llhttp__internal__n_invoke_or_flags_16: {
6249     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
6250       default:
6251         goto s_n_llhttp__internal__n_invoke_and_flags;
6252     }
6253     /* UNREACHABLE */;
6254     abort();
6255   }
6256   s_n_llhttp__internal__n_invoke_test_flags_8: {
6257     switch (llhttp__internal__c_test_flags_8(state, p, endp)) {
6258       case 1:
6259         goto s_n_llhttp__internal__n_invoke_load_type_2;
6260       default:
6261         goto s_n_llhttp__internal__n_invoke_or_flags_16;
6262     }
6263     /* UNREACHABLE */;
6264     abort();
6265   }
6266   s_n_llhttp__internal__n_invoke_or_flags_18: {
6267     switch (llhttp__internal__c_or_flags_18(state, p, endp)) {
6268       default:
6269         goto s_n_llhttp__internal__n_invoke_update_header_state_9;
6270     }
6271     /* UNREACHABLE */;
6272     abort();
6273   }
6274   s_n_llhttp__internal__n_invoke_load_header_state_2: {
6275     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
6276       case 1:
6277         goto s_n_llhttp__internal__n_header_value_connection;
6278       case 2:
6279         goto s_n_llhttp__internal__n_invoke_test_flags_7;
6280       case 3:
6281         goto s_n_llhttp__internal__n_invoke_test_flags_8;
6282       case 4:
6283         goto s_n_llhttp__internal__n_invoke_or_flags_18;
6284       default:
6285         goto s_n_llhttp__internal__n_header_value;
6286     }
6287     /* UNREACHABLE */;
6288     abort();
6289   }
6290   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
6291     const unsigned char* start;
6292     int err;
6293 
6294     start = state->_span_pos0;
6295     state->_span_pos0 = NULL;
6296     err = llhttp__on_header_field(state, start, p);
6297     if (err != 0) {
6298       state->error = err;
6299       state->error_pos = (const char*) (p + 1);
6300       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
6301       return s_error;
6302     }
6303     p++;
6304     goto s_n_llhttp__internal__n_header_value_discard_ws;
6305     /* UNREACHABLE */;
6306     abort();
6307   }
6308   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: {
6309     const unsigned char* start;
6310     int err;
6311 
6312     start = state->_span_pos0;
6313     state->_span_pos0 = NULL;
6314     err = llhttp__on_header_field(state, start, p);
6315     if (err != 0) {
6316       state->error = err;
6317       state->error_pos = (const char*) (p + 1);
6318       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
6319       return s_error;
6320     }
6321     p++;
6322     goto s_n_llhttp__internal__n_header_value_discard_ws;
6323     /* UNREACHABLE */;
6324     abort();
6325   }
6326   s_n_llhttp__internal__n_error_31: {
6327     state->error = 0xa;
6328     state->reason = "Invalid header token";
6329     state->error_pos = (const char*) p;
6330     state->_current = (void*) (intptr_t) s_error;
6331     return s_error;
6332     /* UNREACHABLE */;
6333     abort();
6334   }
6335   s_n_llhttp__internal__n_invoke_update_header_state_10: {
6336     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
6337       default:
6338         goto s_n_llhttp__internal__n_header_field_general;
6339     }
6340     /* UNREACHABLE */;
6341     abort();
6342   }
6343   s_n_llhttp__internal__n_invoke_store_header_state: {
6344     switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
6345       default:
6346         goto s_n_llhttp__internal__n_header_field_colon;
6347     }
6348     /* UNREACHABLE */;
6349     abort();
6350   }
6351   s_n_llhttp__internal__n_invoke_update_header_state_11: {
6352     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
6353       default:
6354         goto s_n_llhttp__internal__n_header_field_general;
6355     }
6356     /* UNREACHABLE */;
6357     abort();
6358   }
6359   s_n_llhttp__internal__n_invoke_update_http_minor: {
6360     switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
6361       default:
6362         goto s_n_llhttp__internal__n_header_field_start;
6363     }
6364     /* UNREACHABLE */;
6365     abort();
6366   }
6367   s_n_llhttp__internal__n_invoke_update_http_major: {
6368     switch (llhttp__internal__c_update_http_major(state, p, endp)) {
6369       default:
6370         goto s_n_llhttp__internal__n_invoke_update_http_minor;
6371     }
6372     /* UNREACHABLE */;
6373     abort();
6374   }
6375   s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
6376     const unsigned char* start;
6377     int err;
6378 
6379     start = state->_span_pos0;
6380     state->_span_pos0 = NULL;
6381     err = llhttp__on_url(state, start, p);
6382     if (err != 0) {
6383       state->error = err;
6384       state->error_pos = (const char*) p;
6385       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6386       return s_error;
6387     }
6388     goto s_n_llhttp__internal__n_url_skip_to_http09;
6389     /* UNREACHABLE */;
6390     abort();
6391   }
6392   s_n_llhttp__internal__n_error_32: {
6393     state->error = 0x7;
6394     state->reason = "Expected CRLF";
6395     state->error_pos = (const char*) p;
6396     state->_current = (void*) (intptr_t) s_error;
6397     return s_error;
6398     /* UNREACHABLE */;
6399     abort();
6400   }
6401   s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
6402     const unsigned char* start;
6403     int err;
6404 
6405     start = state->_span_pos0;
6406     state->_span_pos0 = NULL;
6407     err = llhttp__on_url(state, start, p);
6408     if (err != 0) {
6409       state->error = err;
6410       state->error_pos = (const char*) p;
6411       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6412       return s_error;
6413     }
6414     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6415     /* UNREACHABLE */;
6416     abort();
6417   }
6418   s_n_llhttp__internal__n_error_33: {
6419     state->error = 0x9;
6420     state->reason = "Expected CRLF after version";
6421     state->error_pos = (const char*) p;
6422     state->_current = (void*) (intptr_t) s_error;
6423     return s_error;
6424     /* UNREACHABLE */;
6425     abort();
6426   }
6427   s_n_llhttp__internal__n_invoke_store_http_minor: {
6428     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
6429       default:
6430         goto s_n_llhttp__internal__n_req_http_end;
6431     }
6432     /* UNREACHABLE */;
6433     abort();
6434   }
6435   s_n_llhttp__internal__n_error_34: {
6436     state->error = 0x9;
6437     state->reason = "Invalid minor version";
6438     state->error_pos = (const char*) p;
6439     state->_current = (void*) (intptr_t) s_error;
6440     return s_error;
6441     /* UNREACHABLE */;
6442     abort();
6443   }
6444   s_n_llhttp__internal__n_error_35: {
6445     state->error = 0x9;
6446     state->reason = "Expected dot";
6447     state->error_pos = (const char*) p;
6448     state->_current = (void*) (intptr_t) s_error;
6449     return s_error;
6450     /* UNREACHABLE */;
6451     abort();
6452   }
6453   s_n_llhttp__internal__n_invoke_store_http_major: {
6454     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
6455       default:
6456         goto s_n_llhttp__internal__n_req_http_dot;
6457     }
6458     /* UNREACHABLE */;
6459     abort();
6460   }
6461   s_n_llhttp__internal__n_error_36: {
6462     state->error = 0x9;
6463     state->reason = "Invalid major version";
6464     state->error_pos = (const char*) p;
6465     state->_current = (void*) (intptr_t) s_error;
6466     return s_error;
6467     /* UNREACHABLE */;
6468     abort();
6469   }
6470   s_n_llhttp__internal__n_error_38: {
6471     state->error = 0x8;
6472     state->reason = "Expected HTTP/";
6473     state->error_pos = (const char*) p;
6474     state->_current = (void*) (intptr_t) s_error;
6475     return s_error;
6476     /* UNREACHABLE */;
6477     abort();
6478   }
6479   s_n_llhttp__internal__n_error_37: {
6480     state->error = 0x8;
6481     state->reason = "Expected SOURCE method for ICE/x.x request";
6482     state->error_pos = (const char*) p;
6483     state->_current = (void*) (intptr_t) s_error;
6484     return s_error;
6485     /* UNREACHABLE */;
6486     abort();
6487   }
6488   s_n_llhttp__internal__n_invoke_is_equal_method_1: {
6489     switch (llhttp__internal__c_is_equal_method_1(state, p, endp)) {
6490       case 0:
6491         goto s_n_llhttp__internal__n_error_37;
6492       default:
6493         goto s_n_llhttp__internal__n_req_http_major;
6494     }
6495     /* UNREACHABLE */;
6496     abort();
6497   }
6498   s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
6499     const unsigned char* start;
6500     int err;
6501 
6502     start = state->_span_pos0;
6503     state->_span_pos0 = NULL;
6504     err = llhttp__on_url(state, start, p);
6505     if (err != 0) {
6506       state->error = err;
6507       state->error_pos = (const char*) p;
6508       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6509       return s_error;
6510     }
6511     goto s_n_llhttp__internal__n_url_skip_to_http;
6512     /* UNREACHABLE */;
6513     abort();
6514   }
6515   s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
6516     const unsigned char* start;
6517     int err;
6518 
6519     start = state->_span_pos0;
6520     state->_span_pos0 = NULL;
6521     err = llhttp__on_url(state, start, p);
6522     if (err != 0) {
6523       state->error = err;
6524       state->error_pos = (const char*) p;
6525       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6526       return s_error;
6527     }
6528     goto s_n_llhttp__internal__n_url_skip_to_http09;
6529     /* UNREACHABLE */;
6530     abort();
6531   }
6532   s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
6533     const unsigned char* start;
6534     int err;
6535 
6536     start = state->_span_pos0;
6537     state->_span_pos0 = NULL;
6538     err = llhttp__on_url(state, start, p);
6539     if (err != 0) {
6540       state->error = err;
6541       state->error_pos = (const char*) p;
6542       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6543       return s_error;
6544     }
6545     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6546     /* UNREACHABLE */;
6547     abort();
6548   }
6549   s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
6550     const unsigned char* start;
6551     int err;
6552 
6553     start = state->_span_pos0;
6554     state->_span_pos0 = NULL;
6555     err = llhttp__on_url(state, start, p);
6556     if (err != 0) {
6557       state->error = err;
6558       state->error_pos = (const char*) p;
6559       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6560       return s_error;
6561     }
6562     goto s_n_llhttp__internal__n_url_skip_to_http;
6563     /* UNREACHABLE */;
6564     abort();
6565   }
6566   s_n_llhttp__internal__n_error_39: {
6567     state->error = 0x7;
6568     state->reason = "Invalid char in url fragment start";
6569     state->error_pos = (const char*) p;
6570     state->_current = (void*) (intptr_t) s_error;
6571     return s_error;
6572     /* UNREACHABLE */;
6573     abort();
6574   }
6575   s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
6576     const unsigned char* start;
6577     int err;
6578 
6579     start = state->_span_pos0;
6580     state->_span_pos0 = NULL;
6581     err = llhttp__on_url(state, start, p);
6582     if (err != 0) {
6583       state->error = err;
6584       state->error_pos = (const char*) p;
6585       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6586       return s_error;
6587     }
6588     goto s_n_llhttp__internal__n_url_skip_to_http09;
6589     /* UNREACHABLE */;
6590     abort();
6591   }
6592   s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
6593     const unsigned char* start;
6594     int err;
6595 
6596     start = state->_span_pos0;
6597     state->_span_pos0 = NULL;
6598     err = llhttp__on_url(state, start, p);
6599     if (err != 0) {
6600       state->error = err;
6601       state->error_pos = (const char*) p;
6602       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6603       return s_error;
6604     }
6605     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6606     /* UNREACHABLE */;
6607     abort();
6608   }
6609   s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
6610     const unsigned char* start;
6611     int err;
6612 
6613     start = state->_span_pos0;
6614     state->_span_pos0 = NULL;
6615     err = llhttp__on_url(state, start, p);
6616     if (err != 0) {
6617       state->error = err;
6618       state->error_pos = (const char*) p;
6619       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6620       return s_error;
6621     }
6622     goto s_n_llhttp__internal__n_url_skip_to_http;
6623     /* UNREACHABLE */;
6624     abort();
6625   }
6626   s_n_llhttp__internal__n_error_40: {
6627     state->error = 0x7;
6628     state->reason = "Invalid char in url query";
6629     state->error_pos = (const char*) p;
6630     state->_current = (void*) (intptr_t) s_error;
6631     return s_error;
6632     /* UNREACHABLE */;
6633     abort();
6634   }
6635   s_n_llhttp__internal__n_error_41: {
6636     state->error = 0x7;
6637     state->reason = "Invalid char in url path";
6638     state->error_pos = (const char*) p;
6639     state->_current = (void*) (intptr_t) s_error;
6640     return s_error;
6641     /* UNREACHABLE */;
6642     abort();
6643   }
6644   s_n_llhttp__internal__n_span_end_llhttp__on_url: {
6645     const unsigned char* start;
6646     int err;
6647 
6648     start = state->_span_pos0;
6649     state->_span_pos0 = NULL;
6650     err = llhttp__on_url(state, start, p);
6651     if (err != 0) {
6652       state->error = err;
6653       state->error_pos = (const char*) p;
6654       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6655       return s_error;
6656     }
6657     goto s_n_llhttp__internal__n_url_skip_to_http09;
6658     /* UNREACHABLE */;
6659     abort();
6660   }
6661   s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
6662     const unsigned char* start;
6663     int err;
6664 
6665     start = state->_span_pos0;
6666     state->_span_pos0 = NULL;
6667     err = llhttp__on_url(state, start, p);
6668     if (err != 0) {
6669       state->error = err;
6670       state->error_pos = (const char*) p;
6671       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6672       return s_error;
6673     }
6674     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6675     /* UNREACHABLE */;
6676     abort();
6677   }
6678   s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
6679     const unsigned char* start;
6680     int err;
6681 
6682     start = state->_span_pos0;
6683     state->_span_pos0 = NULL;
6684     err = llhttp__on_url(state, start, p);
6685     if (err != 0) {
6686       state->error = err;
6687       state->error_pos = (const char*) p;
6688       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6689       return s_error;
6690     }
6691     goto s_n_llhttp__internal__n_url_skip_to_http;
6692     /* UNREACHABLE */;
6693     abort();
6694   }
6695   s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
6696     const unsigned char* start;
6697     int err;
6698 
6699     start = state->_span_pos0;
6700     state->_span_pos0 = NULL;
6701     err = llhttp__on_url(state, start, p);
6702     if (err != 0) {
6703       state->error = err;
6704       state->error_pos = (const char*) p;
6705       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6706       return s_error;
6707     }
6708     goto s_n_llhttp__internal__n_url_skip_to_http09;
6709     /* UNREACHABLE */;
6710     abort();
6711   }
6712   s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
6713     const unsigned char* start;
6714     int err;
6715 
6716     start = state->_span_pos0;
6717     state->_span_pos0 = NULL;
6718     err = llhttp__on_url(state, start, p);
6719     if (err != 0) {
6720       state->error = err;
6721       state->error_pos = (const char*) p;
6722       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6723       return s_error;
6724     }
6725     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6726     /* UNREACHABLE */;
6727     abort();
6728   }
6729   s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
6730     const unsigned char* start;
6731     int err;
6732 
6733     start = state->_span_pos0;
6734     state->_span_pos0 = NULL;
6735     err = llhttp__on_url(state, start, p);
6736     if (err != 0) {
6737       state->error = err;
6738       state->error_pos = (const char*) p;
6739       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6740       return s_error;
6741     }
6742     goto s_n_llhttp__internal__n_url_skip_to_http;
6743     /* UNREACHABLE */;
6744     abort();
6745   }
6746   s_n_llhttp__internal__n_error_42: {
6747     state->error = 0x7;
6748     state->reason = "Double @ in url";
6749     state->error_pos = (const char*) p;
6750     state->_current = (void*) (intptr_t) s_error;
6751     return s_error;
6752     /* UNREACHABLE */;
6753     abort();
6754   }
6755   s_n_llhttp__internal__n_error_43: {
6756     state->error = 0x7;
6757     state->reason = "Unexpected char in url server";
6758     state->error_pos = (const char*) p;
6759     state->_current = (void*) (intptr_t) s_error;
6760     return s_error;
6761     /* UNREACHABLE */;
6762     abort();
6763   }
6764   s_n_llhttp__internal__n_error_44: {
6765     state->error = 0x7;
6766     state->reason = "Unexpected char in url server";
6767     state->error_pos = (const char*) p;
6768     state->_current = (void*) (intptr_t) s_error;
6769     return s_error;
6770     /* UNREACHABLE */;
6771     abort();
6772   }
6773   s_n_llhttp__internal__n_error_46: {
6774     state->error = 0x7;
6775     state->reason = "Unexpected char in url schema";
6776     state->error_pos = (const char*) p;
6777     state->_current = (void*) (intptr_t) s_error;
6778     return s_error;
6779     /* UNREACHABLE */;
6780     abort();
6781   }
6782   s_n_llhttp__internal__n_error_47: {
6783     state->error = 0x7;
6784     state->reason = "Unexpected char in url schema";
6785     state->error_pos = (const char*) p;
6786     state->_current = (void*) (intptr_t) s_error;
6787     return s_error;
6788     /* UNREACHABLE */;
6789     abort();
6790   }
6791   s_n_llhttp__internal__n_error_48: {
6792     state->error = 0x7;
6793     state->reason = "Unexpected start char in url";
6794     state->error_pos = (const char*) p;
6795     state->_current = (void*) (intptr_t) s_error;
6796     return s_error;
6797     /* UNREACHABLE */;
6798     abort();
6799   }
6800   s_n_llhttp__internal__n_invoke_is_equal_method: {
6801     switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
6802       case 0:
6803         goto s_n_llhttp__internal__n_url_entry_normal;
6804       default:
6805         goto s_n_llhttp__internal__n_url_entry_connect;
6806     }
6807     /* UNREACHABLE */;
6808     abort();
6809   }
6810   s_n_llhttp__internal__n_error_49: {
6811     state->error = 0x6;
6812     state->reason = "Expected space after method";
6813     state->error_pos = (const char*) p;
6814     state->_current = (void*) (intptr_t) s_error;
6815     return s_error;
6816     /* UNREACHABLE */;
6817     abort();
6818   }
6819   s_n_llhttp__internal__n_invoke_store_method_1: {
6820     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6821       default:
6822         goto s_n_llhttp__internal__n_req_first_space_before_url;
6823     }
6824     /* UNREACHABLE */;
6825     abort();
6826   }
6827   s_n_llhttp__internal__n_error_58: {
6828     state->error = 0x6;
6829     state->reason = "Invalid method encountered";
6830     state->error_pos = (const char*) p;
6831     state->_current = (void*) (intptr_t) s_error;
6832     return s_error;
6833     /* UNREACHABLE */;
6834     abort();
6835   }
6836   s_n_llhttp__internal__n_error_50: {
6837     state->error = 0xd;
6838     state->reason = "Response overflow";
6839     state->error_pos = (const char*) p;
6840     state->_current = (void*) (intptr_t) s_error;
6841     return s_error;
6842     /* UNREACHABLE */;
6843     abort();
6844   }
6845   s_n_llhttp__internal__n_invoke_mul_add_status_code: {
6846     switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
6847       case 1:
6848         goto s_n_llhttp__internal__n_error_50;
6849       default:
6850         goto s_n_llhttp__internal__n_res_status_code;
6851     }
6852     /* UNREACHABLE */;
6853     abort();
6854   }
6855   s_n_llhttp__internal__n_error_51: {
6856     state->error = 0x2;
6857     state->reason = "Expected LF after CR";
6858     state->error_pos = (const char*) p;
6859     state->_current = (void*) (intptr_t) s_error;
6860     return s_error;
6861     /* UNREACHABLE */;
6862     abort();
6863   }
6864   s_n_llhttp__internal__n_span_end_llhttp__on_status: {
6865     const unsigned char* start;
6866     int err;
6867 
6868     start = state->_span_pos0;
6869     state->_span_pos0 = NULL;
6870     err = llhttp__on_status(state, start, p);
6871     if (err != 0) {
6872       state->error = err;
6873       state->error_pos = (const char*) (p + 1);
6874       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
6875       return s_error;
6876     }
6877     p++;
6878     goto s_n_llhttp__internal__n_header_field_start;
6879     /* UNREACHABLE */;
6880     abort();
6881   }
6882   s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
6883     const unsigned char* start;
6884     int err;
6885 
6886     start = state->_span_pos0;
6887     state->_span_pos0 = NULL;
6888     err = llhttp__on_status(state, start, p);
6889     if (err != 0) {
6890       state->error = err;
6891       state->error_pos = (const char*) (p + 1);
6892       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_line_almost_done;
6893       return s_error;
6894     }
6895     p++;
6896     goto s_n_llhttp__internal__n_res_line_almost_done;
6897     /* UNREACHABLE */;
6898     abort();
6899   }
6900   s_n_llhttp__internal__n_error_52: {
6901     state->error = 0xd;
6902     state->reason = "Invalid response status";
6903     state->error_pos = (const char*) p;
6904     state->_current = (void*) (intptr_t) s_error;
6905     return s_error;
6906     /* UNREACHABLE */;
6907     abort();
6908   }
6909   s_n_llhttp__internal__n_invoke_update_status_code: {
6910     switch (llhttp__internal__c_update_status_code(state, p, endp)) {
6911       default:
6912         goto s_n_llhttp__internal__n_res_status_code;
6913     }
6914     /* UNREACHABLE */;
6915     abort();
6916   }
6917   s_n_llhttp__internal__n_error_53: {
6918     state->error = 0x9;
6919     state->reason = "Expected space after version";
6920     state->error_pos = (const char*) p;
6921     state->_current = (void*) (intptr_t) s_error;
6922     return s_error;
6923     /* UNREACHABLE */;
6924     abort();
6925   }
6926   s_n_llhttp__internal__n_invoke_store_http_minor_1: {
6927     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
6928       default:
6929         goto s_n_llhttp__internal__n_res_http_end;
6930     }
6931     /* UNREACHABLE */;
6932     abort();
6933   }
6934   s_n_llhttp__internal__n_error_54: {
6935     state->error = 0x9;
6936     state->reason = "Invalid minor version";
6937     state->error_pos = (const char*) p;
6938     state->_current = (void*) (intptr_t) s_error;
6939     return s_error;
6940     /* UNREACHABLE */;
6941     abort();
6942   }
6943   s_n_llhttp__internal__n_error_55: {
6944     state->error = 0x9;
6945     state->reason = "Expected dot";
6946     state->error_pos = (const char*) p;
6947     state->_current = (void*) (intptr_t) s_error;
6948     return s_error;
6949     /* UNREACHABLE */;
6950     abort();
6951   }
6952   s_n_llhttp__internal__n_invoke_store_http_major_1: {
6953     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
6954       default:
6955         goto s_n_llhttp__internal__n_res_http_dot;
6956     }
6957     /* UNREACHABLE */;
6958     abort();
6959   }
6960   s_n_llhttp__internal__n_error_56: {
6961     state->error = 0x9;
6962     state->reason = "Invalid major version";
6963     state->error_pos = (const char*) p;
6964     state->_current = (void*) (intptr_t) s_error;
6965     return s_error;
6966     /* UNREACHABLE */;
6967     abort();
6968   }
6969   s_n_llhttp__internal__n_error_59: {
6970     state->error = 0x8;
6971     state->reason = "Expected HTTP/";
6972     state->error_pos = (const char*) p;
6973     state->_current = (void*) (intptr_t) s_error;
6974     return s_error;
6975     /* UNREACHABLE */;
6976     abort();
6977   }
6978   s_n_llhttp__internal__n_invoke_update_type: {
6979     switch (llhttp__internal__c_update_type(state, p, endp)) {
6980       default:
6981         goto s_n_llhttp__internal__n_req_first_space_before_url;
6982     }
6983     /* UNREACHABLE */;
6984     abort();
6985   }
6986   s_n_llhttp__internal__n_invoke_store_method: {
6987     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6988       default:
6989         goto s_n_llhttp__internal__n_invoke_update_type;
6990     }
6991     /* UNREACHABLE */;
6992     abort();
6993   }
6994   s_n_llhttp__internal__n_error_57: {
6995     state->error = 0x8;
6996     state->reason = "Invalid word encountered";
6997     state->error_pos = (const char*) p;
6998     state->_current = (void*) (intptr_t) s_error;
6999     return s_error;
7000     /* UNREACHABLE */;
7001     abort();
7002   }
7003   s_n_llhttp__internal__n_invoke_update_type_1: {
7004     switch (llhttp__internal__c_update_type_1(state, p, endp)) {
7005       default:
7006         goto s_n_llhttp__internal__n_res_http_major;
7007     }
7008     /* UNREACHABLE */;
7009     abort();
7010   }
7011   s_n_llhttp__internal__n_invoke_update_type_2: {
7012     switch (llhttp__internal__c_update_type(state, p, endp)) {
7013       default:
7014         goto s_n_llhttp__internal__n_start_req;
7015     }
7016     /* UNREACHABLE */;
7017     abort();
7018   }
7019   s_n_llhttp__internal__n_pause_8: {
7020     state->error = 0x15;
7021     state->reason = "on_message_begin pause";
7022     state->error_pos = (const char*) p;
7023     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
7024     return s_error;
7025     /* UNREACHABLE */;
7026     abort();
7027   }
7028   s_n_llhttp__internal__n_error: {
7029     state->error = 0x10;
7030     state->reason = "`on_message_begin` callback error";
7031     state->error_pos = (const char*) p;
7032     state->_current = (void*) (intptr_t) s_error;
7033     return s_error;
7034     /* UNREACHABLE */;
7035     abort();
7036   }
7037   s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
7038     switch (llhttp__on_message_begin(state, p, endp)) {
7039       case 0:
7040         goto s_n_llhttp__internal__n_invoke_load_type;
7041       case 21:
7042         goto s_n_llhttp__internal__n_pause_8;
7043       default:
7044         goto s_n_llhttp__internal__n_error;
7045     }
7046     /* UNREACHABLE */;
7047     abort();
7048   }
7049   s_n_llhttp__internal__n_invoke_update_finish: {
7050     switch (llhttp__internal__c_update_finish(state, p, endp)) {
7051       default:
7052         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
7053     }
7054     /* UNREACHABLE */;
7055     abort();
7056   }
7057 }
7058 
llhttp__internal_execute(llhttp__internal_t * state,const char * p,const char * endp)7059 int llhttp__internal_execute(llhttp__internal_t* state, const char* p, const char* endp) {
7060   llparse_state_t next;
7061 
7062   /* check lingering errors */
7063   if (state->error != 0) {
7064     return state->error;
7065   }
7066 
7067   /* restart spans */
7068   if (state->_span_pos0 != NULL) {
7069     state->_span_pos0 = (void*) p;
7070   }
7071 
7072   next = llhttp__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
7073   if (next == s_error) {
7074     return state->error;
7075   }
7076   state->_current = (void*) (intptr_t) next;
7077 
7078   /* execute spans */
7079   if (state->_span_pos0 != NULL) {
7080     int error;
7081 
7082     error = ((llhttp__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
7083     if (error != 0) {
7084       state->error = error;
7085       state->error_pos = endp;
7086       return error;
7087     }
7088   }
7089 
7090   return 0;
7091 }
7092 
7093 #else  /* !LLHTTP_STRICT_MODE */
7094 
7095 #include <stdlib.h>
7096 #include <stdint.h>
7097 #include <string.h>
7098 
7099 #ifdef __SSE4_2__
7100  #ifdef _MSC_VER
7101   #include <nmmintrin.h>
7102  #else  /* !_MSC_VER */
7103   #include <x86intrin.h>
7104  #endif  /* _MSC_VER */
7105 #endif  /* __SSE4_2__ */
7106 
7107 #ifdef _MSC_VER
7108  #define ALIGN(n) _declspec(align(n))
7109 #else  /* !_MSC_VER */
7110  #define ALIGN(n) __attribute__((aligned(n)))
7111 #endif  /* _MSC_VER */
7112 
7113 #include "llhttp.h"
7114 
7115 typedef int (*llhttp__internal__span_cb)(
7116              llhttp__internal_t*, const char*, const char*);
7117 
7118 static const unsigned char llparse_blob0[] = {
7119   'C', 'L'
7120 };
7121 #ifdef __SSE4_2__
7122 static const unsigned char ALIGN(16) llparse_blob1[] = {
7123   0x9, 0x9, 0xc, 0xc, '!', '"', '$', '>', '@', '~', 0x80,
7124   0xff, 0x0, 0x0, 0x0, 0x0
7125 };
7126 #endif  /* __SSE4_2__ */
7127 static const unsigned char llparse_blob2[] = {
7128   'o', 'n'
7129 };
7130 static const unsigned char llparse_blob3[] = {
7131   'e', 'c', 't', 'i', 'o', 'n'
7132 };
7133 static const unsigned char llparse_blob4[] = {
7134   'l', 'o', 's', 'e'
7135 };
7136 static const unsigned char llparse_blob5[] = {
7137   'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
7138 };
7139 static const unsigned char llparse_blob6[] = {
7140   'p', 'g', 'r', 'a', 'd', 'e'
7141 };
7142 static const unsigned char llparse_blob7[] = {
7143   'c', 'h', 'u', 'n', 'k', 'e', 'd'
7144 };
7145 #ifdef __SSE4_2__
7146 static const unsigned char ALIGN(16) llparse_blob8[] = {
7147   0x9, 0x9, ' ', '~', 0x80, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0,
7148   0x0, 0x0, 0x0, 0x0, 0x0
7149 };
7150 #endif  /* __SSE4_2__ */
7151 #ifdef __SSE4_2__
7152 static const unsigned char ALIGN(16) llparse_blob9[] = {
7153   ' ', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
7154   'Z', '^', 'z', '|', '|'
7155 };
7156 #endif  /* __SSE4_2__ */
7157 #ifdef __SSE4_2__
7158 static const unsigned char ALIGN(16) llparse_blob10[] = {
7159   '~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
7160   0x0, 0x0, 0x0, 0x0, 0x0
7161 };
7162 #endif  /* __SSE4_2__ */
7163 static const unsigned char llparse_blob11[] = {
7164   'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
7165 };
7166 static const unsigned char llparse_blob12[] = {
7167   'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
7168   't', 'i', 'o', 'n'
7169 };
7170 static const unsigned char llparse_blob13[] = {
7171   'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
7172   'o', 'd', 'i', 'n', 'g'
7173 };
7174 static const unsigned char llparse_blob14[] = {
7175   'p', 'g', 'r', 'a', 'd', 'e'
7176 };
7177 static const unsigned char llparse_blob15[] = {
7178   0xd, 0xa
7179 };
7180 static const unsigned char llparse_blob16[] = {
7181   'T', 'T', 'P', '/'
7182 };
7183 static const unsigned char llparse_blob17[] = {
7184   'C', 'E', '/'
7185 };
7186 static const unsigned char llparse_blob18[] = {
7187   'I', 'N', 'D'
7188 };
7189 static const unsigned char llparse_blob19[] = {
7190   'E', 'C', 'K', 'O', 'U', 'T'
7191 };
7192 static const unsigned char llparse_blob20[] = {
7193   'N', 'E', 'C', 'T'
7194 };
7195 static const unsigned char llparse_blob21[] = {
7196   'E', 'L', 'E', 'T', 'E'
7197 };
7198 static const unsigned char llparse_blob22[] = {
7199   'E', 'T'
7200 };
7201 static const unsigned char llparse_blob23[] = {
7202   'E', 'A', 'D'
7203 };
7204 static const unsigned char llparse_blob24[] = {
7205   'N', 'K'
7206 };
7207 static const unsigned char llparse_blob25[] = {
7208   'C', 'K'
7209 };
7210 static const unsigned char llparse_blob26[] = {
7211   'S', 'E', 'A', 'R', 'C', 'H'
7212 };
7213 static const unsigned char llparse_blob27[] = {
7214   'R', 'G', 'E'
7215 };
7216 static const unsigned char llparse_blob28[] = {
7217   'C', 'T', 'I', 'V', 'I', 'T', 'Y'
7218 };
7219 static const unsigned char llparse_blob29[] = {
7220   'L', 'E', 'N', 'D', 'A', 'R'
7221 };
7222 static const unsigned char llparse_blob30[] = {
7223   'V', 'E'
7224 };
7225 static const unsigned char llparse_blob31[] = {
7226   'O', 'T', 'I', 'F', 'Y'
7227 };
7228 static const unsigned char llparse_blob32[] = {
7229   'P', 'T', 'I', 'O', 'N', 'S'
7230 };
7231 static const unsigned char llparse_blob33[] = {
7232   'T', 'C', 'H'
7233 };
7234 static const unsigned char llparse_blob34[] = {
7235   'S', 'T'
7236 };
7237 static const unsigned char llparse_blob35[] = {
7238   'I', 'N', 'D'
7239 };
7240 static const unsigned char llparse_blob36[] = {
7241   'A', 'T', 'C', 'H'
7242 };
7243 static const unsigned char llparse_blob37[] = {
7244   'G', 'E'
7245 };
7246 static const unsigned char llparse_blob38[] = {
7247   'I', 'N', 'D'
7248 };
7249 static const unsigned char llparse_blob39[] = {
7250   'O', 'R', 'T'
7251 };
7252 static const unsigned char llparse_blob40[] = {
7253   'A', 'R', 'C', 'H'
7254 };
7255 static const unsigned char llparse_blob41[] = {
7256   'U', 'R', 'C', 'E'
7257 };
7258 static const unsigned char llparse_blob42[] = {
7259   'B', 'S', 'C', 'R', 'I', 'B', 'E'
7260 };
7261 static const unsigned char llparse_blob43[] = {
7262   'R', 'A', 'C', 'E'
7263 };
7264 static const unsigned char llparse_blob44[] = {
7265   'I', 'N', 'D'
7266 };
7267 static const unsigned char llparse_blob45[] = {
7268   'N', 'K'
7269 };
7270 static const unsigned char llparse_blob46[] = {
7271   'C', 'K'
7272 };
7273 static const unsigned char llparse_blob47[] = {
7274   'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
7275 };
7276 static const unsigned char llparse_blob48[] = {
7277   'H', 'T', 'T', 'P', '/'
7278 };
7279 static const unsigned char llparse_blob49[] = {
7280   'A', 'D'
7281 };
7282 static const unsigned char llparse_blob50[] = {
7283   'T', 'P', '/'
7284 };
7285 
7286 enum llparse_match_status_e {
7287   kMatchComplete,
7288   kMatchPause,
7289   kMatchMismatch
7290 };
7291 typedef enum llparse_match_status_e llparse_match_status_t;
7292 
7293 struct llparse_match_s {
7294   llparse_match_status_t status;
7295   const unsigned char* current;
7296 };
7297 typedef struct llparse_match_s llparse_match_t;
7298 
llparse__match_sequence_id(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7299 static llparse_match_t llparse__match_sequence_id(
7300     llhttp__internal_t* s, const unsigned char* p,
7301     const unsigned char* endp,
7302     const unsigned char* seq, uint32_t seq_len) {
7303   uint32_t index;
7304   llparse_match_t res;
7305 
7306   index = s->_index;
7307   for (; p != endp; p++) {
7308     unsigned char current;
7309 
7310     current = *p;
7311     if (current == seq[index]) {
7312       if (++index == seq_len) {
7313         res.status = kMatchComplete;
7314         goto reset;
7315       }
7316     } else {
7317       res.status = kMatchMismatch;
7318       goto reset;
7319     }
7320   }
7321   s->_index = index;
7322   res.status = kMatchPause;
7323   res.current = p;
7324   return res;
7325 reset:
7326   s->_index = 0;
7327   res.current = p;
7328   return res;
7329 }
7330 
llparse__match_sequence_to_lower(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7331 static llparse_match_t llparse__match_sequence_to_lower(
7332     llhttp__internal_t* s, const unsigned char* p,
7333     const unsigned char* endp,
7334     const unsigned char* seq, uint32_t seq_len) {
7335   uint32_t index;
7336   llparse_match_t res;
7337 
7338   index = s->_index;
7339   for (; p != endp; p++) {
7340     unsigned char current;
7341 
7342     current = ((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p));
7343     if (current == seq[index]) {
7344       if (++index == seq_len) {
7345         res.status = kMatchComplete;
7346         goto reset;
7347       }
7348     } else {
7349       res.status = kMatchMismatch;
7350       goto reset;
7351     }
7352   }
7353   s->_index = index;
7354   res.status = kMatchPause;
7355   res.current = p;
7356   return res;
7357 reset:
7358   s->_index = 0;
7359   res.current = p;
7360   return res;
7361 }
7362 
llparse__match_sequence_to_lower_unsafe(llhttp__internal_t * s,const unsigned char * p,const unsigned char * endp,const unsigned char * seq,uint32_t seq_len)7363 static llparse_match_t llparse__match_sequence_to_lower_unsafe(
7364     llhttp__internal_t* s, const unsigned char* p,
7365     const unsigned char* endp,
7366     const unsigned char* seq, uint32_t seq_len) {
7367   uint32_t index;
7368   llparse_match_t res;
7369 
7370   index = s->_index;
7371   for (; p != endp; p++) {
7372     unsigned char current;
7373 
7374     current = ((*p) | 0x20);
7375     if (current == seq[index]) {
7376       if (++index == seq_len) {
7377         res.status = kMatchComplete;
7378         goto reset;
7379       }
7380     } else {
7381       res.status = kMatchMismatch;
7382       goto reset;
7383     }
7384   }
7385   s->_index = index;
7386   res.status = kMatchPause;
7387   res.current = p;
7388   return res;
7389 reset:
7390   s->_index = 0;
7391   res.current = p;
7392   return res;
7393 }
7394 
7395 enum llparse_state_e {
7396   s_error,
7397   s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
7398   s_n_llhttp__internal__n_pause_1,
7399   s_n_llhttp__internal__n_invoke_is_equal_upgrade,
7400   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
7401   s_n_llhttp__internal__n_chunk_data_almost_done_skip,
7402   s_n_llhttp__internal__n_chunk_data_almost_done,
7403   s_n_llhttp__internal__n_consume_content_length,
7404   s_n_llhttp__internal__n_span_start_llhttp__on_body,
7405   s_n_llhttp__internal__n_invoke_is_equal_content_length,
7406   s_n_llhttp__internal__n_chunk_size_almost_done,
7407   s_n_llhttp__internal__n_chunk_parameters,
7408   s_n_llhttp__internal__n_chunk_size_otherwise,
7409   s_n_llhttp__internal__n_chunk_size,
7410   s_n_llhttp__internal__n_chunk_size_digit,
7411   s_n_llhttp__internal__n_invoke_update_content_length,
7412   s_n_llhttp__internal__n_consume_content_length_1,
7413   s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
7414   s_n_llhttp__internal__n_eof,
7415   s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
7416   s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
7417   s_n_llhttp__internal__n_headers_almost_done,
7418   s_n_llhttp__internal__n_header_field_colon_discard_ws,
7419   s_n_llhttp__internal__n_error_15,
7420   s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
7421   s_n_llhttp__internal__n_header_value_discard_lws,
7422   s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
7423   s_n_llhttp__internal__n_header_value_lws,
7424   s_n_llhttp__internal__n_header_value_almost_done,
7425   s_n_llhttp__internal__n_header_value_lenient,
7426   s_n_llhttp__internal__n_error_19,
7427   s_n_llhttp__internal__n_header_value_otherwise,
7428   s_n_llhttp__internal__n_header_value_connection_token,
7429   s_n_llhttp__internal__n_header_value_connection_ws,
7430   s_n_llhttp__internal__n_header_value_connection_1,
7431   s_n_llhttp__internal__n_header_value_connection_2,
7432   s_n_llhttp__internal__n_header_value_connection_3,
7433   s_n_llhttp__internal__n_header_value_connection,
7434   s_n_llhttp__internal__n_error_21,
7435   s_n_llhttp__internal__n_error_22,
7436   s_n_llhttp__internal__n_header_value_content_length_ws,
7437   s_n_llhttp__internal__n_header_value_content_length,
7438   s_n_llhttp__internal__n_error_24,
7439   s_n_llhttp__internal__n_error_23,
7440   s_n_llhttp__internal__n_header_value_te_token_ows,
7441   s_n_llhttp__internal__n_header_value,
7442   s_n_llhttp__internal__n_header_value_te_token,
7443   s_n_llhttp__internal__n_header_value_te_chunked_last,
7444   s_n_llhttp__internal__n_header_value_te_chunked,
7445   s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
7446   s_n_llhttp__internal__n_header_value_discard_ws,
7447   s_n_llhttp__internal__n_header_field_general_otherwise,
7448   s_n_llhttp__internal__n_header_field_general,
7449   s_n_llhttp__internal__n_header_field_colon,
7450   s_n_llhttp__internal__n_header_field_3,
7451   s_n_llhttp__internal__n_header_field_4,
7452   s_n_llhttp__internal__n_header_field_2,
7453   s_n_llhttp__internal__n_header_field_1,
7454   s_n_llhttp__internal__n_header_field_5,
7455   s_n_llhttp__internal__n_header_field_6,
7456   s_n_llhttp__internal__n_header_field_7,
7457   s_n_llhttp__internal__n_header_field,
7458   s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
7459   s_n_llhttp__internal__n_header_field_start,
7460   s_n_llhttp__internal__n_url_skip_to_http09,
7461   s_n_llhttp__internal__n_url_skip_lf_to_http09,
7462   s_n_llhttp__internal__n_req_http_end_1,
7463   s_n_llhttp__internal__n_req_http_end,
7464   s_n_llhttp__internal__n_req_http_minor,
7465   s_n_llhttp__internal__n_req_http_dot,
7466   s_n_llhttp__internal__n_req_http_major,
7467   s_n_llhttp__internal__n_req_http_start_1,
7468   s_n_llhttp__internal__n_req_http_start_2,
7469   s_n_llhttp__internal__n_req_http_start,
7470   s_n_llhttp__internal__n_url_skip_to_http,
7471   s_n_llhttp__internal__n_url_fragment,
7472   s_n_llhttp__internal__n_span_end_stub_query_3,
7473   s_n_llhttp__internal__n_url_query,
7474   s_n_llhttp__internal__n_url_query_or_fragment,
7475   s_n_llhttp__internal__n_url_path,
7476   s_n_llhttp__internal__n_span_start_stub_path_2,
7477   s_n_llhttp__internal__n_span_start_stub_path,
7478   s_n_llhttp__internal__n_span_start_stub_path_1,
7479   s_n_llhttp__internal__n_url_server_with_at,
7480   s_n_llhttp__internal__n_url_server,
7481   s_n_llhttp__internal__n_url_schema_delim_1,
7482   s_n_llhttp__internal__n_url_schema_delim,
7483   s_n_llhttp__internal__n_span_end_stub_schema,
7484   s_n_llhttp__internal__n_url_schema,
7485   s_n_llhttp__internal__n_url_start,
7486   s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
7487   s_n_llhttp__internal__n_span_start_llhttp__on_url,
7488   s_n_llhttp__internal__n_req_spaces_before_url,
7489   s_n_llhttp__internal__n_req_first_space_before_url,
7490   s_n_llhttp__internal__n_start_req_1,
7491   s_n_llhttp__internal__n_start_req_2,
7492   s_n_llhttp__internal__n_start_req_4,
7493   s_n_llhttp__internal__n_start_req_6,
7494   s_n_llhttp__internal__n_start_req_7,
7495   s_n_llhttp__internal__n_start_req_5,
7496   s_n_llhttp__internal__n_start_req_3,
7497   s_n_llhttp__internal__n_start_req_8,
7498   s_n_llhttp__internal__n_start_req_9,
7499   s_n_llhttp__internal__n_start_req_10,
7500   s_n_llhttp__internal__n_start_req_12,
7501   s_n_llhttp__internal__n_start_req_13,
7502   s_n_llhttp__internal__n_start_req_11,
7503   s_n_llhttp__internal__n_start_req_15,
7504   s_n_llhttp__internal__n_start_req_16,
7505   s_n_llhttp__internal__n_start_req_18,
7506   s_n_llhttp__internal__n_start_req_20,
7507   s_n_llhttp__internal__n_start_req_21,
7508   s_n_llhttp__internal__n_start_req_19,
7509   s_n_llhttp__internal__n_start_req_17,
7510   s_n_llhttp__internal__n_start_req_22,
7511   s_n_llhttp__internal__n_start_req_14,
7512   s_n_llhttp__internal__n_start_req_23,
7513   s_n_llhttp__internal__n_start_req_24,
7514   s_n_llhttp__internal__n_start_req_26,
7515   s_n_llhttp__internal__n_start_req_27,
7516   s_n_llhttp__internal__n_start_req_31,
7517   s_n_llhttp__internal__n_start_req_32,
7518   s_n_llhttp__internal__n_start_req_30,
7519   s_n_llhttp__internal__n_start_req_29,
7520   s_n_llhttp__internal__n_start_req_28,
7521   s_n_llhttp__internal__n_start_req_34,
7522   s_n_llhttp__internal__n_start_req_33,
7523   s_n_llhttp__internal__n_start_req_25,
7524   s_n_llhttp__internal__n_start_req_37,
7525   s_n_llhttp__internal__n_start_req_38,
7526   s_n_llhttp__internal__n_start_req_36,
7527   s_n_llhttp__internal__n_start_req_35,
7528   s_n_llhttp__internal__n_start_req_40,
7529   s_n_llhttp__internal__n_start_req_41,
7530   s_n_llhttp__internal__n_start_req_42,
7531   s_n_llhttp__internal__n_start_req_39,
7532   s_n_llhttp__internal__n_start_req_43,
7533   s_n_llhttp__internal__n_start_req_46,
7534   s_n_llhttp__internal__n_start_req_48,
7535   s_n_llhttp__internal__n_start_req_49,
7536   s_n_llhttp__internal__n_start_req_47,
7537   s_n_llhttp__internal__n_start_req_50,
7538   s_n_llhttp__internal__n_start_req_45,
7539   s_n_llhttp__internal__n_start_req_44,
7540   s_n_llhttp__internal__n_start_req,
7541   s_n_llhttp__internal__n_res_line_almost_done,
7542   s_n_llhttp__internal__n_res_status,
7543   s_n_llhttp__internal__n_span_start_llhttp__on_status,
7544   s_n_llhttp__internal__n_res_status_start,
7545   s_n_llhttp__internal__n_res_status_code_otherwise,
7546   s_n_llhttp__internal__n_res_status_code,
7547   s_n_llhttp__internal__n_res_http_end,
7548   s_n_llhttp__internal__n_res_http_minor,
7549   s_n_llhttp__internal__n_res_http_dot,
7550   s_n_llhttp__internal__n_res_http_major,
7551   s_n_llhttp__internal__n_start_res,
7552   s_n_llhttp__internal__n_req_or_res_method_2,
7553   s_n_llhttp__internal__n_req_or_res_method_3,
7554   s_n_llhttp__internal__n_req_or_res_method_1,
7555   s_n_llhttp__internal__n_req_or_res_method,
7556   s_n_llhttp__internal__n_start_req_or_res,
7557   s_n_llhttp__internal__n_invoke_load_type,
7558   s_n_llhttp__internal__n_start,
7559 };
7560 typedef enum llparse_state_e llparse_state_t;
7561 
7562 int llhttp__on_url(
7563     llhttp__internal_t* s, const unsigned char* p,
7564     const unsigned char* endp);
7565 
7566 int llhttp__on_header_field(
7567     llhttp__internal_t* s, const unsigned char* p,
7568     const unsigned char* endp);
7569 
7570 int llhttp__on_header_value(
7571     llhttp__internal_t* s, const unsigned char* p,
7572     const unsigned char* endp);
7573 
7574 int llhttp__on_body(
7575     llhttp__internal_t* s, const unsigned char* p,
7576     const unsigned char* endp);
7577 
7578 int llhttp__on_status(
7579     llhttp__internal_t* s, const unsigned char* p,
7580     const unsigned char* endp);
7581 
llhttp__internal__c_update_finish(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7582 int llhttp__internal__c_update_finish(
7583     llhttp__internal_t* state,
7584     const unsigned char* p,
7585     const unsigned char* endp) {
7586   state->finish = 2;
7587   return 0;
7588 }
7589 
7590 int llhttp__on_message_begin(
7591     llhttp__internal_t* s, const unsigned char* p,
7592     const unsigned char* endp);
7593 
llhttp__internal__c_load_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7594 int llhttp__internal__c_load_type(
7595     llhttp__internal_t* state,
7596     const unsigned char* p,
7597     const unsigned char* endp) {
7598   return state->type;
7599 }
7600 
llhttp__internal__c_store_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7601 int llhttp__internal__c_store_method(
7602     llhttp__internal_t* state,
7603     const unsigned char* p,
7604     const unsigned char* endp,
7605     int match) {
7606   state->method = match;
7607   return 0;
7608 }
7609 
llhttp__internal__c_is_equal_method(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7610 int llhttp__internal__c_is_equal_method(
7611     llhttp__internal_t* state,
7612     const unsigned char* p,
7613     const unsigned char* endp) {
7614   return state->method == 5;
7615 }
7616 
llhttp__internal__c_update_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7617 int llhttp__internal__c_update_http_major(
7618     llhttp__internal_t* state,
7619     const unsigned char* p,
7620     const unsigned char* endp) {
7621   state->http_major = 0;
7622   return 0;
7623 }
7624 
llhttp__internal__c_update_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7625 int llhttp__internal__c_update_http_minor(
7626     llhttp__internal_t* state,
7627     const unsigned char* p,
7628     const unsigned char* endp) {
7629   state->http_minor = 9;
7630   return 0;
7631 }
7632 
llhttp__internal__c_test_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7633 int llhttp__internal__c_test_flags(
7634     llhttp__internal_t* state,
7635     const unsigned char* p,
7636     const unsigned char* endp) {
7637   return (state->flags & 128) == 128;
7638 }
7639 
7640 int llhttp__on_chunk_complete(
7641     llhttp__internal_t* s, const unsigned char* p,
7642     const unsigned char* endp);
7643 
7644 int llhttp__on_message_complete(
7645     llhttp__internal_t* s, const unsigned char* p,
7646     const unsigned char* endp);
7647 
llhttp__internal__c_is_equal_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7648 int llhttp__internal__c_is_equal_upgrade(
7649     llhttp__internal_t* state,
7650     const unsigned char* p,
7651     const unsigned char* endp) {
7652   return state->upgrade == 1;
7653 }
7654 
7655 int llhttp__after_message_complete(
7656     llhttp__internal_t* s, const unsigned char* p,
7657     const unsigned char* endp);
7658 
llhttp__internal__c_update_finish_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7659 int llhttp__internal__c_update_finish_1(
7660     llhttp__internal_t* state,
7661     const unsigned char* p,
7662     const unsigned char* endp) {
7663   state->finish = 0;
7664   return 0;
7665 }
7666 
llhttp__internal__c_test_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7667 int llhttp__internal__c_test_flags_1(
7668     llhttp__internal_t* state,
7669     const unsigned char* p,
7670     const unsigned char* endp) {
7671   return (state->flags & 544) == 544;
7672 }
7673 
llhttp__internal__c_test_flags_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7674 int llhttp__internal__c_test_flags_2(
7675     llhttp__internal_t* state,
7676     const unsigned char* p,
7677     const unsigned char* endp) {
7678   return (state->flags & 256) == 256;
7679 }
7680 
llhttp__internal__c_test_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7681 int llhttp__internal__c_test_flags_3(
7682     llhttp__internal_t* state,
7683     const unsigned char* p,
7684     const unsigned char* endp) {
7685   return (state->flags & 40) == 40;
7686 }
7687 
7688 int llhttp__before_headers_complete(
7689     llhttp__internal_t* s, const unsigned char* p,
7690     const unsigned char* endp);
7691 
7692 int llhttp__on_headers_complete(
7693     llhttp__internal_t* s, const unsigned char* p,
7694     const unsigned char* endp);
7695 
7696 int llhttp__after_headers_complete(
7697     llhttp__internal_t* s, const unsigned char* p,
7698     const unsigned char* endp);
7699 
llhttp__internal__c_update_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7700 int llhttp__internal__c_update_content_length(
7701     llhttp__internal_t* state,
7702     const unsigned char* p,
7703     const unsigned char* endp) {
7704   state->content_length = 0;
7705   return 0;
7706 }
7707 
llhttp__internal__c_mul_add_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7708 int llhttp__internal__c_mul_add_content_length(
7709     llhttp__internal_t* state,
7710     const unsigned char* p,
7711     const unsigned char* endp,
7712     int match) {
7713   /* Multiplication overflow */
7714   if (state->content_length > 0xffffffffffffffffULL / 16) {
7715     return 1;
7716   }
7717 
7718   state->content_length *= 16;
7719 
7720   /* Addition overflow */
7721   if (match >= 0) {
7722     if (state->content_length > 0xffffffffffffffffULL - match) {
7723       return 1;
7724     }
7725   } else {
7726     if (state->content_length < 0ULL - match) {
7727       return 1;
7728     }
7729   }
7730   state->content_length += match;
7731   return 0;
7732 }
7733 
7734 int llhttp__on_chunk_header(
7735     llhttp__internal_t* s, const unsigned char* p,
7736     const unsigned char* endp);
7737 
llhttp__internal__c_is_equal_content_length(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7738 int llhttp__internal__c_is_equal_content_length(
7739     llhttp__internal_t* state,
7740     const unsigned char* p,
7741     const unsigned char* endp) {
7742   return state->content_length == 0;
7743 }
7744 
llhttp__internal__c_or_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7745 int llhttp__internal__c_or_flags(
7746     llhttp__internal_t* state,
7747     const unsigned char* p,
7748     const unsigned char* endp) {
7749   state->flags |= 128;
7750   return 0;
7751 }
7752 
llhttp__internal__c_update_finish_2(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7753 int llhttp__internal__c_update_finish_2(
7754     llhttp__internal_t* state,
7755     const unsigned char* p,
7756     const unsigned char* endp) {
7757   state->finish = 1;
7758   return 0;
7759 }
7760 
llhttp__internal__c_or_flags_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7761 int llhttp__internal__c_or_flags_1(
7762     llhttp__internal_t* state,
7763     const unsigned char* p,
7764     const unsigned char* endp) {
7765   state->flags |= 64;
7766   return 0;
7767 }
7768 
llhttp__internal__c_update_upgrade(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7769 int llhttp__internal__c_update_upgrade(
7770     llhttp__internal_t* state,
7771     const unsigned char* p,
7772     const unsigned char* endp) {
7773   state->upgrade = 1;
7774   return 0;
7775 }
7776 
llhttp__internal__c_store_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7777 int llhttp__internal__c_store_header_state(
7778     llhttp__internal_t* state,
7779     const unsigned char* p,
7780     const unsigned char* endp,
7781     int match) {
7782   state->header_state = match;
7783   return 0;
7784 }
7785 
llhttp__internal__c_load_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7786 int llhttp__internal__c_load_header_state(
7787     llhttp__internal_t* state,
7788     const unsigned char* p,
7789     const unsigned char* endp) {
7790   return state->header_state;
7791 }
7792 
llhttp__internal__c_or_flags_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7793 int llhttp__internal__c_or_flags_3(
7794     llhttp__internal_t* state,
7795     const unsigned char* p,
7796     const unsigned char* endp) {
7797   state->flags |= 1;
7798   return 0;
7799 }
7800 
llhttp__internal__c_update_header_state(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7801 int llhttp__internal__c_update_header_state(
7802     llhttp__internal_t* state,
7803     const unsigned char* p,
7804     const unsigned char* endp) {
7805   state->header_state = 1;
7806   return 0;
7807 }
7808 
llhttp__internal__c_or_flags_4(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7809 int llhttp__internal__c_or_flags_4(
7810     llhttp__internal_t* state,
7811     const unsigned char* p,
7812     const unsigned char* endp) {
7813   state->flags |= 2;
7814   return 0;
7815 }
7816 
llhttp__internal__c_or_flags_5(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7817 int llhttp__internal__c_or_flags_5(
7818     llhttp__internal_t* state,
7819     const unsigned char* p,
7820     const unsigned char* endp) {
7821   state->flags |= 4;
7822   return 0;
7823 }
7824 
llhttp__internal__c_or_flags_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7825 int llhttp__internal__c_or_flags_6(
7826     llhttp__internal_t* state,
7827     const unsigned char* p,
7828     const unsigned char* endp) {
7829   state->flags |= 8;
7830   return 0;
7831 }
7832 
llhttp__internal__c_update_header_state_3(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7833 int llhttp__internal__c_update_header_state_3(
7834     llhttp__internal_t* state,
7835     const unsigned char* p,
7836     const unsigned char* endp) {
7837   state->header_state = 6;
7838   return 0;
7839 }
7840 
llhttp__internal__c_update_header_state_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7841 int llhttp__internal__c_update_header_state_1(
7842     llhttp__internal_t* state,
7843     const unsigned char* p,
7844     const unsigned char* endp) {
7845   state->header_state = 0;
7846   return 0;
7847 }
7848 
llhttp__internal__c_update_header_state_6(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7849 int llhttp__internal__c_update_header_state_6(
7850     llhttp__internal_t* state,
7851     const unsigned char* p,
7852     const unsigned char* endp) {
7853   state->header_state = 5;
7854   return 0;
7855 }
7856 
llhttp__internal__c_update_header_state_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7857 int llhttp__internal__c_update_header_state_7(
7858     llhttp__internal_t* state,
7859     const unsigned char* p,
7860     const unsigned char* endp) {
7861   state->header_state = 7;
7862   return 0;
7863 }
7864 
llhttp__internal__c_test_flags_7(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7865 int llhttp__internal__c_test_flags_7(
7866     llhttp__internal_t* state,
7867     const unsigned char* p,
7868     const unsigned char* endp) {
7869   return (state->flags & 32) == 32;
7870 }
7871 
llhttp__internal__c_mul_add_content_length_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7872 int llhttp__internal__c_mul_add_content_length_1(
7873     llhttp__internal_t* state,
7874     const unsigned char* p,
7875     const unsigned char* endp,
7876     int match) {
7877   /* Multiplication overflow */
7878   if (state->content_length > 0xffffffffffffffffULL / 10) {
7879     return 1;
7880   }
7881 
7882   state->content_length *= 10;
7883 
7884   /* Addition overflow */
7885   if (match >= 0) {
7886     if (state->content_length > 0xffffffffffffffffULL - match) {
7887       return 1;
7888     }
7889   } else {
7890     if (state->content_length < 0ULL - match) {
7891       return 1;
7892     }
7893   }
7894   state->content_length += match;
7895   return 0;
7896 }
7897 
llhttp__internal__c_or_flags_15(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7898 int llhttp__internal__c_or_flags_15(
7899     llhttp__internal_t* state,
7900     const unsigned char* p,
7901     const unsigned char* endp) {
7902   state->flags |= 32;
7903   return 0;
7904 }
7905 
llhttp__internal__c_test_flags_8(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7906 int llhttp__internal__c_test_flags_8(
7907     llhttp__internal_t* state,
7908     const unsigned char* p,
7909     const unsigned char* endp) {
7910   return (state->flags & 8) == 8;
7911 }
7912 
llhttp__internal__c_or_flags_16(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7913 int llhttp__internal__c_or_flags_16(
7914     llhttp__internal_t* state,
7915     const unsigned char* p,
7916     const unsigned char* endp) {
7917   state->flags |= 512;
7918   return 0;
7919 }
7920 
llhttp__internal__c_and_flags(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7921 int llhttp__internal__c_and_flags(
7922     llhttp__internal_t* state,
7923     const unsigned char* p,
7924     const unsigned char* endp) {
7925   state->flags &= -9;
7926   return 0;
7927 }
7928 
llhttp__internal__c_update_header_state_8(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7929 int llhttp__internal__c_update_header_state_8(
7930     llhttp__internal_t* state,
7931     const unsigned char* p,
7932     const unsigned char* endp) {
7933   state->header_state = 8;
7934   return 0;
7935 }
7936 
llhttp__internal__c_or_flags_18(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7937 int llhttp__internal__c_or_flags_18(
7938     llhttp__internal_t* state,
7939     const unsigned char* p,
7940     const unsigned char* endp) {
7941   state->flags |= 16;
7942   return 0;
7943 }
7944 
llhttp__internal__c_store_http_major(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7945 int llhttp__internal__c_store_http_major(
7946     llhttp__internal_t* state,
7947     const unsigned char* p,
7948     const unsigned char* endp,
7949     int match) {
7950   state->http_major = match;
7951   return 0;
7952 }
7953 
llhttp__internal__c_store_http_minor(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7954 int llhttp__internal__c_store_http_minor(
7955     llhttp__internal_t* state,
7956     const unsigned char* p,
7957     const unsigned char* endp,
7958     int match) {
7959   state->http_minor = match;
7960   return 0;
7961 }
7962 
llhttp__internal__c_is_equal_method_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7963 int llhttp__internal__c_is_equal_method_1(
7964     llhttp__internal_t* state,
7965     const unsigned char* p,
7966     const unsigned char* endp) {
7967   return state->method == 33;
7968 }
7969 
llhttp__internal__c_update_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)7970 int llhttp__internal__c_update_status_code(
7971     llhttp__internal_t* state,
7972     const unsigned char* p,
7973     const unsigned char* endp) {
7974   state->status_code = 0;
7975   return 0;
7976 }
7977 
llhttp__internal__c_mul_add_status_code(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp,int match)7978 int llhttp__internal__c_mul_add_status_code(
7979     llhttp__internal_t* state,
7980     const unsigned char* p,
7981     const unsigned char* endp,
7982     int match) {
7983   /* Multiplication overflow */
7984   if (state->status_code > 0xffff / 10) {
7985     return 1;
7986   }
7987 
7988   state->status_code *= 10;
7989 
7990   /* Addition overflow */
7991   if (match >= 0) {
7992     if (state->status_code > 0xffff - match) {
7993       return 1;
7994     }
7995   } else {
7996     if (state->status_code < 0 - match) {
7997       return 1;
7998     }
7999   }
8000   state->status_code += match;
8001 
8002   /* Enforce maximum */
8003   if (state->status_code > 999) {
8004     return 1;
8005   }
8006   return 0;
8007 }
8008 
llhttp__internal__c_update_type(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)8009 int llhttp__internal__c_update_type(
8010     llhttp__internal_t* state,
8011     const unsigned char* p,
8012     const unsigned char* endp) {
8013   state->type = 1;
8014   return 0;
8015 }
8016 
llhttp__internal__c_update_type_1(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)8017 int llhttp__internal__c_update_type_1(
8018     llhttp__internal_t* state,
8019     const unsigned char* p,
8020     const unsigned char* endp) {
8021   state->type = 2;
8022   return 0;
8023 }
8024 
llhttp__internal_init(llhttp__internal_t * state)8025 int llhttp__internal_init(llhttp__internal_t* state) {
8026   memset(state, 0, sizeof(*state));
8027   state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_start;
8028   return 0;
8029 }
8030 
llhttp__internal__run(llhttp__internal_t * state,const unsigned char * p,const unsigned char * endp)8031 static llparse_state_t llhttp__internal__run(
8032     llhttp__internal_t* state,
8033     const unsigned char* p,
8034     const unsigned char* endp) {
8035   int match;
8036   switch ((llparse_state_t) (intptr_t) state->_current) {
8037     case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
8038     s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
8039       switch (llhttp__after_message_complete(state, p, endp)) {
8040         default:
8041           goto s_n_llhttp__internal__n_invoke_update_finish_1;
8042       }
8043       /* UNREACHABLE */;
8044       abort();
8045     }
8046     case s_n_llhttp__internal__n_pause_1:
8047     s_n_llhttp__internal__n_pause_1: {
8048       state->error = 0x16;
8049       state->reason = "Pause on CONNECT/Upgrade";
8050       state->error_pos = (const char*) p;
8051       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
8052       return s_error;
8053       /* UNREACHABLE */;
8054       abort();
8055     }
8056     case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
8057     s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
8058       switch (llhttp__internal__c_is_equal_upgrade(state, p, endp)) {
8059         case 0:
8060           goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
8061         default:
8062           goto s_n_llhttp__internal__n_pause_1;
8063       }
8064       /* UNREACHABLE */;
8065       abort();
8066     }
8067     case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
8068     s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
8069       switch (llhttp__on_message_complete(state, p, endp)) {
8070         case 0:
8071           goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
8072         case 21:
8073           goto s_n_llhttp__internal__n_pause_5;
8074         default:
8075           goto s_n_llhttp__internal__n_error_10;
8076       }
8077       /* UNREACHABLE */;
8078       abort();
8079     }
8080     case s_n_llhttp__internal__n_chunk_data_almost_done_skip:
8081     s_n_llhttp__internal__n_chunk_data_almost_done_skip: {
8082       if (p == endp) {
8083         return s_n_llhttp__internal__n_chunk_data_almost_done_skip;
8084       }
8085       p++;
8086       goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
8087       /* UNREACHABLE */;
8088       abort();
8089     }
8090     case s_n_llhttp__internal__n_chunk_data_almost_done:
8091     s_n_llhttp__internal__n_chunk_data_almost_done: {
8092       if (p == endp) {
8093         return s_n_llhttp__internal__n_chunk_data_almost_done;
8094       }
8095       p++;
8096       goto s_n_llhttp__internal__n_chunk_data_almost_done_skip;
8097       /* UNREACHABLE */;
8098       abort();
8099     }
8100     case s_n_llhttp__internal__n_consume_content_length:
8101     s_n_llhttp__internal__n_consume_content_length: {
8102       size_t avail;
8103       uint64_t need;
8104 
8105       avail = endp - p;
8106       need = state->content_length;
8107       if (avail >= need) {
8108         p += need;
8109         state->content_length = 0;
8110         goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
8111       }
8112 
8113       state->content_length -= avail;
8114       return s_n_llhttp__internal__n_consume_content_length;
8115       /* UNREACHABLE */;
8116       abort();
8117     }
8118     case s_n_llhttp__internal__n_span_start_llhttp__on_body:
8119     s_n_llhttp__internal__n_span_start_llhttp__on_body: {
8120       if (p == endp) {
8121         return s_n_llhttp__internal__n_span_start_llhttp__on_body;
8122       }
8123       state->_span_pos0 = (void*) p;
8124       state->_span_cb0 = llhttp__on_body;
8125       goto s_n_llhttp__internal__n_consume_content_length;
8126       /* UNREACHABLE */;
8127       abort();
8128     }
8129     case s_n_llhttp__internal__n_invoke_is_equal_content_length:
8130     s_n_llhttp__internal__n_invoke_is_equal_content_length: {
8131       switch (llhttp__internal__c_is_equal_content_length(state, p, endp)) {
8132         case 0:
8133           goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
8134         default:
8135           goto s_n_llhttp__internal__n_invoke_or_flags;
8136       }
8137       /* UNREACHABLE */;
8138       abort();
8139     }
8140     case s_n_llhttp__internal__n_chunk_size_almost_done:
8141     s_n_llhttp__internal__n_chunk_size_almost_done: {
8142       if (p == endp) {
8143         return s_n_llhttp__internal__n_chunk_size_almost_done;
8144       }
8145       p++;
8146       goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
8147       /* UNREACHABLE */;
8148       abort();
8149     }
8150     case s_n_llhttp__internal__n_chunk_parameters:
8151     s_n_llhttp__internal__n_chunk_parameters: {
8152       static uint8_t lookup_table[] = {
8153         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0,
8154         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8155         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8156         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8157         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8158         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8159         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8160         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
8161         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8162         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8163         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8164         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8165         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8166         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8167         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8168         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
8169       };
8170       if (p == endp) {
8171         return s_n_llhttp__internal__n_chunk_parameters;
8172       }
8173       switch (lookup_table[(uint8_t) *p]) {
8174         case 1: {
8175           p++;
8176           goto s_n_llhttp__internal__n_chunk_parameters;
8177         }
8178         case 2: {
8179           p++;
8180           goto s_n_llhttp__internal__n_chunk_size_almost_done;
8181         }
8182         default: {
8183           goto s_n_llhttp__internal__n_error_6;
8184         }
8185       }
8186       /* UNREACHABLE */;
8187       abort();
8188     }
8189     case s_n_llhttp__internal__n_chunk_size_otherwise:
8190     s_n_llhttp__internal__n_chunk_size_otherwise: {
8191       if (p == endp) {
8192         return s_n_llhttp__internal__n_chunk_size_otherwise;
8193       }
8194       switch (*p) {
8195         case 13: {
8196           p++;
8197           goto s_n_llhttp__internal__n_chunk_size_almost_done;
8198         }
8199         case ' ': {
8200           p++;
8201           goto s_n_llhttp__internal__n_chunk_parameters;
8202         }
8203         case ';': {
8204           p++;
8205           goto s_n_llhttp__internal__n_chunk_parameters;
8206         }
8207         default: {
8208           goto s_n_llhttp__internal__n_error_7;
8209         }
8210       }
8211       /* UNREACHABLE */;
8212       abort();
8213     }
8214     case s_n_llhttp__internal__n_chunk_size:
8215     s_n_llhttp__internal__n_chunk_size: {
8216       if (p == endp) {
8217         return s_n_llhttp__internal__n_chunk_size;
8218       }
8219       switch (*p) {
8220         case '0': {
8221           p++;
8222           match = 0;
8223           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8224         }
8225         case '1': {
8226           p++;
8227           match = 1;
8228           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8229         }
8230         case '2': {
8231           p++;
8232           match = 2;
8233           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8234         }
8235         case '3': {
8236           p++;
8237           match = 3;
8238           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8239         }
8240         case '4': {
8241           p++;
8242           match = 4;
8243           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8244         }
8245         case '5': {
8246           p++;
8247           match = 5;
8248           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8249         }
8250         case '6': {
8251           p++;
8252           match = 6;
8253           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8254         }
8255         case '7': {
8256           p++;
8257           match = 7;
8258           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8259         }
8260         case '8': {
8261           p++;
8262           match = 8;
8263           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8264         }
8265         case '9': {
8266           p++;
8267           match = 9;
8268           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8269         }
8270         case 'A': {
8271           p++;
8272           match = 10;
8273           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8274         }
8275         case 'B': {
8276           p++;
8277           match = 11;
8278           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8279         }
8280         case 'C': {
8281           p++;
8282           match = 12;
8283           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8284         }
8285         case 'D': {
8286           p++;
8287           match = 13;
8288           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8289         }
8290         case 'E': {
8291           p++;
8292           match = 14;
8293           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8294         }
8295         case 'F': {
8296           p++;
8297           match = 15;
8298           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8299         }
8300         case 'a': {
8301           p++;
8302           match = 10;
8303           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8304         }
8305         case 'b': {
8306           p++;
8307           match = 11;
8308           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8309         }
8310         case 'c': {
8311           p++;
8312           match = 12;
8313           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8314         }
8315         case 'd': {
8316           p++;
8317           match = 13;
8318           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8319         }
8320         case 'e': {
8321           p++;
8322           match = 14;
8323           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8324         }
8325         case 'f': {
8326           p++;
8327           match = 15;
8328           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8329         }
8330         default: {
8331           goto s_n_llhttp__internal__n_chunk_size_otherwise;
8332         }
8333       }
8334       /* UNREACHABLE */;
8335       abort();
8336     }
8337     case s_n_llhttp__internal__n_chunk_size_digit:
8338     s_n_llhttp__internal__n_chunk_size_digit: {
8339       if (p == endp) {
8340         return s_n_llhttp__internal__n_chunk_size_digit;
8341       }
8342       switch (*p) {
8343         case '0': {
8344           p++;
8345           match = 0;
8346           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8347         }
8348         case '1': {
8349           p++;
8350           match = 1;
8351           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8352         }
8353         case '2': {
8354           p++;
8355           match = 2;
8356           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8357         }
8358         case '3': {
8359           p++;
8360           match = 3;
8361           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8362         }
8363         case '4': {
8364           p++;
8365           match = 4;
8366           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8367         }
8368         case '5': {
8369           p++;
8370           match = 5;
8371           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8372         }
8373         case '6': {
8374           p++;
8375           match = 6;
8376           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8377         }
8378         case '7': {
8379           p++;
8380           match = 7;
8381           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8382         }
8383         case '8': {
8384           p++;
8385           match = 8;
8386           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8387         }
8388         case '9': {
8389           p++;
8390           match = 9;
8391           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8392         }
8393         case 'A': {
8394           p++;
8395           match = 10;
8396           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8397         }
8398         case 'B': {
8399           p++;
8400           match = 11;
8401           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8402         }
8403         case 'C': {
8404           p++;
8405           match = 12;
8406           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8407         }
8408         case 'D': {
8409           p++;
8410           match = 13;
8411           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8412         }
8413         case 'E': {
8414           p++;
8415           match = 14;
8416           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8417         }
8418         case 'F': {
8419           p++;
8420           match = 15;
8421           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8422         }
8423         case 'a': {
8424           p++;
8425           match = 10;
8426           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8427         }
8428         case 'b': {
8429           p++;
8430           match = 11;
8431           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8432         }
8433         case 'c': {
8434           p++;
8435           match = 12;
8436           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8437         }
8438         case 'd': {
8439           p++;
8440           match = 13;
8441           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8442         }
8443         case 'e': {
8444           p++;
8445           match = 14;
8446           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8447         }
8448         case 'f': {
8449           p++;
8450           match = 15;
8451           goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
8452         }
8453         default: {
8454           goto s_n_llhttp__internal__n_error_9;
8455         }
8456       }
8457       /* UNREACHABLE */;
8458       abort();
8459     }
8460     case s_n_llhttp__internal__n_invoke_update_content_length:
8461     s_n_llhttp__internal__n_invoke_update_content_length: {
8462       switch (llhttp__internal__c_update_content_length(state, p, endp)) {
8463         default:
8464           goto s_n_llhttp__internal__n_chunk_size_digit;
8465       }
8466       /* UNREACHABLE */;
8467       abort();
8468     }
8469     case s_n_llhttp__internal__n_consume_content_length_1:
8470     s_n_llhttp__internal__n_consume_content_length_1: {
8471       size_t avail;
8472       uint64_t need;
8473 
8474       avail = endp - p;
8475       need = state->content_length;
8476       if (avail >= need) {
8477         p += need;
8478         state->content_length = 0;
8479         goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
8480       }
8481 
8482       state->content_length -= avail;
8483       return s_n_llhttp__internal__n_consume_content_length_1;
8484       /* UNREACHABLE */;
8485       abort();
8486     }
8487     case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
8488     s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
8489       if (p == endp) {
8490         return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
8491       }
8492       state->_span_pos0 = (void*) p;
8493       state->_span_cb0 = llhttp__on_body;
8494       goto s_n_llhttp__internal__n_consume_content_length_1;
8495       /* UNREACHABLE */;
8496       abort();
8497     }
8498     case s_n_llhttp__internal__n_eof:
8499     s_n_llhttp__internal__n_eof: {
8500       if (p == endp) {
8501         return s_n_llhttp__internal__n_eof;
8502       }
8503       p++;
8504       goto s_n_llhttp__internal__n_eof;
8505       /* UNREACHABLE */;
8506       abort();
8507     }
8508     case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
8509     s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
8510       if (p == endp) {
8511         return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
8512       }
8513       state->_span_pos0 = (void*) p;
8514       state->_span_cb0 = llhttp__on_body;
8515       goto s_n_llhttp__internal__n_eof;
8516       /* UNREACHABLE */;
8517       abort();
8518     }
8519     case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
8520     s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
8521       switch (llhttp__after_headers_complete(state, p, endp)) {
8522         case 1:
8523           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
8524         case 2:
8525           goto s_n_llhttp__internal__n_invoke_update_content_length;
8526         case 3:
8527           goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
8528         case 4:
8529           goto s_n_llhttp__internal__n_invoke_update_finish_2;
8530         case 5:
8531           goto s_n_llhttp__internal__n_error_11;
8532         default:
8533           goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
8534       }
8535       /* UNREACHABLE */;
8536       abort();
8537     }
8538     case s_n_llhttp__internal__n_headers_almost_done:
8539     s_n_llhttp__internal__n_headers_almost_done: {
8540       if (p == endp) {
8541         return s_n_llhttp__internal__n_headers_almost_done;
8542       }
8543       p++;
8544       goto s_n_llhttp__internal__n_invoke_test_flags;
8545       /* UNREACHABLE */;
8546       abort();
8547     }
8548     case s_n_llhttp__internal__n_header_field_colon_discard_ws:
8549     s_n_llhttp__internal__n_header_field_colon_discard_ws: {
8550       if (p == endp) {
8551         return s_n_llhttp__internal__n_header_field_colon_discard_ws;
8552       }
8553       switch (*p) {
8554         case ' ': {
8555           p++;
8556           goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
8557         }
8558         default: {
8559           goto s_n_llhttp__internal__n_header_field_colon;
8560         }
8561       }
8562       /* UNREACHABLE */;
8563       abort();
8564     }
8565     case s_n_llhttp__internal__n_error_15:
8566     s_n_llhttp__internal__n_error_15: {
8567       state->error = 0xa;
8568       state->reason = "Invalid header field char";
8569       state->error_pos = (const char*) p;
8570       state->_current = (void*) (intptr_t) s_error;
8571       return s_error;
8572       /* UNREACHABLE */;
8573       abort();
8574     }
8575     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
8576     s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
8577       if (p == endp) {
8578         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
8579       }
8580       state->_span_pos0 = (void*) p;
8581       state->_span_cb0 = llhttp__on_header_value;
8582       goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
8583       /* UNREACHABLE */;
8584       abort();
8585     }
8586     case s_n_llhttp__internal__n_header_value_discard_lws:
8587     s_n_llhttp__internal__n_header_value_discard_lws: {
8588       if (p == endp) {
8589         return s_n_llhttp__internal__n_header_value_discard_lws;
8590       }
8591       switch (*p) {
8592         case 9: {
8593           p++;
8594           goto s_n_llhttp__internal__n_header_value_discard_ws;
8595         }
8596         case ' ': {
8597           p++;
8598           goto s_n_llhttp__internal__n_header_value_discard_ws;
8599         }
8600         default: {
8601           goto s_n_llhttp__internal__n_invoke_load_header_state;
8602         }
8603       }
8604       /* UNREACHABLE */;
8605       abort();
8606     }
8607     case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
8608     s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
8609       if (p == endp) {
8610         return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
8611       }
8612       p++;
8613       goto s_n_llhttp__internal__n_header_value_discard_lws;
8614       /* UNREACHABLE */;
8615       abort();
8616     }
8617     case s_n_llhttp__internal__n_header_value_lws:
8618     s_n_llhttp__internal__n_header_value_lws: {
8619       if (p == endp) {
8620         return s_n_llhttp__internal__n_header_value_lws;
8621       }
8622       switch (*p) {
8623         case 9: {
8624           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
8625         }
8626         case ' ': {
8627           goto s_n_llhttp__internal__n_invoke_load_header_state_3;
8628         }
8629         default: {
8630           goto s_n_llhttp__internal__n_invoke_load_header_state_4;
8631         }
8632       }
8633       /* UNREACHABLE */;
8634       abort();
8635     }
8636     case s_n_llhttp__internal__n_header_value_almost_done:
8637     s_n_llhttp__internal__n_header_value_almost_done: {
8638       if (p == endp) {
8639         return s_n_llhttp__internal__n_header_value_almost_done;
8640       }
8641       switch (*p) {
8642         case 10: {
8643           p++;
8644           goto s_n_llhttp__internal__n_header_value_lws;
8645         }
8646         default: {
8647           goto s_n_llhttp__internal__n_error_18;
8648         }
8649       }
8650       /* UNREACHABLE */;
8651       abort();
8652     }
8653     case s_n_llhttp__internal__n_header_value_lenient:
8654     s_n_llhttp__internal__n_header_value_lenient: {
8655       if (p == endp) {
8656         return s_n_llhttp__internal__n_header_value_lenient;
8657       }
8658       switch (*p) {
8659         case 10: {
8660           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
8661         }
8662         case 13: {
8663           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
8664         }
8665         default: {
8666           p++;
8667           goto s_n_llhttp__internal__n_header_value_lenient;
8668         }
8669       }
8670       /* UNREACHABLE */;
8671       abort();
8672     }
8673     case s_n_llhttp__internal__n_error_19:
8674     s_n_llhttp__internal__n_error_19: {
8675       state->error = 0xa;
8676       state->reason = "Invalid header value char";
8677       state->error_pos = (const char*) p;
8678       state->_current = (void*) (intptr_t) s_error;
8679       return s_error;
8680       /* UNREACHABLE */;
8681       abort();
8682     }
8683     case s_n_llhttp__internal__n_header_value_otherwise:
8684     s_n_llhttp__internal__n_header_value_otherwise: {
8685       if (p == endp) {
8686         return s_n_llhttp__internal__n_header_value_otherwise;
8687       }
8688       switch (*p) {
8689         case 13: {
8690           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
8691         }
8692         default: {
8693           goto s_n_llhttp__internal__n_invoke_test_flags_6;
8694         }
8695       }
8696       /* UNREACHABLE */;
8697       abort();
8698     }
8699     case s_n_llhttp__internal__n_header_value_connection_token:
8700     s_n_llhttp__internal__n_header_value_connection_token: {
8701       static uint8_t lookup_table[] = {
8702         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
8703         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8704         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
8705         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8706         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8707         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8708         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8709         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
8710         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8711         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8712         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8713         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8714         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8715         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8716         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
8717         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
8718       };
8719       if (p == endp) {
8720         return s_n_llhttp__internal__n_header_value_connection_token;
8721       }
8722       switch (lookup_table[(uint8_t) *p]) {
8723         case 1: {
8724           p++;
8725           goto s_n_llhttp__internal__n_header_value_connection_token;
8726         }
8727         case 2: {
8728           p++;
8729           goto s_n_llhttp__internal__n_header_value_connection;
8730         }
8731         default: {
8732           goto s_n_llhttp__internal__n_header_value_otherwise;
8733         }
8734       }
8735       /* UNREACHABLE */;
8736       abort();
8737     }
8738     case s_n_llhttp__internal__n_header_value_connection_ws:
8739     s_n_llhttp__internal__n_header_value_connection_ws: {
8740       if (p == endp) {
8741         return s_n_llhttp__internal__n_header_value_connection_ws;
8742       }
8743       switch (*p) {
8744         case 10: {
8745           goto s_n_llhttp__internal__n_header_value_otherwise;
8746         }
8747         case 13: {
8748           goto s_n_llhttp__internal__n_header_value_otherwise;
8749         }
8750         case ' ': {
8751           p++;
8752           goto s_n_llhttp__internal__n_header_value_connection_ws;
8753         }
8754         case ',': {
8755           p++;
8756           goto s_n_llhttp__internal__n_invoke_load_header_state_5;
8757         }
8758         default: {
8759           goto s_n_llhttp__internal__n_invoke_update_header_state_5;
8760         }
8761       }
8762       /* UNREACHABLE */;
8763       abort();
8764     }
8765     case s_n_llhttp__internal__n_header_value_connection_1:
8766     s_n_llhttp__internal__n_header_value_connection_1: {
8767       llparse_match_t match_seq;
8768 
8769       if (p == endp) {
8770         return s_n_llhttp__internal__n_header_value_connection_1;
8771       }
8772       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob4, 4);
8773       p = match_seq.current;
8774       switch (match_seq.status) {
8775         case kMatchComplete: {
8776           p++;
8777           goto s_n_llhttp__internal__n_invoke_update_header_state_3;
8778         }
8779         case kMatchPause: {
8780           return s_n_llhttp__internal__n_header_value_connection_1;
8781         }
8782         case kMatchMismatch: {
8783           goto s_n_llhttp__internal__n_header_value_connection_token;
8784         }
8785       }
8786       /* UNREACHABLE */;
8787       abort();
8788     }
8789     case s_n_llhttp__internal__n_header_value_connection_2:
8790     s_n_llhttp__internal__n_header_value_connection_2: {
8791       llparse_match_t match_seq;
8792 
8793       if (p == endp) {
8794         return s_n_llhttp__internal__n_header_value_connection_2;
8795       }
8796       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob5, 9);
8797       p = match_seq.current;
8798       switch (match_seq.status) {
8799         case kMatchComplete: {
8800           p++;
8801           goto s_n_llhttp__internal__n_invoke_update_header_state_6;
8802         }
8803         case kMatchPause: {
8804           return s_n_llhttp__internal__n_header_value_connection_2;
8805         }
8806         case kMatchMismatch: {
8807           goto s_n_llhttp__internal__n_header_value_connection_token;
8808         }
8809       }
8810       /* UNREACHABLE */;
8811       abort();
8812     }
8813     case s_n_llhttp__internal__n_header_value_connection_3:
8814     s_n_llhttp__internal__n_header_value_connection_3: {
8815       llparse_match_t match_seq;
8816 
8817       if (p == endp) {
8818         return s_n_llhttp__internal__n_header_value_connection_3;
8819       }
8820       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob6, 6);
8821       p = match_seq.current;
8822       switch (match_seq.status) {
8823         case kMatchComplete: {
8824           p++;
8825           goto s_n_llhttp__internal__n_invoke_update_header_state_7;
8826         }
8827         case kMatchPause: {
8828           return s_n_llhttp__internal__n_header_value_connection_3;
8829         }
8830         case kMatchMismatch: {
8831           goto s_n_llhttp__internal__n_header_value_connection_token;
8832         }
8833       }
8834       /* UNREACHABLE */;
8835       abort();
8836     }
8837     case s_n_llhttp__internal__n_header_value_connection:
8838     s_n_llhttp__internal__n_header_value_connection: {
8839       if (p == endp) {
8840         return s_n_llhttp__internal__n_header_value_connection;
8841       }
8842       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
8843         case 9: {
8844           p++;
8845           goto s_n_llhttp__internal__n_header_value_connection;
8846         }
8847         case ' ': {
8848           p++;
8849           goto s_n_llhttp__internal__n_header_value_connection;
8850         }
8851         case 'c': {
8852           p++;
8853           goto s_n_llhttp__internal__n_header_value_connection_1;
8854         }
8855         case 'k': {
8856           p++;
8857           goto s_n_llhttp__internal__n_header_value_connection_2;
8858         }
8859         case 'u': {
8860           p++;
8861           goto s_n_llhttp__internal__n_header_value_connection_3;
8862         }
8863         default: {
8864           goto s_n_llhttp__internal__n_header_value_connection_token;
8865         }
8866       }
8867       /* UNREACHABLE */;
8868       abort();
8869     }
8870     case s_n_llhttp__internal__n_error_21:
8871     s_n_llhttp__internal__n_error_21: {
8872       state->error = 0xb;
8873       state->reason = "Content-Length overflow";
8874       state->error_pos = (const char*) p;
8875       state->_current = (void*) (intptr_t) s_error;
8876       return s_error;
8877       /* UNREACHABLE */;
8878       abort();
8879     }
8880     case s_n_llhttp__internal__n_error_22:
8881     s_n_llhttp__internal__n_error_22: {
8882       state->error = 0xb;
8883       state->reason = "Invalid character in Content-Length";
8884       state->error_pos = (const char*) p;
8885       state->_current = (void*) (intptr_t) s_error;
8886       return s_error;
8887       /* UNREACHABLE */;
8888       abort();
8889     }
8890     case s_n_llhttp__internal__n_header_value_content_length_ws:
8891     s_n_llhttp__internal__n_header_value_content_length_ws: {
8892       if (p == endp) {
8893         return s_n_llhttp__internal__n_header_value_content_length_ws;
8894       }
8895       switch (*p) {
8896         case 10: {
8897           goto s_n_llhttp__internal__n_invoke_or_flags_15;
8898         }
8899         case 13: {
8900           goto s_n_llhttp__internal__n_invoke_or_flags_15;
8901         }
8902         case ' ': {
8903           p++;
8904           goto s_n_llhttp__internal__n_header_value_content_length_ws;
8905         }
8906         default: {
8907           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6;
8908         }
8909       }
8910       /* UNREACHABLE */;
8911       abort();
8912     }
8913     case s_n_llhttp__internal__n_header_value_content_length:
8914     s_n_llhttp__internal__n_header_value_content_length: {
8915       if (p == endp) {
8916         return s_n_llhttp__internal__n_header_value_content_length;
8917       }
8918       switch (*p) {
8919         case '0': {
8920           p++;
8921           match = 0;
8922           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8923         }
8924         case '1': {
8925           p++;
8926           match = 1;
8927           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8928         }
8929         case '2': {
8930           p++;
8931           match = 2;
8932           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8933         }
8934         case '3': {
8935           p++;
8936           match = 3;
8937           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8938         }
8939         case '4': {
8940           p++;
8941           match = 4;
8942           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8943         }
8944         case '5': {
8945           p++;
8946           match = 5;
8947           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8948         }
8949         case '6': {
8950           p++;
8951           match = 6;
8952           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8953         }
8954         case '7': {
8955           p++;
8956           match = 7;
8957           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8958         }
8959         case '8': {
8960           p++;
8961           match = 8;
8962           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8963         }
8964         case '9': {
8965           p++;
8966           match = 9;
8967           goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
8968         }
8969         default: {
8970           goto s_n_llhttp__internal__n_header_value_content_length_ws;
8971         }
8972       }
8973       /* UNREACHABLE */;
8974       abort();
8975     }
8976     case s_n_llhttp__internal__n_error_24:
8977     s_n_llhttp__internal__n_error_24: {
8978       state->error = 0xf;
8979       state->reason = "Invalid `Transfer-Encoding` header value";
8980       state->error_pos = (const char*) p;
8981       state->_current = (void*) (intptr_t) s_error;
8982       return s_error;
8983       /* UNREACHABLE */;
8984       abort();
8985     }
8986     case s_n_llhttp__internal__n_error_23:
8987     s_n_llhttp__internal__n_error_23: {
8988       state->error = 0xf;
8989       state->reason = "Invalid `Transfer-Encoding` header value";
8990       state->error_pos = (const char*) p;
8991       state->_current = (void*) (intptr_t) s_error;
8992       return s_error;
8993       /* UNREACHABLE */;
8994       abort();
8995     }
8996     case s_n_llhttp__internal__n_header_value_te_token_ows:
8997     s_n_llhttp__internal__n_header_value_te_token_ows: {
8998       if (p == endp) {
8999         return s_n_llhttp__internal__n_header_value_te_token_ows;
9000       }
9001       switch (*p) {
9002         case 9: {
9003           p++;
9004           goto s_n_llhttp__internal__n_header_value_te_token_ows;
9005         }
9006         case ' ': {
9007           p++;
9008           goto s_n_llhttp__internal__n_header_value_te_token_ows;
9009         }
9010         default: {
9011           goto s_n_llhttp__internal__n_header_value_te_chunked;
9012         }
9013       }
9014       /* UNREACHABLE */;
9015       abort();
9016     }
9017     case s_n_llhttp__internal__n_header_value:
9018     s_n_llhttp__internal__n_header_value: {
9019       static uint8_t lookup_table[] = {
9020         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
9021         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9022         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9023         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9024         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9025         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9026         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9027         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9028         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9029         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9030         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9031         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9032         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9033         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9034         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9035         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9036       };
9037       if (p == endp) {
9038         return s_n_llhttp__internal__n_header_value;
9039       }
9040       #ifdef __SSE4_2__
9041       if (endp - p >= 16) {
9042         __m128i ranges;
9043         __m128i input;
9044         int avail;
9045         int match_len;
9046 
9047         /* Load input */
9048         input = _mm_loadu_si128((__m128i const*) p);
9049         ranges = _mm_loadu_si128((__m128i const*) llparse_blob8);
9050 
9051         /* Find first character that does not match `ranges` */
9052         match_len = _mm_cmpestri(ranges, 6,
9053             input, 16,
9054             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9055               _SIDD_NEGATIVE_POLARITY);
9056 
9057         if (match_len != 0) {
9058           p += match_len;
9059           goto s_n_llhttp__internal__n_header_value;
9060         }
9061         goto s_n_llhttp__internal__n_header_value_otherwise;
9062       }
9063       #endif  /* __SSE4_2__ */
9064       switch (lookup_table[(uint8_t) *p]) {
9065         case 1: {
9066           p++;
9067           goto s_n_llhttp__internal__n_header_value;
9068         }
9069         default: {
9070           goto s_n_llhttp__internal__n_header_value_otherwise;
9071         }
9072       }
9073       /* UNREACHABLE */;
9074       abort();
9075     }
9076     case s_n_llhttp__internal__n_header_value_te_token:
9077     s_n_llhttp__internal__n_header_value_te_token: {
9078       static uint8_t lookup_table[] = {
9079         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
9080         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9081         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
9082         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9083         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9084         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9085         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9086         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9087         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9088         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9089         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9090         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9091         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9092         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9093         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9094         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9095       };
9096       if (p == endp) {
9097         return s_n_llhttp__internal__n_header_value_te_token;
9098       }
9099       switch (lookup_table[(uint8_t) *p]) {
9100         case 1: {
9101           p++;
9102           goto s_n_llhttp__internal__n_header_value_te_token;
9103         }
9104         case 2: {
9105           p++;
9106           goto s_n_llhttp__internal__n_header_value_te_token_ows;
9107         }
9108         default: {
9109           goto s_n_llhttp__internal__n_invoke_update_header_state_9;
9110         }
9111       }
9112       /* UNREACHABLE */;
9113       abort();
9114     }
9115     case s_n_llhttp__internal__n_header_value_te_chunked_last:
9116     s_n_llhttp__internal__n_header_value_te_chunked_last: {
9117       if (p == endp) {
9118         return s_n_llhttp__internal__n_header_value_te_chunked_last;
9119       }
9120       switch (*p) {
9121         case 10: {
9122           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
9123         }
9124         case 13: {
9125           goto s_n_llhttp__internal__n_invoke_update_header_state_8;
9126         }
9127         case ' ': {
9128           p++;
9129           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
9130         }
9131         case ',': {
9132           goto s_n_llhttp__internal__n_invoke_load_type_1;
9133         }
9134         default: {
9135           goto s_n_llhttp__internal__n_header_value_te_token;
9136         }
9137       }
9138       /* UNREACHABLE */;
9139       abort();
9140     }
9141     case s_n_llhttp__internal__n_header_value_te_chunked:
9142     s_n_llhttp__internal__n_header_value_te_chunked: {
9143       llparse_match_t match_seq;
9144 
9145       if (p == endp) {
9146         return s_n_llhttp__internal__n_header_value_te_chunked;
9147       }
9148       match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob7, 7);
9149       p = match_seq.current;
9150       switch (match_seq.status) {
9151         case kMatchComplete: {
9152           p++;
9153           goto s_n_llhttp__internal__n_header_value_te_chunked_last;
9154         }
9155         case kMatchPause: {
9156           return s_n_llhttp__internal__n_header_value_te_chunked;
9157         }
9158         case kMatchMismatch: {
9159           goto s_n_llhttp__internal__n_header_value_te_token;
9160         }
9161       }
9162       /* UNREACHABLE */;
9163       abort();
9164     }
9165     case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
9166     s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
9167       if (p == endp) {
9168         return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
9169       }
9170       state->_span_pos0 = (void*) p;
9171       state->_span_cb0 = llhttp__on_header_value;
9172       goto s_n_llhttp__internal__n_invoke_load_header_state_2;
9173       /* UNREACHABLE */;
9174       abort();
9175     }
9176     case s_n_llhttp__internal__n_header_value_discard_ws:
9177     s_n_llhttp__internal__n_header_value_discard_ws: {
9178       if (p == endp) {
9179         return s_n_llhttp__internal__n_header_value_discard_ws;
9180       }
9181       switch (*p) {
9182         case 9: {
9183           p++;
9184           goto s_n_llhttp__internal__n_header_value_discard_ws;
9185         }
9186         case 10: {
9187           p++;
9188           goto s_n_llhttp__internal__n_invoke_test_flags_5;
9189         }
9190         case 13: {
9191           p++;
9192           goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
9193         }
9194         case ' ': {
9195           p++;
9196           goto s_n_llhttp__internal__n_header_value_discard_ws;
9197         }
9198         default: {
9199           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
9200         }
9201       }
9202       /* UNREACHABLE */;
9203       abort();
9204     }
9205     case s_n_llhttp__internal__n_header_field_general_otherwise:
9206     s_n_llhttp__internal__n_header_field_general_otherwise: {
9207       if (p == endp) {
9208         return s_n_llhttp__internal__n_header_field_general_otherwise;
9209       }
9210       switch (*p) {
9211         case ':': {
9212           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2;
9213         }
9214         default: {
9215           goto s_n_llhttp__internal__n_error_25;
9216         }
9217       }
9218       /* UNREACHABLE */;
9219       abort();
9220     }
9221     case s_n_llhttp__internal__n_header_field_general:
9222     s_n_llhttp__internal__n_header_field_general: {
9223       static uint8_t lookup_table[] = {
9224         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9225         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9226         1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
9227         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
9228         0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9229         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
9230         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9231         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
9232         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9233         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9234         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9235         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9236         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9237         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9238         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9239         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
9240       };
9241       if (p == endp) {
9242         return s_n_llhttp__internal__n_header_field_general;
9243       }
9244       #ifdef __SSE4_2__
9245       if (endp - p >= 16) {
9246         __m128i ranges;
9247         __m128i input;
9248         int avail;
9249         int match_len;
9250 
9251         /* Load input */
9252         input = _mm_loadu_si128((__m128i const*) p);
9253         ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
9254 
9255         /* Find first character that does not match `ranges` */
9256         match_len = _mm_cmpestri(ranges, 16,
9257             input, 16,
9258             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9259               _SIDD_NEGATIVE_POLARITY);
9260 
9261         if (match_len != 0) {
9262           p += match_len;
9263           goto s_n_llhttp__internal__n_header_field_general;
9264         }
9265         ranges = _mm_loadu_si128((__m128i const*) llparse_blob10);
9266 
9267         /* Find first character that does not match `ranges` */
9268         match_len = _mm_cmpestri(ranges, 2,
9269             input, 16,
9270             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
9271               _SIDD_NEGATIVE_POLARITY);
9272 
9273         if (match_len != 0) {
9274           p += match_len;
9275           goto s_n_llhttp__internal__n_header_field_general;
9276         }
9277         goto s_n_llhttp__internal__n_header_field_general_otherwise;
9278       }
9279       #endif  /* __SSE4_2__ */
9280       switch (lookup_table[(uint8_t) *p]) {
9281         case 1: {
9282           p++;
9283           goto s_n_llhttp__internal__n_header_field_general;
9284         }
9285         default: {
9286           goto s_n_llhttp__internal__n_header_field_general_otherwise;
9287         }
9288       }
9289       /* UNREACHABLE */;
9290       abort();
9291     }
9292     case s_n_llhttp__internal__n_header_field_colon:
9293     s_n_llhttp__internal__n_header_field_colon: {
9294       if (p == endp) {
9295         return s_n_llhttp__internal__n_header_field_colon;
9296       }
9297       switch (*p) {
9298         case ' ': {
9299           goto s_n_llhttp__internal__n_invoke_test_flags_4;
9300         }
9301         case ':': {
9302           goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
9303         }
9304         default: {
9305           goto s_n_llhttp__internal__n_invoke_update_header_state_10;
9306         }
9307       }
9308       /* UNREACHABLE */;
9309       abort();
9310     }
9311     case s_n_llhttp__internal__n_header_field_3:
9312     s_n_llhttp__internal__n_header_field_3: {
9313       llparse_match_t match_seq;
9314 
9315       if (p == endp) {
9316         return s_n_llhttp__internal__n_header_field_3;
9317       }
9318       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob3, 6);
9319       p = match_seq.current;
9320       switch (match_seq.status) {
9321         case kMatchComplete: {
9322           p++;
9323           match = 1;
9324           goto s_n_llhttp__internal__n_invoke_store_header_state;
9325         }
9326         case kMatchPause: {
9327           return s_n_llhttp__internal__n_header_field_3;
9328         }
9329         case kMatchMismatch: {
9330           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9331         }
9332       }
9333       /* UNREACHABLE */;
9334       abort();
9335     }
9336     case s_n_llhttp__internal__n_header_field_4:
9337     s_n_llhttp__internal__n_header_field_4: {
9338       llparse_match_t match_seq;
9339 
9340       if (p == endp) {
9341         return s_n_llhttp__internal__n_header_field_4;
9342       }
9343       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob11, 10);
9344       p = match_seq.current;
9345       switch (match_seq.status) {
9346         case kMatchComplete: {
9347           p++;
9348           match = 2;
9349           goto s_n_llhttp__internal__n_invoke_store_header_state;
9350         }
9351         case kMatchPause: {
9352           return s_n_llhttp__internal__n_header_field_4;
9353         }
9354         case kMatchMismatch: {
9355           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9356         }
9357       }
9358       /* UNREACHABLE */;
9359       abort();
9360     }
9361     case s_n_llhttp__internal__n_header_field_2:
9362     s_n_llhttp__internal__n_header_field_2: {
9363       if (p == endp) {
9364         return s_n_llhttp__internal__n_header_field_2;
9365       }
9366       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
9367         case 'n': {
9368           p++;
9369           goto s_n_llhttp__internal__n_header_field_3;
9370         }
9371         case 't': {
9372           p++;
9373           goto s_n_llhttp__internal__n_header_field_4;
9374         }
9375         default: {
9376           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9377         }
9378       }
9379       /* UNREACHABLE */;
9380       abort();
9381     }
9382     case s_n_llhttp__internal__n_header_field_1:
9383     s_n_llhttp__internal__n_header_field_1: {
9384       llparse_match_t match_seq;
9385 
9386       if (p == endp) {
9387         return s_n_llhttp__internal__n_header_field_1;
9388       }
9389       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob2, 2);
9390       p = match_seq.current;
9391       switch (match_seq.status) {
9392         case kMatchComplete: {
9393           p++;
9394           goto s_n_llhttp__internal__n_header_field_2;
9395         }
9396         case kMatchPause: {
9397           return s_n_llhttp__internal__n_header_field_1;
9398         }
9399         case kMatchMismatch: {
9400           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9401         }
9402       }
9403       /* UNREACHABLE */;
9404       abort();
9405     }
9406     case s_n_llhttp__internal__n_header_field_5:
9407     s_n_llhttp__internal__n_header_field_5: {
9408       llparse_match_t match_seq;
9409 
9410       if (p == endp) {
9411         return s_n_llhttp__internal__n_header_field_5;
9412       }
9413       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob12, 15);
9414       p = match_seq.current;
9415       switch (match_seq.status) {
9416         case kMatchComplete: {
9417           p++;
9418           match = 1;
9419           goto s_n_llhttp__internal__n_invoke_store_header_state;
9420         }
9421         case kMatchPause: {
9422           return s_n_llhttp__internal__n_header_field_5;
9423         }
9424         case kMatchMismatch: {
9425           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9426         }
9427       }
9428       /* UNREACHABLE */;
9429       abort();
9430     }
9431     case s_n_llhttp__internal__n_header_field_6:
9432     s_n_llhttp__internal__n_header_field_6: {
9433       llparse_match_t match_seq;
9434 
9435       if (p == endp) {
9436         return s_n_llhttp__internal__n_header_field_6;
9437       }
9438       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob13, 16);
9439       p = match_seq.current;
9440       switch (match_seq.status) {
9441         case kMatchComplete: {
9442           p++;
9443           match = 3;
9444           goto s_n_llhttp__internal__n_invoke_store_header_state;
9445         }
9446         case kMatchPause: {
9447           return s_n_llhttp__internal__n_header_field_6;
9448         }
9449         case kMatchMismatch: {
9450           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9451         }
9452       }
9453       /* UNREACHABLE */;
9454       abort();
9455     }
9456     case s_n_llhttp__internal__n_header_field_7:
9457     s_n_llhttp__internal__n_header_field_7: {
9458       llparse_match_t match_seq;
9459 
9460       if (p == endp) {
9461         return s_n_llhttp__internal__n_header_field_7;
9462       }
9463       match_seq = llparse__match_sequence_to_lower(state, p, endp, llparse_blob14, 6);
9464       p = match_seq.current;
9465       switch (match_seq.status) {
9466         case kMatchComplete: {
9467           p++;
9468           match = 4;
9469           goto s_n_llhttp__internal__n_invoke_store_header_state;
9470         }
9471         case kMatchPause: {
9472           return s_n_llhttp__internal__n_header_field_7;
9473         }
9474         case kMatchMismatch: {
9475           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9476         }
9477       }
9478       /* UNREACHABLE */;
9479       abort();
9480     }
9481     case s_n_llhttp__internal__n_header_field:
9482     s_n_llhttp__internal__n_header_field: {
9483       if (p == endp) {
9484         return s_n_llhttp__internal__n_header_field;
9485       }
9486       switch (((*p) >= 'A' && (*p) <= 'Z' ? (*p | 0x20) : (*p))) {
9487         case 'c': {
9488           p++;
9489           goto s_n_llhttp__internal__n_header_field_1;
9490         }
9491         case 'p': {
9492           p++;
9493           goto s_n_llhttp__internal__n_header_field_5;
9494         }
9495         case 't': {
9496           p++;
9497           goto s_n_llhttp__internal__n_header_field_6;
9498         }
9499         case 'u': {
9500           p++;
9501           goto s_n_llhttp__internal__n_header_field_7;
9502         }
9503         default: {
9504           goto s_n_llhttp__internal__n_invoke_update_header_state_11;
9505         }
9506       }
9507       /* UNREACHABLE */;
9508       abort();
9509     }
9510     case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
9511     s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
9512       if (p == endp) {
9513         return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
9514       }
9515       state->_span_pos0 = (void*) p;
9516       state->_span_cb0 = llhttp__on_header_field;
9517       goto s_n_llhttp__internal__n_header_field;
9518       /* UNREACHABLE */;
9519       abort();
9520     }
9521     case s_n_llhttp__internal__n_header_field_start:
9522     s_n_llhttp__internal__n_header_field_start: {
9523       if (p == endp) {
9524         return s_n_llhttp__internal__n_header_field_start;
9525       }
9526       switch (*p) {
9527         case 10: {
9528           goto s_n_llhttp__internal__n_headers_almost_done;
9529         }
9530         case 13: {
9531           p++;
9532           goto s_n_llhttp__internal__n_headers_almost_done;
9533         }
9534         default: {
9535           goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
9536         }
9537       }
9538       /* UNREACHABLE */;
9539       abort();
9540     }
9541     case s_n_llhttp__internal__n_url_skip_to_http09:
9542     s_n_llhttp__internal__n_url_skip_to_http09: {
9543       if (p == endp) {
9544         return s_n_llhttp__internal__n_url_skip_to_http09;
9545       }
9546       p++;
9547       goto s_n_llhttp__internal__n_invoke_update_http_major;
9548       /* UNREACHABLE */;
9549       abort();
9550     }
9551     case s_n_llhttp__internal__n_url_skip_lf_to_http09:
9552     s_n_llhttp__internal__n_url_skip_lf_to_http09: {
9553       llparse_match_t match_seq;
9554 
9555       if (p == endp) {
9556         return s_n_llhttp__internal__n_url_skip_lf_to_http09;
9557       }
9558       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 2);
9559       p = match_seq.current;
9560       switch (match_seq.status) {
9561         case kMatchComplete: {
9562           p++;
9563           goto s_n_llhttp__internal__n_invoke_update_http_major;
9564         }
9565         case kMatchPause: {
9566           return s_n_llhttp__internal__n_url_skip_lf_to_http09;
9567         }
9568         case kMatchMismatch: {
9569           goto s_n_llhttp__internal__n_error_26;
9570         }
9571       }
9572       /* UNREACHABLE */;
9573       abort();
9574     }
9575     case s_n_llhttp__internal__n_req_http_end_1:
9576     s_n_llhttp__internal__n_req_http_end_1: {
9577       if (p == endp) {
9578         return s_n_llhttp__internal__n_req_http_end_1;
9579       }
9580       switch (*p) {
9581         case 10: {
9582           p++;
9583           goto s_n_llhttp__internal__n_header_field_start;
9584         }
9585         default: {
9586           goto s_n_llhttp__internal__n_error_27;
9587         }
9588       }
9589       /* UNREACHABLE */;
9590       abort();
9591     }
9592     case s_n_llhttp__internal__n_req_http_end:
9593     s_n_llhttp__internal__n_req_http_end: {
9594       if (p == endp) {
9595         return s_n_llhttp__internal__n_req_http_end;
9596       }
9597       switch (*p) {
9598         case 10: {
9599           p++;
9600           goto s_n_llhttp__internal__n_header_field_start;
9601         }
9602         case 13: {
9603           p++;
9604           goto s_n_llhttp__internal__n_req_http_end_1;
9605         }
9606         default: {
9607           goto s_n_llhttp__internal__n_error_27;
9608         }
9609       }
9610       /* UNREACHABLE */;
9611       abort();
9612     }
9613     case s_n_llhttp__internal__n_req_http_minor:
9614     s_n_llhttp__internal__n_req_http_minor: {
9615       if (p == endp) {
9616         return s_n_llhttp__internal__n_req_http_minor;
9617       }
9618       switch (*p) {
9619         case '0': {
9620           p++;
9621           match = 0;
9622           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9623         }
9624         case '1': {
9625           p++;
9626           match = 1;
9627           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9628         }
9629         case '2': {
9630           p++;
9631           match = 2;
9632           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9633         }
9634         case '3': {
9635           p++;
9636           match = 3;
9637           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9638         }
9639         case '4': {
9640           p++;
9641           match = 4;
9642           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9643         }
9644         case '5': {
9645           p++;
9646           match = 5;
9647           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9648         }
9649         case '6': {
9650           p++;
9651           match = 6;
9652           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9653         }
9654         case '7': {
9655           p++;
9656           match = 7;
9657           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9658         }
9659         case '8': {
9660           p++;
9661           match = 8;
9662           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9663         }
9664         case '9': {
9665           p++;
9666           match = 9;
9667           goto s_n_llhttp__internal__n_invoke_store_http_minor;
9668         }
9669         default: {
9670           goto s_n_llhttp__internal__n_error_28;
9671         }
9672       }
9673       /* UNREACHABLE */;
9674       abort();
9675     }
9676     case s_n_llhttp__internal__n_req_http_dot:
9677     s_n_llhttp__internal__n_req_http_dot: {
9678       if (p == endp) {
9679         return s_n_llhttp__internal__n_req_http_dot;
9680       }
9681       switch (*p) {
9682         case '.': {
9683           p++;
9684           goto s_n_llhttp__internal__n_req_http_minor;
9685         }
9686         default: {
9687           goto s_n_llhttp__internal__n_error_29;
9688         }
9689       }
9690       /* UNREACHABLE */;
9691       abort();
9692     }
9693     case s_n_llhttp__internal__n_req_http_major:
9694     s_n_llhttp__internal__n_req_http_major: {
9695       if (p == endp) {
9696         return s_n_llhttp__internal__n_req_http_major;
9697       }
9698       switch (*p) {
9699         case '0': {
9700           p++;
9701           match = 0;
9702           goto s_n_llhttp__internal__n_invoke_store_http_major;
9703         }
9704         case '1': {
9705           p++;
9706           match = 1;
9707           goto s_n_llhttp__internal__n_invoke_store_http_major;
9708         }
9709         case '2': {
9710           p++;
9711           match = 2;
9712           goto s_n_llhttp__internal__n_invoke_store_http_major;
9713         }
9714         case '3': {
9715           p++;
9716           match = 3;
9717           goto s_n_llhttp__internal__n_invoke_store_http_major;
9718         }
9719         case '4': {
9720           p++;
9721           match = 4;
9722           goto s_n_llhttp__internal__n_invoke_store_http_major;
9723         }
9724         case '5': {
9725           p++;
9726           match = 5;
9727           goto s_n_llhttp__internal__n_invoke_store_http_major;
9728         }
9729         case '6': {
9730           p++;
9731           match = 6;
9732           goto s_n_llhttp__internal__n_invoke_store_http_major;
9733         }
9734         case '7': {
9735           p++;
9736           match = 7;
9737           goto s_n_llhttp__internal__n_invoke_store_http_major;
9738         }
9739         case '8': {
9740           p++;
9741           match = 8;
9742           goto s_n_llhttp__internal__n_invoke_store_http_major;
9743         }
9744         case '9': {
9745           p++;
9746           match = 9;
9747           goto s_n_llhttp__internal__n_invoke_store_http_major;
9748         }
9749         default: {
9750           goto s_n_llhttp__internal__n_error_30;
9751         }
9752       }
9753       /* UNREACHABLE */;
9754       abort();
9755     }
9756     case s_n_llhttp__internal__n_req_http_start_1:
9757     s_n_llhttp__internal__n_req_http_start_1: {
9758       llparse_match_t match_seq;
9759 
9760       if (p == endp) {
9761         return s_n_llhttp__internal__n_req_http_start_1;
9762       }
9763       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 4);
9764       p = match_seq.current;
9765       switch (match_seq.status) {
9766         case kMatchComplete: {
9767           p++;
9768           goto s_n_llhttp__internal__n_req_http_major;
9769         }
9770         case kMatchPause: {
9771           return s_n_llhttp__internal__n_req_http_start_1;
9772         }
9773         case kMatchMismatch: {
9774           goto s_n_llhttp__internal__n_error_32;
9775         }
9776       }
9777       /* UNREACHABLE */;
9778       abort();
9779     }
9780     case s_n_llhttp__internal__n_req_http_start_2:
9781     s_n_llhttp__internal__n_req_http_start_2: {
9782       llparse_match_t match_seq;
9783 
9784       if (p == endp) {
9785         return s_n_llhttp__internal__n_req_http_start_2;
9786       }
9787       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob17, 3);
9788       p = match_seq.current;
9789       switch (match_seq.status) {
9790         case kMatchComplete: {
9791           p++;
9792           goto s_n_llhttp__internal__n_invoke_is_equal_method_1;
9793         }
9794         case kMatchPause: {
9795           return s_n_llhttp__internal__n_req_http_start_2;
9796         }
9797         case kMatchMismatch: {
9798           goto s_n_llhttp__internal__n_error_32;
9799         }
9800       }
9801       /* UNREACHABLE */;
9802       abort();
9803     }
9804     case s_n_llhttp__internal__n_req_http_start:
9805     s_n_llhttp__internal__n_req_http_start: {
9806       if (p == endp) {
9807         return s_n_llhttp__internal__n_req_http_start;
9808       }
9809       switch (*p) {
9810         case ' ': {
9811           p++;
9812           goto s_n_llhttp__internal__n_req_http_start;
9813         }
9814         case 'H': {
9815           p++;
9816           goto s_n_llhttp__internal__n_req_http_start_1;
9817         }
9818         case 'I': {
9819           p++;
9820           goto s_n_llhttp__internal__n_req_http_start_2;
9821         }
9822         default: {
9823           goto s_n_llhttp__internal__n_error_32;
9824         }
9825       }
9826       /* UNREACHABLE */;
9827       abort();
9828     }
9829     case s_n_llhttp__internal__n_url_skip_to_http:
9830     s_n_llhttp__internal__n_url_skip_to_http: {
9831       if (p == endp) {
9832         return s_n_llhttp__internal__n_url_skip_to_http;
9833       }
9834       p++;
9835       goto s_n_llhttp__internal__n_req_http_start;
9836       /* UNREACHABLE */;
9837       abort();
9838     }
9839     case s_n_llhttp__internal__n_url_fragment:
9840     s_n_llhttp__internal__n_url_fragment: {
9841       static uint8_t lookup_table[] = {
9842         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
9843         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9844         4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9845         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9846         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9847         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9848         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9849         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9850         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9851         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9852         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9853         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9854         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9855         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9856         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9857         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9858       };
9859       if (p == endp) {
9860         return s_n_llhttp__internal__n_url_fragment;
9861       }
9862       switch (lookup_table[(uint8_t) *p]) {
9863         case 1: {
9864           p++;
9865           goto s_n_llhttp__internal__n_url_fragment;
9866         }
9867         case 2: {
9868           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
9869         }
9870         case 3: {
9871           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
9872         }
9873         case 4: {
9874           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
9875         }
9876         default: {
9877           goto s_n_llhttp__internal__n_error_33;
9878         }
9879       }
9880       /* UNREACHABLE */;
9881       abort();
9882     }
9883     case s_n_llhttp__internal__n_span_end_stub_query_3:
9884     s_n_llhttp__internal__n_span_end_stub_query_3: {
9885       if (p == endp) {
9886         return s_n_llhttp__internal__n_span_end_stub_query_3;
9887       }
9888       p++;
9889       goto s_n_llhttp__internal__n_url_fragment;
9890       /* UNREACHABLE */;
9891       abort();
9892     }
9893     case s_n_llhttp__internal__n_url_query:
9894     s_n_llhttp__internal__n_url_query: {
9895       static uint8_t lookup_table[] = {
9896         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
9897         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9898         4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9899         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9900         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9901         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9902         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9903         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9904         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9905         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9906         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9907         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9908         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9909         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9910         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9911         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9912       };
9913       if (p == endp) {
9914         return s_n_llhttp__internal__n_url_query;
9915       }
9916       switch (lookup_table[(uint8_t) *p]) {
9917         case 1: {
9918           p++;
9919           goto s_n_llhttp__internal__n_url_query;
9920         }
9921         case 2: {
9922           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
9923         }
9924         case 3: {
9925           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
9926         }
9927         case 4: {
9928           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
9929         }
9930         case 5: {
9931           goto s_n_llhttp__internal__n_span_end_stub_query_3;
9932         }
9933         default: {
9934           goto s_n_llhttp__internal__n_error_34;
9935         }
9936       }
9937       /* UNREACHABLE */;
9938       abort();
9939     }
9940     case s_n_llhttp__internal__n_url_query_or_fragment:
9941     s_n_llhttp__internal__n_url_query_or_fragment: {
9942       if (p == endp) {
9943         return s_n_llhttp__internal__n_url_query_or_fragment;
9944       }
9945       switch (*p) {
9946         case 10: {
9947           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
9948         }
9949         case 13: {
9950           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
9951         }
9952         case ' ': {
9953           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
9954         }
9955         case '#': {
9956           p++;
9957           goto s_n_llhttp__internal__n_url_fragment;
9958         }
9959         case '?': {
9960           p++;
9961           goto s_n_llhttp__internal__n_url_query;
9962         }
9963         default: {
9964           goto s_n_llhttp__internal__n_error_35;
9965         }
9966       }
9967       /* UNREACHABLE */;
9968       abort();
9969     }
9970     case s_n_llhttp__internal__n_url_path:
9971     s_n_llhttp__internal__n_url_path: {
9972       static uint8_t lookup_table[] = {
9973         0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
9974         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
9975         0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9976         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9977         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9978         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9979         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9980         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
9981         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9982         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9983         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9984         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9985         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9986         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9987         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
9988         1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
9989       };
9990       if (p == endp) {
9991         return s_n_llhttp__internal__n_url_path;
9992       }
9993       #ifdef __SSE4_2__
9994       if (endp - p >= 16) {
9995         __m128i ranges;
9996         __m128i input;
9997         int avail;
9998         int match_len;
9999 
10000         /* Load input */
10001         input = _mm_loadu_si128((__m128i const*) p);
10002         ranges = _mm_loadu_si128((__m128i const*) llparse_blob1);
10003 
10004         /* Find first character that does not match `ranges` */
10005         match_len = _mm_cmpestri(ranges, 12,
10006             input, 16,
10007             _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
10008               _SIDD_NEGATIVE_POLARITY);
10009 
10010         if (match_len != 0) {
10011           p += match_len;
10012           goto s_n_llhttp__internal__n_url_path;
10013         }
10014         goto s_n_llhttp__internal__n_url_query_or_fragment;
10015       }
10016       #endif  /* __SSE4_2__ */
10017       switch (lookup_table[(uint8_t) *p]) {
10018         case 1: {
10019           p++;
10020           goto s_n_llhttp__internal__n_url_path;
10021         }
10022         default: {
10023           goto s_n_llhttp__internal__n_url_query_or_fragment;
10024         }
10025       }
10026       /* UNREACHABLE */;
10027       abort();
10028     }
10029     case s_n_llhttp__internal__n_span_start_stub_path_2:
10030     s_n_llhttp__internal__n_span_start_stub_path_2: {
10031       if (p == endp) {
10032         return s_n_llhttp__internal__n_span_start_stub_path_2;
10033       }
10034       p++;
10035       goto s_n_llhttp__internal__n_url_path;
10036       /* UNREACHABLE */;
10037       abort();
10038     }
10039     case s_n_llhttp__internal__n_span_start_stub_path:
10040     s_n_llhttp__internal__n_span_start_stub_path: {
10041       if (p == endp) {
10042         return s_n_llhttp__internal__n_span_start_stub_path;
10043       }
10044       p++;
10045       goto s_n_llhttp__internal__n_url_path;
10046       /* UNREACHABLE */;
10047       abort();
10048     }
10049     case s_n_llhttp__internal__n_span_start_stub_path_1:
10050     s_n_llhttp__internal__n_span_start_stub_path_1: {
10051       if (p == endp) {
10052         return s_n_llhttp__internal__n_span_start_stub_path_1;
10053       }
10054       p++;
10055       goto s_n_llhttp__internal__n_url_path;
10056       /* UNREACHABLE */;
10057       abort();
10058     }
10059     case s_n_llhttp__internal__n_url_server_with_at:
10060     s_n_llhttp__internal__n_url_server_with_at: {
10061       static uint8_t lookup_table[] = {
10062         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
10063         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10064         3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
10065         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
10066         7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
10067         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
10068         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
10069         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
10070         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10071         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10072         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10073         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10074         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10075         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10076         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10077         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10078       };
10079       if (p == endp) {
10080         return s_n_llhttp__internal__n_url_server_with_at;
10081       }
10082       switch (lookup_table[(uint8_t) *p]) {
10083         case 1: {
10084           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
10085         }
10086         case 2: {
10087           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
10088         }
10089         case 3: {
10090           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
10091         }
10092         case 4: {
10093           p++;
10094           goto s_n_llhttp__internal__n_url_server;
10095         }
10096         case 5: {
10097           goto s_n_llhttp__internal__n_span_start_stub_path_1;
10098         }
10099         case 6: {
10100           p++;
10101           goto s_n_llhttp__internal__n_url_query;
10102         }
10103         case 7: {
10104           p++;
10105           goto s_n_llhttp__internal__n_error_36;
10106         }
10107         default: {
10108           goto s_n_llhttp__internal__n_error_37;
10109         }
10110       }
10111       /* UNREACHABLE */;
10112       abort();
10113     }
10114     case s_n_llhttp__internal__n_url_server:
10115     s_n_llhttp__internal__n_url_server: {
10116       static uint8_t lookup_table[] = {
10117         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
10118         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10119         3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
10120         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
10121         7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
10122         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
10123         0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
10124         4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
10125         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10126         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10127         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10128         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10129         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10130         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10131         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10132         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10133       };
10134       if (p == endp) {
10135         return s_n_llhttp__internal__n_url_server;
10136       }
10137       switch (lookup_table[(uint8_t) *p]) {
10138         case 1: {
10139           goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
10140         }
10141         case 2: {
10142           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
10143         }
10144         case 3: {
10145           goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
10146         }
10147         case 4: {
10148           p++;
10149           goto s_n_llhttp__internal__n_url_server;
10150         }
10151         case 5: {
10152           goto s_n_llhttp__internal__n_span_start_stub_path;
10153         }
10154         case 6: {
10155           p++;
10156           goto s_n_llhttp__internal__n_url_query;
10157         }
10158         case 7: {
10159           p++;
10160           goto s_n_llhttp__internal__n_url_server_with_at;
10161         }
10162         default: {
10163           goto s_n_llhttp__internal__n_error_38;
10164         }
10165       }
10166       /* UNREACHABLE */;
10167       abort();
10168     }
10169     case s_n_llhttp__internal__n_url_schema_delim_1:
10170     s_n_llhttp__internal__n_url_schema_delim_1: {
10171       if (p == endp) {
10172         return s_n_llhttp__internal__n_url_schema_delim_1;
10173       }
10174       switch (*p) {
10175         case '/': {
10176           p++;
10177           goto s_n_llhttp__internal__n_url_server;
10178         }
10179         default: {
10180           goto s_n_llhttp__internal__n_error_40;
10181         }
10182       }
10183       /* UNREACHABLE */;
10184       abort();
10185     }
10186     case s_n_llhttp__internal__n_url_schema_delim:
10187     s_n_llhttp__internal__n_url_schema_delim: {
10188       if (p == endp) {
10189         return s_n_llhttp__internal__n_url_schema_delim;
10190       }
10191       switch (*p) {
10192         case 10: {
10193           p++;
10194           goto s_n_llhttp__internal__n_error_39;
10195         }
10196         case 13: {
10197           p++;
10198           goto s_n_llhttp__internal__n_error_39;
10199         }
10200         case ' ': {
10201           p++;
10202           goto s_n_llhttp__internal__n_error_39;
10203         }
10204         case '/': {
10205           p++;
10206           goto s_n_llhttp__internal__n_url_schema_delim_1;
10207         }
10208         default: {
10209           goto s_n_llhttp__internal__n_error_40;
10210         }
10211       }
10212       /* UNREACHABLE */;
10213       abort();
10214     }
10215     case s_n_llhttp__internal__n_span_end_stub_schema:
10216     s_n_llhttp__internal__n_span_end_stub_schema: {
10217       if (p == endp) {
10218         return s_n_llhttp__internal__n_span_end_stub_schema;
10219       }
10220       p++;
10221       goto s_n_llhttp__internal__n_url_schema_delim;
10222       /* UNREACHABLE */;
10223       abort();
10224     }
10225     case s_n_llhttp__internal__n_url_schema:
10226     s_n_llhttp__internal__n_url_schema: {
10227       static uint8_t lookup_table[] = {
10228         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
10229         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10230         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10231         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
10232         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10233         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10234         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10235         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10236         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10237         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10238         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10239         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10240         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10241         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10242         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10243         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10244       };
10245       if (p == endp) {
10246         return s_n_llhttp__internal__n_url_schema;
10247       }
10248       switch (lookup_table[(uint8_t) *p]) {
10249         case 1: {
10250           p++;
10251           goto s_n_llhttp__internal__n_error_39;
10252         }
10253         case 2: {
10254           goto s_n_llhttp__internal__n_span_end_stub_schema;
10255         }
10256         case 3: {
10257           p++;
10258           goto s_n_llhttp__internal__n_url_schema;
10259         }
10260         default: {
10261           goto s_n_llhttp__internal__n_error_41;
10262         }
10263       }
10264       /* UNREACHABLE */;
10265       abort();
10266     }
10267     case s_n_llhttp__internal__n_url_start:
10268     s_n_llhttp__internal__n_url_start: {
10269       static uint8_t lookup_table[] = {
10270         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
10271         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10272         1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2,
10273         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10274         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10275         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10276         0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
10277         3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
10278         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10279         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10280         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10281         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10282         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10283         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10284         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
10285         0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
10286       };
10287       if (p == endp) {
10288         return s_n_llhttp__internal__n_url_start;
10289       }
10290       switch (lookup_table[(uint8_t) *p]) {
10291         case 1: {
10292           p++;
10293           goto s_n_llhttp__internal__n_error_39;
10294         }
10295         case 2: {
10296           goto s_n_llhttp__internal__n_span_start_stub_path_2;
10297         }
10298         case 3: {
10299           goto s_n_llhttp__internal__n_url_schema;
10300         }
10301         default: {
10302           goto s_n_llhttp__internal__n_error_42;
10303         }
10304       }
10305       /* UNREACHABLE */;
10306       abort();
10307     }
10308     case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
10309     s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
10310       if (p == endp) {
10311         return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
10312       }
10313       state->_span_pos0 = (void*) p;
10314       state->_span_cb0 = llhttp__on_url;
10315       goto s_n_llhttp__internal__n_url_start;
10316       /* UNREACHABLE */;
10317       abort();
10318     }
10319     case s_n_llhttp__internal__n_span_start_llhttp__on_url:
10320     s_n_llhttp__internal__n_span_start_llhttp__on_url: {
10321       if (p == endp) {
10322         return s_n_llhttp__internal__n_span_start_llhttp__on_url;
10323       }
10324       state->_span_pos0 = (void*) p;
10325       state->_span_cb0 = llhttp__on_url;
10326       goto s_n_llhttp__internal__n_url_server;
10327       /* UNREACHABLE */;
10328       abort();
10329     }
10330     case s_n_llhttp__internal__n_req_spaces_before_url:
10331     s_n_llhttp__internal__n_req_spaces_before_url: {
10332       if (p == endp) {
10333         return s_n_llhttp__internal__n_req_spaces_before_url;
10334       }
10335       switch (*p) {
10336         case ' ': {
10337           p++;
10338           goto s_n_llhttp__internal__n_req_spaces_before_url;
10339         }
10340         default: {
10341           goto s_n_llhttp__internal__n_invoke_is_equal_method;
10342         }
10343       }
10344       /* UNREACHABLE */;
10345       abort();
10346     }
10347     case s_n_llhttp__internal__n_req_first_space_before_url:
10348     s_n_llhttp__internal__n_req_first_space_before_url: {
10349       if (p == endp) {
10350         return s_n_llhttp__internal__n_req_first_space_before_url;
10351       }
10352       switch (*p) {
10353         case ' ': {
10354           p++;
10355           goto s_n_llhttp__internal__n_req_spaces_before_url;
10356         }
10357         default: {
10358           goto s_n_llhttp__internal__n_error_43;
10359         }
10360       }
10361       /* UNREACHABLE */;
10362       abort();
10363     }
10364     case s_n_llhttp__internal__n_start_req_1:
10365     s_n_llhttp__internal__n_start_req_1: {
10366       llparse_match_t match_seq;
10367 
10368       if (p == endp) {
10369         return s_n_llhttp__internal__n_start_req_1;
10370       }
10371       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob0, 2);
10372       p = match_seq.current;
10373       switch (match_seq.status) {
10374         case kMatchComplete: {
10375           p++;
10376           match = 19;
10377           goto s_n_llhttp__internal__n_invoke_store_method_1;
10378         }
10379         case kMatchPause: {
10380           return s_n_llhttp__internal__n_start_req_1;
10381         }
10382         case kMatchMismatch: {
10383           goto s_n_llhttp__internal__n_error_51;
10384         }
10385       }
10386       /* UNREACHABLE */;
10387       abort();
10388     }
10389     case s_n_llhttp__internal__n_start_req_2:
10390     s_n_llhttp__internal__n_start_req_2: {
10391       llparse_match_t match_seq;
10392 
10393       if (p == endp) {
10394         return s_n_llhttp__internal__n_start_req_2;
10395       }
10396       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob18, 3);
10397       p = match_seq.current;
10398       switch (match_seq.status) {
10399         case kMatchComplete: {
10400           p++;
10401           match = 16;
10402           goto s_n_llhttp__internal__n_invoke_store_method_1;
10403         }
10404         case kMatchPause: {
10405           return s_n_llhttp__internal__n_start_req_2;
10406         }
10407         case kMatchMismatch: {
10408           goto s_n_llhttp__internal__n_error_51;
10409         }
10410       }
10411       /* UNREACHABLE */;
10412       abort();
10413     }
10414     case s_n_llhttp__internal__n_start_req_4:
10415     s_n_llhttp__internal__n_start_req_4: {
10416       llparse_match_t match_seq;
10417 
10418       if (p == endp) {
10419         return s_n_llhttp__internal__n_start_req_4;
10420       }
10421       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob19, 6);
10422       p = match_seq.current;
10423       switch (match_seq.status) {
10424         case kMatchComplete: {
10425           p++;
10426           match = 22;
10427           goto s_n_llhttp__internal__n_invoke_store_method_1;
10428         }
10429         case kMatchPause: {
10430           return s_n_llhttp__internal__n_start_req_4;
10431         }
10432         case kMatchMismatch: {
10433           goto s_n_llhttp__internal__n_error_51;
10434         }
10435       }
10436       /* UNREACHABLE */;
10437       abort();
10438     }
10439     case s_n_llhttp__internal__n_start_req_6:
10440     s_n_llhttp__internal__n_start_req_6: {
10441       llparse_match_t match_seq;
10442 
10443       if (p == endp) {
10444         return s_n_llhttp__internal__n_start_req_6;
10445       }
10446       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob20, 4);
10447       p = match_seq.current;
10448       switch (match_seq.status) {
10449         case kMatchComplete: {
10450           p++;
10451           match = 5;
10452           goto s_n_llhttp__internal__n_invoke_store_method_1;
10453         }
10454         case kMatchPause: {
10455           return s_n_llhttp__internal__n_start_req_6;
10456         }
10457         case kMatchMismatch: {
10458           goto s_n_llhttp__internal__n_error_51;
10459         }
10460       }
10461       /* UNREACHABLE */;
10462       abort();
10463     }
10464     case s_n_llhttp__internal__n_start_req_7:
10465     s_n_llhttp__internal__n_start_req_7: {
10466       if (p == endp) {
10467         return s_n_llhttp__internal__n_start_req_7;
10468       }
10469       switch (*p) {
10470         case 'Y': {
10471           p++;
10472           match = 8;
10473           goto s_n_llhttp__internal__n_invoke_store_method_1;
10474         }
10475         default: {
10476           goto s_n_llhttp__internal__n_error_51;
10477         }
10478       }
10479       /* UNREACHABLE */;
10480       abort();
10481     }
10482     case s_n_llhttp__internal__n_start_req_5:
10483     s_n_llhttp__internal__n_start_req_5: {
10484       if (p == endp) {
10485         return s_n_llhttp__internal__n_start_req_5;
10486       }
10487       switch (*p) {
10488         case 'N': {
10489           p++;
10490           goto s_n_llhttp__internal__n_start_req_6;
10491         }
10492         case 'P': {
10493           p++;
10494           goto s_n_llhttp__internal__n_start_req_7;
10495         }
10496         default: {
10497           goto s_n_llhttp__internal__n_error_51;
10498         }
10499       }
10500       /* UNREACHABLE */;
10501       abort();
10502     }
10503     case s_n_llhttp__internal__n_start_req_3:
10504     s_n_llhttp__internal__n_start_req_3: {
10505       if (p == endp) {
10506         return s_n_llhttp__internal__n_start_req_3;
10507       }
10508       switch (*p) {
10509         case 'H': {
10510           p++;
10511           goto s_n_llhttp__internal__n_start_req_4;
10512         }
10513         case 'O': {
10514           p++;
10515           goto s_n_llhttp__internal__n_start_req_5;
10516         }
10517         default: {
10518           goto s_n_llhttp__internal__n_error_51;
10519         }
10520       }
10521       /* UNREACHABLE */;
10522       abort();
10523     }
10524     case s_n_llhttp__internal__n_start_req_8:
10525     s_n_llhttp__internal__n_start_req_8: {
10526       llparse_match_t match_seq;
10527 
10528       if (p == endp) {
10529         return s_n_llhttp__internal__n_start_req_8;
10530       }
10531       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob21, 5);
10532       p = match_seq.current;
10533       switch (match_seq.status) {
10534         case kMatchComplete: {
10535           p++;
10536           match = 0;
10537           goto s_n_llhttp__internal__n_invoke_store_method_1;
10538         }
10539         case kMatchPause: {
10540           return s_n_llhttp__internal__n_start_req_8;
10541         }
10542         case kMatchMismatch: {
10543           goto s_n_llhttp__internal__n_error_51;
10544         }
10545       }
10546       /* UNREACHABLE */;
10547       abort();
10548     }
10549     case s_n_llhttp__internal__n_start_req_9:
10550     s_n_llhttp__internal__n_start_req_9: {
10551       llparse_match_t match_seq;
10552 
10553       if (p == endp) {
10554         return s_n_llhttp__internal__n_start_req_9;
10555       }
10556       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob22, 2);
10557       p = match_seq.current;
10558       switch (match_seq.status) {
10559         case kMatchComplete: {
10560           p++;
10561           match = 1;
10562           goto s_n_llhttp__internal__n_invoke_store_method_1;
10563         }
10564         case kMatchPause: {
10565           return s_n_llhttp__internal__n_start_req_9;
10566         }
10567         case kMatchMismatch: {
10568           goto s_n_llhttp__internal__n_error_51;
10569         }
10570       }
10571       /* UNREACHABLE */;
10572       abort();
10573     }
10574     case s_n_llhttp__internal__n_start_req_10:
10575     s_n_llhttp__internal__n_start_req_10: {
10576       llparse_match_t match_seq;
10577 
10578       if (p == endp) {
10579         return s_n_llhttp__internal__n_start_req_10;
10580       }
10581       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob23, 3);
10582       p = match_seq.current;
10583       switch (match_seq.status) {
10584         case kMatchComplete: {
10585           p++;
10586           match = 2;
10587           goto s_n_llhttp__internal__n_invoke_store_method_1;
10588         }
10589         case kMatchPause: {
10590           return s_n_llhttp__internal__n_start_req_10;
10591         }
10592         case kMatchMismatch: {
10593           goto s_n_llhttp__internal__n_error_51;
10594         }
10595       }
10596       /* UNREACHABLE */;
10597       abort();
10598     }
10599     case s_n_llhttp__internal__n_start_req_12:
10600     s_n_llhttp__internal__n_start_req_12: {
10601       llparse_match_t match_seq;
10602 
10603       if (p == endp) {
10604         return s_n_llhttp__internal__n_start_req_12;
10605       }
10606       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob24, 2);
10607       p = match_seq.current;
10608       switch (match_seq.status) {
10609         case kMatchComplete: {
10610           p++;
10611           match = 31;
10612           goto s_n_llhttp__internal__n_invoke_store_method_1;
10613         }
10614         case kMatchPause: {
10615           return s_n_llhttp__internal__n_start_req_12;
10616         }
10617         case kMatchMismatch: {
10618           goto s_n_llhttp__internal__n_error_51;
10619         }
10620       }
10621       /* UNREACHABLE */;
10622       abort();
10623     }
10624     case s_n_llhttp__internal__n_start_req_13:
10625     s_n_llhttp__internal__n_start_req_13: {
10626       llparse_match_t match_seq;
10627 
10628       if (p == endp) {
10629         return s_n_llhttp__internal__n_start_req_13;
10630       }
10631       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob25, 2);
10632       p = match_seq.current;
10633       switch (match_seq.status) {
10634         case kMatchComplete: {
10635           p++;
10636           match = 9;
10637           goto s_n_llhttp__internal__n_invoke_store_method_1;
10638         }
10639         case kMatchPause: {
10640           return s_n_llhttp__internal__n_start_req_13;
10641         }
10642         case kMatchMismatch: {
10643           goto s_n_llhttp__internal__n_error_51;
10644         }
10645       }
10646       /* UNREACHABLE */;
10647       abort();
10648     }
10649     case s_n_llhttp__internal__n_start_req_11:
10650     s_n_llhttp__internal__n_start_req_11: {
10651       if (p == endp) {
10652         return s_n_llhttp__internal__n_start_req_11;
10653       }
10654       switch (*p) {
10655         case 'I': {
10656           p++;
10657           goto s_n_llhttp__internal__n_start_req_12;
10658         }
10659         case 'O': {
10660           p++;
10661           goto s_n_llhttp__internal__n_start_req_13;
10662         }
10663         default: {
10664           goto s_n_llhttp__internal__n_error_51;
10665         }
10666       }
10667       /* UNREACHABLE */;
10668       abort();
10669     }
10670     case s_n_llhttp__internal__n_start_req_15:
10671     s_n_llhttp__internal__n_start_req_15: {
10672       llparse_match_t match_seq;
10673 
10674       if (p == endp) {
10675         return s_n_llhttp__internal__n_start_req_15;
10676       }
10677       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob26, 6);
10678       p = match_seq.current;
10679       switch (match_seq.status) {
10680         case kMatchComplete: {
10681           p++;
10682           match = 24;
10683           goto s_n_llhttp__internal__n_invoke_store_method_1;
10684         }
10685         case kMatchPause: {
10686           return s_n_llhttp__internal__n_start_req_15;
10687         }
10688         case kMatchMismatch: {
10689           goto s_n_llhttp__internal__n_error_51;
10690         }
10691       }
10692       /* UNREACHABLE */;
10693       abort();
10694     }
10695     case s_n_llhttp__internal__n_start_req_16:
10696     s_n_llhttp__internal__n_start_req_16: {
10697       llparse_match_t match_seq;
10698 
10699       if (p == endp) {
10700         return s_n_llhttp__internal__n_start_req_16;
10701       }
10702       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob27, 3);
10703       p = match_seq.current;
10704       switch (match_seq.status) {
10705         case kMatchComplete: {
10706           p++;
10707           match = 23;
10708           goto s_n_llhttp__internal__n_invoke_store_method_1;
10709         }
10710         case kMatchPause: {
10711           return s_n_llhttp__internal__n_start_req_16;
10712         }
10713         case kMatchMismatch: {
10714           goto s_n_llhttp__internal__n_error_51;
10715         }
10716       }
10717       /* UNREACHABLE */;
10718       abort();
10719     }
10720     case s_n_llhttp__internal__n_start_req_18:
10721     s_n_llhttp__internal__n_start_req_18: {
10722       llparse_match_t match_seq;
10723 
10724       if (p == endp) {
10725         return s_n_llhttp__internal__n_start_req_18;
10726       }
10727       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob28, 7);
10728       p = match_seq.current;
10729       switch (match_seq.status) {
10730         case kMatchComplete: {
10731           p++;
10732           match = 21;
10733           goto s_n_llhttp__internal__n_invoke_store_method_1;
10734         }
10735         case kMatchPause: {
10736           return s_n_llhttp__internal__n_start_req_18;
10737         }
10738         case kMatchMismatch: {
10739           goto s_n_llhttp__internal__n_error_51;
10740         }
10741       }
10742       /* UNREACHABLE */;
10743       abort();
10744     }
10745     case s_n_llhttp__internal__n_start_req_20:
10746     s_n_llhttp__internal__n_start_req_20: {
10747       llparse_match_t match_seq;
10748 
10749       if (p == endp) {
10750         return s_n_llhttp__internal__n_start_req_20;
10751       }
10752       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob29, 6);
10753       p = match_seq.current;
10754       switch (match_seq.status) {
10755         case kMatchComplete: {
10756           p++;
10757           match = 30;
10758           goto s_n_llhttp__internal__n_invoke_store_method_1;
10759         }
10760         case kMatchPause: {
10761           return s_n_llhttp__internal__n_start_req_20;
10762         }
10763         case kMatchMismatch: {
10764           goto s_n_llhttp__internal__n_error_51;
10765         }
10766       }
10767       /* UNREACHABLE */;
10768       abort();
10769     }
10770     case s_n_llhttp__internal__n_start_req_21:
10771     s_n_llhttp__internal__n_start_req_21: {
10772       if (p == endp) {
10773         return s_n_llhttp__internal__n_start_req_21;
10774       }
10775       switch (*p) {
10776         case 'L': {
10777           p++;
10778           match = 10;
10779           goto s_n_llhttp__internal__n_invoke_store_method_1;
10780         }
10781         default: {
10782           goto s_n_llhttp__internal__n_error_51;
10783         }
10784       }
10785       /* UNREACHABLE */;
10786       abort();
10787     }
10788     case s_n_llhttp__internal__n_start_req_19:
10789     s_n_llhttp__internal__n_start_req_19: {
10790       if (p == endp) {
10791         return s_n_llhttp__internal__n_start_req_19;
10792       }
10793       switch (*p) {
10794         case 'A': {
10795           p++;
10796           goto s_n_llhttp__internal__n_start_req_20;
10797         }
10798         case 'O': {
10799           p++;
10800           goto s_n_llhttp__internal__n_start_req_21;
10801         }
10802         default: {
10803           goto s_n_llhttp__internal__n_error_51;
10804         }
10805       }
10806       /* UNREACHABLE */;
10807       abort();
10808     }
10809     case s_n_llhttp__internal__n_start_req_17:
10810     s_n_llhttp__internal__n_start_req_17: {
10811       if (p == endp) {
10812         return s_n_llhttp__internal__n_start_req_17;
10813       }
10814       switch (*p) {
10815         case 'A': {
10816           p++;
10817           goto s_n_llhttp__internal__n_start_req_18;
10818         }
10819         case 'C': {
10820           p++;
10821           goto s_n_llhttp__internal__n_start_req_19;
10822         }
10823         default: {
10824           goto s_n_llhttp__internal__n_error_51;
10825         }
10826       }
10827       /* UNREACHABLE */;
10828       abort();
10829     }
10830     case s_n_llhttp__internal__n_start_req_22:
10831     s_n_llhttp__internal__n_start_req_22: {
10832       llparse_match_t match_seq;
10833 
10834       if (p == endp) {
10835         return s_n_llhttp__internal__n_start_req_22;
10836       }
10837       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob30, 2);
10838       p = match_seq.current;
10839       switch (match_seq.status) {
10840         case kMatchComplete: {
10841           p++;
10842           match = 11;
10843           goto s_n_llhttp__internal__n_invoke_store_method_1;
10844         }
10845         case kMatchPause: {
10846           return s_n_llhttp__internal__n_start_req_22;
10847         }
10848         case kMatchMismatch: {
10849           goto s_n_llhttp__internal__n_error_51;
10850         }
10851       }
10852       /* UNREACHABLE */;
10853       abort();
10854     }
10855     case s_n_llhttp__internal__n_start_req_14:
10856     s_n_llhttp__internal__n_start_req_14: {
10857       if (p == endp) {
10858         return s_n_llhttp__internal__n_start_req_14;
10859       }
10860       switch (*p) {
10861         case '-': {
10862           p++;
10863           goto s_n_llhttp__internal__n_start_req_15;
10864         }
10865         case 'E': {
10866           p++;
10867           goto s_n_llhttp__internal__n_start_req_16;
10868         }
10869         case 'K': {
10870           p++;
10871           goto s_n_llhttp__internal__n_start_req_17;
10872         }
10873         case 'O': {
10874           p++;
10875           goto s_n_llhttp__internal__n_start_req_22;
10876         }
10877         default: {
10878           goto s_n_llhttp__internal__n_error_51;
10879         }
10880       }
10881       /* UNREACHABLE */;
10882       abort();
10883     }
10884     case s_n_llhttp__internal__n_start_req_23:
10885     s_n_llhttp__internal__n_start_req_23: {
10886       llparse_match_t match_seq;
10887 
10888       if (p == endp) {
10889         return s_n_llhttp__internal__n_start_req_23;
10890       }
10891       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob31, 5);
10892       p = match_seq.current;
10893       switch (match_seq.status) {
10894         case kMatchComplete: {
10895           p++;
10896           match = 25;
10897           goto s_n_llhttp__internal__n_invoke_store_method_1;
10898         }
10899         case kMatchPause: {
10900           return s_n_llhttp__internal__n_start_req_23;
10901         }
10902         case kMatchMismatch: {
10903           goto s_n_llhttp__internal__n_error_51;
10904         }
10905       }
10906       /* UNREACHABLE */;
10907       abort();
10908     }
10909     case s_n_llhttp__internal__n_start_req_24:
10910     s_n_llhttp__internal__n_start_req_24: {
10911       llparse_match_t match_seq;
10912 
10913       if (p == endp) {
10914         return s_n_llhttp__internal__n_start_req_24;
10915       }
10916       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob32, 6);
10917       p = match_seq.current;
10918       switch (match_seq.status) {
10919         case kMatchComplete: {
10920           p++;
10921           match = 6;
10922           goto s_n_llhttp__internal__n_invoke_store_method_1;
10923         }
10924         case kMatchPause: {
10925           return s_n_llhttp__internal__n_start_req_24;
10926         }
10927         case kMatchMismatch: {
10928           goto s_n_llhttp__internal__n_error_51;
10929         }
10930       }
10931       /* UNREACHABLE */;
10932       abort();
10933     }
10934     case s_n_llhttp__internal__n_start_req_26:
10935     s_n_llhttp__internal__n_start_req_26: {
10936       llparse_match_t match_seq;
10937 
10938       if (p == endp) {
10939         return s_n_llhttp__internal__n_start_req_26;
10940       }
10941       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob33, 3);
10942       p = match_seq.current;
10943       switch (match_seq.status) {
10944         case kMatchComplete: {
10945           p++;
10946           match = 28;
10947           goto s_n_llhttp__internal__n_invoke_store_method_1;
10948         }
10949         case kMatchPause: {
10950           return s_n_llhttp__internal__n_start_req_26;
10951         }
10952         case kMatchMismatch: {
10953           goto s_n_llhttp__internal__n_error_51;
10954         }
10955       }
10956       /* UNREACHABLE */;
10957       abort();
10958     }
10959     case s_n_llhttp__internal__n_start_req_27:
10960     s_n_llhttp__internal__n_start_req_27: {
10961       llparse_match_t match_seq;
10962 
10963       if (p == endp) {
10964         return s_n_llhttp__internal__n_start_req_27;
10965       }
10966       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob34, 2);
10967       p = match_seq.current;
10968       switch (match_seq.status) {
10969         case kMatchComplete: {
10970           p++;
10971           match = 3;
10972           goto s_n_llhttp__internal__n_invoke_store_method_1;
10973         }
10974         case kMatchPause: {
10975           return s_n_llhttp__internal__n_start_req_27;
10976         }
10977         case kMatchMismatch: {
10978           goto s_n_llhttp__internal__n_error_51;
10979         }
10980       }
10981       /* UNREACHABLE */;
10982       abort();
10983     }
10984     case s_n_llhttp__internal__n_start_req_31:
10985     s_n_llhttp__internal__n_start_req_31: {
10986       llparse_match_t match_seq;
10987 
10988       if (p == endp) {
10989         return s_n_llhttp__internal__n_start_req_31;
10990       }
10991       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob35, 3);
10992       p = match_seq.current;
10993       switch (match_seq.status) {
10994         case kMatchComplete: {
10995           p++;
10996           match = 12;
10997           goto s_n_llhttp__internal__n_invoke_store_method_1;
10998         }
10999         case kMatchPause: {
11000           return s_n_llhttp__internal__n_start_req_31;
11001         }
11002         case kMatchMismatch: {
11003           goto s_n_llhttp__internal__n_error_51;
11004         }
11005       }
11006       /* UNREACHABLE */;
11007       abort();
11008     }
11009     case s_n_llhttp__internal__n_start_req_32:
11010     s_n_llhttp__internal__n_start_req_32: {
11011       llparse_match_t match_seq;
11012 
11013       if (p == endp) {
11014         return s_n_llhttp__internal__n_start_req_32;
11015       }
11016       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob36, 4);
11017       p = match_seq.current;
11018       switch (match_seq.status) {
11019         case kMatchComplete: {
11020           p++;
11021           match = 13;
11022           goto s_n_llhttp__internal__n_invoke_store_method_1;
11023         }
11024         case kMatchPause: {
11025           return s_n_llhttp__internal__n_start_req_32;
11026         }
11027         case kMatchMismatch: {
11028           goto s_n_llhttp__internal__n_error_51;
11029         }
11030       }
11031       /* UNREACHABLE */;
11032       abort();
11033     }
11034     case s_n_llhttp__internal__n_start_req_30:
11035     s_n_llhttp__internal__n_start_req_30: {
11036       if (p == endp) {
11037         return s_n_llhttp__internal__n_start_req_30;
11038       }
11039       switch (*p) {
11040         case 'F': {
11041           p++;
11042           goto s_n_llhttp__internal__n_start_req_31;
11043         }
11044         case 'P': {
11045           p++;
11046           goto s_n_llhttp__internal__n_start_req_32;
11047         }
11048         default: {
11049           goto s_n_llhttp__internal__n_error_51;
11050         }
11051       }
11052       /* UNREACHABLE */;
11053       abort();
11054     }
11055     case s_n_llhttp__internal__n_start_req_29:
11056     s_n_llhttp__internal__n_start_req_29: {
11057       if (p == endp) {
11058         return s_n_llhttp__internal__n_start_req_29;
11059       }
11060       switch (*p) {
11061         case 'P': {
11062           p++;
11063           goto s_n_llhttp__internal__n_start_req_30;
11064         }
11065         default: {
11066           goto s_n_llhttp__internal__n_error_51;
11067         }
11068       }
11069       /* UNREACHABLE */;
11070       abort();
11071     }
11072     case s_n_llhttp__internal__n_start_req_28:
11073     s_n_llhttp__internal__n_start_req_28: {
11074       if (p == endp) {
11075         return s_n_llhttp__internal__n_start_req_28;
11076       }
11077       switch (*p) {
11078         case 'I': {
11079           p++;
11080           match = 34;
11081           goto s_n_llhttp__internal__n_invoke_store_method_1;
11082         }
11083         case 'O': {
11084           p++;
11085           goto s_n_llhttp__internal__n_start_req_29;
11086         }
11087         default: {
11088           goto s_n_llhttp__internal__n_error_51;
11089         }
11090       }
11091       /* UNREACHABLE */;
11092       abort();
11093     }
11094     case s_n_llhttp__internal__n_start_req_34:
11095     s_n_llhttp__internal__n_start_req_34: {
11096       llparse_match_t match_seq;
11097 
11098       if (p == endp) {
11099         return s_n_llhttp__internal__n_start_req_34;
11100       }
11101       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob37, 2);
11102       p = match_seq.current;
11103       switch (match_seq.status) {
11104         case kMatchComplete: {
11105           p++;
11106           match = 29;
11107           goto s_n_llhttp__internal__n_invoke_store_method_1;
11108         }
11109         case kMatchPause: {
11110           return s_n_llhttp__internal__n_start_req_34;
11111         }
11112         case kMatchMismatch: {
11113           goto s_n_llhttp__internal__n_error_51;
11114         }
11115       }
11116       /* UNREACHABLE */;
11117       abort();
11118     }
11119     case s_n_llhttp__internal__n_start_req_33:
11120     s_n_llhttp__internal__n_start_req_33: {
11121       if (p == endp) {
11122         return s_n_llhttp__internal__n_start_req_33;
11123       }
11124       switch (*p) {
11125         case 'R': {
11126           p++;
11127           goto s_n_llhttp__internal__n_start_req_34;
11128         }
11129         case 'T': {
11130           p++;
11131           match = 4;
11132           goto s_n_llhttp__internal__n_invoke_store_method_1;
11133         }
11134         default: {
11135           goto s_n_llhttp__internal__n_error_51;
11136         }
11137       }
11138       /* UNREACHABLE */;
11139       abort();
11140     }
11141     case s_n_llhttp__internal__n_start_req_25:
11142     s_n_llhttp__internal__n_start_req_25: {
11143       if (p == endp) {
11144         return s_n_llhttp__internal__n_start_req_25;
11145       }
11146       switch (*p) {
11147         case 'A': {
11148           p++;
11149           goto s_n_llhttp__internal__n_start_req_26;
11150         }
11151         case 'O': {
11152           p++;
11153           goto s_n_llhttp__internal__n_start_req_27;
11154         }
11155         case 'R': {
11156           p++;
11157           goto s_n_llhttp__internal__n_start_req_28;
11158         }
11159         case 'U': {
11160           p++;
11161           goto s_n_llhttp__internal__n_start_req_33;
11162         }
11163         default: {
11164           goto s_n_llhttp__internal__n_error_51;
11165         }
11166       }
11167       /* UNREACHABLE */;
11168       abort();
11169     }
11170     case s_n_llhttp__internal__n_start_req_37:
11171     s_n_llhttp__internal__n_start_req_37: {
11172       llparse_match_t match_seq;
11173 
11174       if (p == endp) {
11175         return s_n_llhttp__internal__n_start_req_37;
11176       }
11177       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob38, 3);
11178       p = match_seq.current;
11179       switch (match_seq.status) {
11180         case kMatchComplete: {
11181           p++;
11182           match = 17;
11183           goto s_n_llhttp__internal__n_invoke_store_method_1;
11184         }
11185         case kMatchPause: {
11186           return s_n_llhttp__internal__n_start_req_37;
11187         }
11188         case kMatchMismatch: {
11189           goto s_n_llhttp__internal__n_error_51;
11190         }
11191       }
11192       /* UNREACHABLE */;
11193       abort();
11194     }
11195     case s_n_llhttp__internal__n_start_req_38:
11196     s_n_llhttp__internal__n_start_req_38: {
11197       llparse_match_t match_seq;
11198 
11199       if (p == endp) {
11200         return s_n_llhttp__internal__n_start_req_38;
11201       }
11202       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob39, 3);
11203       p = match_seq.current;
11204       switch (match_seq.status) {
11205         case kMatchComplete: {
11206           p++;
11207           match = 20;
11208           goto s_n_llhttp__internal__n_invoke_store_method_1;
11209         }
11210         case kMatchPause: {
11211           return s_n_llhttp__internal__n_start_req_38;
11212         }
11213         case kMatchMismatch: {
11214           goto s_n_llhttp__internal__n_error_51;
11215         }
11216       }
11217       /* UNREACHABLE */;
11218       abort();
11219     }
11220     case s_n_llhttp__internal__n_start_req_36:
11221     s_n_llhttp__internal__n_start_req_36: {
11222       if (p == endp) {
11223         return s_n_llhttp__internal__n_start_req_36;
11224       }
11225       switch (*p) {
11226         case 'B': {
11227           p++;
11228           goto s_n_llhttp__internal__n_start_req_37;
11229         }
11230         case 'P': {
11231           p++;
11232           goto s_n_llhttp__internal__n_start_req_38;
11233         }
11234         default: {
11235           goto s_n_llhttp__internal__n_error_51;
11236         }
11237       }
11238       /* UNREACHABLE */;
11239       abort();
11240     }
11241     case s_n_llhttp__internal__n_start_req_35:
11242     s_n_llhttp__internal__n_start_req_35: {
11243       if (p == endp) {
11244         return s_n_llhttp__internal__n_start_req_35;
11245       }
11246       switch (*p) {
11247         case 'E': {
11248           p++;
11249           goto s_n_llhttp__internal__n_start_req_36;
11250         }
11251         default: {
11252           goto s_n_llhttp__internal__n_error_51;
11253         }
11254       }
11255       /* UNREACHABLE */;
11256       abort();
11257     }
11258     case s_n_llhttp__internal__n_start_req_40:
11259     s_n_llhttp__internal__n_start_req_40: {
11260       llparse_match_t match_seq;
11261 
11262       if (p == endp) {
11263         return s_n_llhttp__internal__n_start_req_40;
11264       }
11265       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob40, 4);
11266       p = match_seq.current;
11267       switch (match_seq.status) {
11268         case kMatchComplete: {
11269           p++;
11270           match = 14;
11271           goto s_n_llhttp__internal__n_invoke_store_method_1;
11272         }
11273         case kMatchPause: {
11274           return s_n_llhttp__internal__n_start_req_40;
11275         }
11276         case kMatchMismatch: {
11277           goto s_n_llhttp__internal__n_error_51;
11278         }
11279       }
11280       /* UNREACHABLE */;
11281       abort();
11282     }
11283     case s_n_llhttp__internal__n_start_req_41:
11284     s_n_llhttp__internal__n_start_req_41: {
11285       llparse_match_t match_seq;
11286 
11287       if (p == endp) {
11288         return s_n_llhttp__internal__n_start_req_41;
11289       }
11290       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob41, 4);
11291       p = match_seq.current;
11292       switch (match_seq.status) {
11293         case kMatchComplete: {
11294           p++;
11295           match = 33;
11296           goto s_n_llhttp__internal__n_invoke_store_method_1;
11297         }
11298         case kMatchPause: {
11299           return s_n_llhttp__internal__n_start_req_41;
11300         }
11301         case kMatchMismatch: {
11302           goto s_n_llhttp__internal__n_error_51;
11303         }
11304       }
11305       /* UNREACHABLE */;
11306       abort();
11307     }
11308     case s_n_llhttp__internal__n_start_req_42:
11309     s_n_llhttp__internal__n_start_req_42: {
11310       llparse_match_t match_seq;
11311 
11312       if (p == endp) {
11313         return s_n_llhttp__internal__n_start_req_42;
11314       }
11315       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob42, 7);
11316       p = match_seq.current;
11317       switch (match_seq.status) {
11318         case kMatchComplete: {
11319           p++;
11320           match = 26;
11321           goto s_n_llhttp__internal__n_invoke_store_method_1;
11322         }
11323         case kMatchPause: {
11324           return s_n_llhttp__internal__n_start_req_42;
11325         }
11326         case kMatchMismatch: {
11327           goto s_n_llhttp__internal__n_error_51;
11328         }
11329       }
11330       /* UNREACHABLE */;
11331       abort();
11332     }
11333     case s_n_llhttp__internal__n_start_req_39:
11334     s_n_llhttp__internal__n_start_req_39: {
11335       if (p == endp) {
11336         return s_n_llhttp__internal__n_start_req_39;
11337       }
11338       switch (*p) {
11339         case 'E': {
11340           p++;
11341           goto s_n_llhttp__internal__n_start_req_40;
11342         }
11343         case 'O': {
11344           p++;
11345           goto s_n_llhttp__internal__n_start_req_41;
11346         }
11347         case 'U': {
11348           p++;
11349           goto s_n_llhttp__internal__n_start_req_42;
11350         }
11351         default: {
11352           goto s_n_llhttp__internal__n_error_51;
11353         }
11354       }
11355       /* UNREACHABLE */;
11356       abort();
11357     }
11358     case s_n_llhttp__internal__n_start_req_43:
11359     s_n_llhttp__internal__n_start_req_43: {
11360       llparse_match_t match_seq;
11361 
11362       if (p == endp) {
11363         return s_n_llhttp__internal__n_start_req_43;
11364       }
11365       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob43, 4);
11366       p = match_seq.current;
11367       switch (match_seq.status) {
11368         case kMatchComplete: {
11369           p++;
11370           match = 7;
11371           goto s_n_llhttp__internal__n_invoke_store_method_1;
11372         }
11373         case kMatchPause: {
11374           return s_n_llhttp__internal__n_start_req_43;
11375         }
11376         case kMatchMismatch: {
11377           goto s_n_llhttp__internal__n_error_51;
11378         }
11379       }
11380       /* UNREACHABLE */;
11381       abort();
11382     }
11383     case s_n_llhttp__internal__n_start_req_46:
11384     s_n_llhttp__internal__n_start_req_46: {
11385       llparse_match_t match_seq;
11386 
11387       if (p == endp) {
11388         return s_n_llhttp__internal__n_start_req_46;
11389       }
11390       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob44, 3);
11391       p = match_seq.current;
11392       switch (match_seq.status) {
11393         case kMatchComplete: {
11394           p++;
11395           match = 18;
11396           goto s_n_llhttp__internal__n_invoke_store_method_1;
11397         }
11398         case kMatchPause: {
11399           return s_n_llhttp__internal__n_start_req_46;
11400         }
11401         case kMatchMismatch: {
11402           goto s_n_llhttp__internal__n_error_51;
11403         }
11404       }
11405       /* UNREACHABLE */;
11406       abort();
11407     }
11408     case s_n_llhttp__internal__n_start_req_48:
11409     s_n_llhttp__internal__n_start_req_48: {
11410       llparse_match_t match_seq;
11411 
11412       if (p == endp) {
11413         return s_n_llhttp__internal__n_start_req_48;
11414       }
11415       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob45, 2);
11416       p = match_seq.current;
11417       switch (match_seq.status) {
11418         case kMatchComplete: {
11419           p++;
11420           match = 32;
11421           goto s_n_llhttp__internal__n_invoke_store_method_1;
11422         }
11423         case kMatchPause: {
11424           return s_n_llhttp__internal__n_start_req_48;
11425         }
11426         case kMatchMismatch: {
11427           goto s_n_llhttp__internal__n_error_51;
11428         }
11429       }
11430       /* UNREACHABLE */;
11431       abort();
11432     }
11433     case s_n_llhttp__internal__n_start_req_49:
11434     s_n_llhttp__internal__n_start_req_49: {
11435       llparse_match_t match_seq;
11436 
11437       if (p == endp) {
11438         return s_n_llhttp__internal__n_start_req_49;
11439       }
11440       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob46, 2);
11441       p = match_seq.current;
11442       switch (match_seq.status) {
11443         case kMatchComplete: {
11444           p++;
11445           match = 15;
11446           goto s_n_llhttp__internal__n_invoke_store_method_1;
11447         }
11448         case kMatchPause: {
11449           return s_n_llhttp__internal__n_start_req_49;
11450         }
11451         case kMatchMismatch: {
11452           goto s_n_llhttp__internal__n_error_51;
11453         }
11454       }
11455       /* UNREACHABLE */;
11456       abort();
11457     }
11458     case s_n_llhttp__internal__n_start_req_47:
11459     s_n_llhttp__internal__n_start_req_47: {
11460       if (p == endp) {
11461         return s_n_llhttp__internal__n_start_req_47;
11462       }
11463       switch (*p) {
11464         case 'I': {
11465           p++;
11466           goto s_n_llhttp__internal__n_start_req_48;
11467         }
11468         case 'O': {
11469           p++;
11470           goto s_n_llhttp__internal__n_start_req_49;
11471         }
11472         default: {
11473           goto s_n_llhttp__internal__n_error_51;
11474         }
11475       }
11476       /* UNREACHABLE */;
11477       abort();
11478     }
11479     case s_n_llhttp__internal__n_start_req_50:
11480     s_n_llhttp__internal__n_start_req_50: {
11481       llparse_match_t match_seq;
11482 
11483       if (p == endp) {
11484         return s_n_llhttp__internal__n_start_req_50;
11485       }
11486       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob47, 8);
11487       p = match_seq.current;
11488       switch (match_seq.status) {
11489         case kMatchComplete: {
11490           p++;
11491           match = 27;
11492           goto s_n_llhttp__internal__n_invoke_store_method_1;
11493         }
11494         case kMatchPause: {
11495           return s_n_llhttp__internal__n_start_req_50;
11496         }
11497         case kMatchMismatch: {
11498           goto s_n_llhttp__internal__n_error_51;
11499         }
11500       }
11501       /* UNREACHABLE */;
11502       abort();
11503     }
11504     case s_n_llhttp__internal__n_start_req_45:
11505     s_n_llhttp__internal__n_start_req_45: {
11506       if (p == endp) {
11507         return s_n_llhttp__internal__n_start_req_45;
11508       }
11509       switch (*p) {
11510         case 'B': {
11511           p++;
11512           goto s_n_llhttp__internal__n_start_req_46;
11513         }
11514         case 'L': {
11515           p++;
11516           goto s_n_llhttp__internal__n_start_req_47;
11517         }
11518         case 'S': {
11519           p++;
11520           goto s_n_llhttp__internal__n_start_req_50;
11521         }
11522         default: {
11523           goto s_n_llhttp__internal__n_error_51;
11524         }
11525       }
11526       /* UNREACHABLE */;
11527       abort();
11528     }
11529     case s_n_llhttp__internal__n_start_req_44:
11530     s_n_llhttp__internal__n_start_req_44: {
11531       if (p == endp) {
11532         return s_n_llhttp__internal__n_start_req_44;
11533       }
11534       switch (*p) {
11535         case 'N': {
11536           p++;
11537           goto s_n_llhttp__internal__n_start_req_45;
11538         }
11539         default: {
11540           goto s_n_llhttp__internal__n_error_51;
11541         }
11542       }
11543       /* UNREACHABLE */;
11544       abort();
11545     }
11546     case s_n_llhttp__internal__n_start_req:
11547     s_n_llhttp__internal__n_start_req: {
11548       if (p == endp) {
11549         return s_n_llhttp__internal__n_start_req;
11550       }
11551       switch (*p) {
11552         case 'A': {
11553           p++;
11554           goto s_n_llhttp__internal__n_start_req_1;
11555         }
11556         case 'B': {
11557           p++;
11558           goto s_n_llhttp__internal__n_start_req_2;
11559         }
11560         case 'C': {
11561           p++;
11562           goto s_n_llhttp__internal__n_start_req_3;
11563         }
11564         case 'D': {
11565           p++;
11566           goto s_n_llhttp__internal__n_start_req_8;
11567         }
11568         case 'G': {
11569           p++;
11570           goto s_n_llhttp__internal__n_start_req_9;
11571         }
11572         case 'H': {
11573           p++;
11574           goto s_n_llhttp__internal__n_start_req_10;
11575         }
11576         case 'L': {
11577           p++;
11578           goto s_n_llhttp__internal__n_start_req_11;
11579         }
11580         case 'M': {
11581           p++;
11582           goto s_n_llhttp__internal__n_start_req_14;
11583         }
11584         case 'N': {
11585           p++;
11586           goto s_n_llhttp__internal__n_start_req_23;
11587         }
11588         case 'O': {
11589           p++;
11590           goto s_n_llhttp__internal__n_start_req_24;
11591         }
11592         case 'P': {
11593           p++;
11594           goto s_n_llhttp__internal__n_start_req_25;
11595         }
11596         case 'R': {
11597           p++;
11598           goto s_n_llhttp__internal__n_start_req_35;
11599         }
11600         case 'S': {
11601           p++;
11602           goto s_n_llhttp__internal__n_start_req_39;
11603         }
11604         case 'T': {
11605           p++;
11606           goto s_n_llhttp__internal__n_start_req_43;
11607         }
11608         case 'U': {
11609           p++;
11610           goto s_n_llhttp__internal__n_start_req_44;
11611         }
11612         default: {
11613           goto s_n_llhttp__internal__n_error_51;
11614         }
11615       }
11616       /* UNREACHABLE */;
11617       abort();
11618     }
11619     case s_n_llhttp__internal__n_res_line_almost_done:
11620     s_n_llhttp__internal__n_res_line_almost_done: {
11621       if (p == endp) {
11622         return s_n_llhttp__internal__n_res_line_almost_done;
11623       }
11624       p++;
11625       goto s_n_llhttp__internal__n_header_field_start;
11626       /* UNREACHABLE */;
11627       abort();
11628     }
11629     case s_n_llhttp__internal__n_res_status:
11630     s_n_llhttp__internal__n_res_status: {
11631       if (p == endp) {
11632         return s_n_llhttp__internal__n_res_status;
11633       }
11634       switch (*p) {
11635         case 10: {
11636           goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
11637         }
11638         case 13: {
11639           goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
11640         }
11641         default: {
11642           p++;
11643           goto s_n_llhttp__internal__n_res_status;
11644         }
11645       }
11646       /* UNREACHABLE */;
11647       abort();
11648     }
11649     case s_n_llhttp__internal__n_span_start_llhttp__on_status:
11650     s_n_llhttp__internal__n_span_start_llhttp__on_status: {
11651       if (p == endp) {
11652         return s_n_llhttp__internal__n_span_start_llhttp__on_status;
11653       }
11654       state->_span_pos0 = (void*) p;
11655       state->_span_cb0 = llhttp__on_status;
11656       goto s_n_llhttp__internal__n_res_status;
11657       /* UNREACHABLE */;
11658       abort();
11659     }
11660     case s_n_llhttp__internal__n_res_status_start:
11661     s_n_llhttp__internal__n_res_status_start: {
11662       if (p == endp) {
11663         return s_n_llhttp__internal__n_res_status_start;
11664       }
11665       switch (*p) {
11666         case 10: {
11667           p++;
11668           goto s_n_llhttp__internal__n_header_field_start;
11669         }
11670         case 13: {
11671           p++;
11672           goto s_n_llhttp__internal__n_res_line_almost_done;
11673         }
11674         default: {
11675           goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
11676         }
11677       }
11678       /* UNREACHABLE */;
11679       abort();
11680     }
11681     case s_n_llhttp__internal__n_res_status_code_otherwise:
11682     s_n_llhttp__internal__n_res_status_code_otherwise: {
11683       if (p == endp) {
11684         return s_n_llhttp__internal__n_res_status_code_otherwise;
11685       }
11686       switch (*p) {
11687         case 10: {
11688           goto s_n_llhttp__internal__n_res_status_start;
11689         }
11690         case 13: {
11691           goto s_n_llhttp__internal__n_res_status_start;
11692         }
11693         case ' ': {
11694           p++;
11695           goto s_n_llhttp__internal__n_res_status_start;
11696         }
11697         default: {
11698           goto s_n_llhttp__internal__n_error_45;
11699         }
11700       }
11701       /* UNREACHABLE */;
11702       abort();
11703     }
11704     case s_n_llhttp__internal__n_res_status_code:
11705     s_n_llhttp__internal__n_res_status_code: {
11706       if (p == endp) {
11707         return s_n_llhttp__internal__n_res_status_code;
11708       }
11709       switch (*p) {
11710         case '0': {
11711           p++;
11712           match = 0;
11713           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11714         }
11715         case '1': {
11716           p++;
11717           match = 1;
11718           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11719         }
11720         case '2': {
11721           p++;
11722           match = 2;
11723           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11724         }
11725         case '3': {
11726           p++;
11727           match = 3;
11728           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11729         }
11730         case '4': {
11731           p++;
11732           match = 4;
11733           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11734         }
11735         case '5': {
11736           p++;
11737           match = 5;
11738           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11739         }
11740         case '6': {
11741           p++;
11742           match = 6;
11743           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11744         }
11745         case '7': {
11746           p++;
11747           match = 7;
11748           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11749         }
11750         case '8': {
11751           p++;
11752           match = 8;
11753           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11754         }
11755         case '9': {
11756           p++;
11757           match = 9;
11758           goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
11759         }
11760         default: {
11761           goto s_n_llhttp__internal__n_res_status_code_otherwise;
11762         }
11763       }
11764       /* UNREACHABLE */;
11765       abort();
11766     }
11767     case s_n_llhttp__internal__n_res_http_end:
11768     s_n_llhttp__internal__n_res_http_end: {
11769       if (p == endp) {
11770         return s_n_llhttp__internal__n_res_http_end;
11771       }
11772       switch (*p) {
11773         case ' ': {
11774           p++;
11775           goto s_n_llhttp__internal__n_invoke_update_status_code;
11776         }
11777         default: {
11778           goto s_n_llhttp__internal__n_error_46;
11779         }
11780       }
11781       /* UNREACHABLE */;
11782       abort();
11783     }
11784     case s_n_llhttp__internal__n_res_http_minor:
11785     s_n_llhttp__internal__n_res_http_minor: {
11786       if (p == endp) {
11787         return s_n_llhttp__internal__n_res_http_minor;
11788       }
11789       switch (*p) {
11790         case '0': {
11791           p++;
11792           match = 0;
11793           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11794         }
11795         case '1': {
11796           p++;
11797           match = 1;
11798           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11799         }
11800         case '2': {
11801           p++;
11802           match = 2;
11803           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11804         }
11805         case '3': {
11806           p++;
11807           match = 3;
11808           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11809         }
11810         case '4': {
11811           p++;
11812           match = 4;
11813           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11814         }
11815         case '5': {
11816           p++;
11817           match = 5;
11818           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11819         }
11820         case '6': {
11821           p++;
11822           match = 6;
11823           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11824         }
11825         case '7': {
11826           p++;
11827           match = 7;
11828           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11829         }
11830         case '8': {
11831           p++;
11832           match = 8;
11833           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11834         }
11835         case '9': {
11836           p++;
11837           match = 9;
11838           goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
11839         }
11840         default: {
11841           goto s_n_llhttp__internal__n_error_47;
11842         }
11843       }
11844       /* UNREACHABLE */;
11845       abort();
11846     }
11847     case s_n_llhttp__internal__n_res_http_dot:
11848     s_n_llhttp__internal__n_res_http_dot: {
11849       if (p == endp) {
11850         return s_n_llhttp__internal__n_res_http_dot;
11851       }
11852       switch (*p) {
11853         case '.': {
11854           p++;
11855           goto s_n_llhttp__internal__n_res_http_minor;
11856         }
11857         default: {
11858           goto s_n_llhttp__internal__n_error_48;
11859         }
11860       }
11861       /* UNREACHABLE */;
11862       abort();
11863     }
11864     case s_n_llhttp__internal__n_res_http_major:
11865     s_n_llhttp__internal__n_res_http_major: {
11866       if (p == endp) {
11867         return s_n_llhttp__internal__n_res_http_major;
11868       }
11869       switch (*p) {
11870         case '0': {
11871           p++;
11872           match = 0;
11873           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11874         }
11875         case '1': {
11876           p++;
11877           match = 1;
11878           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11879         }
11880         case '2': {
11881           p++;
11882           match = 2;
11883           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11884         }
11885         case '3': {
11886           p++;
11887           match = 3;
11888           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11889         }
11890         case '4': {
11891           p++;
11892           match = 4;
11893           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11894         }
11895         case '5': {
11896           p++;
11897           match = 5;
11898           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11899         }
11900         case '6': {
11901           p++;
11902           match = 6;
11903           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11904         }
11905         case '7': {
11906           p++;
11907           match = 7;
11908           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11909         }
11910         case '8': {
11911           p++;
11912           match = 8;
11913           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11914         }
11915         case '9': {
11916           p++;
11917           match = 9;
11918           goto s_n_llhttp__internal__n_invoke_store_http_major_1;
11919         }
11920         default: {
11921           goto s_n_llhttp__internal__n_error_49;
11922         }
11923       }
11924       /* UNREACHABLE */;
11925       abort();
11926     }
11927     case s_n_llhttp__internal__n_start_res:
11928     s_n_llhttp__internal__n_start_res: {
11929       llparse_match_t match_seq;
11930 
11931       if (p == endp) {
11932         return s_n_llhttp__internal__n_start_res;
11933       }
11934       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob48, 5);
11935       p = match_seq.current;
11936       switch (match_seq.status) {
11937         case kMatchComplete: {
11938           p++;
11939           goto s_n_llhttp__internal__n_res_http_major;
11940         }
11941         case kMatchPause: {
11942           return s_n_llhttp__internal__n_start_res;
11943         }
11944         case kMatchMismatch: {
11945           goto s_n_llhttp__internal__n_error_52;
11946         }
11947       }
11948       /* UNREACHABLE */;
11949       abort();
11950     }
11951     case s_n_llhttp__internal__n_req_or_res_method_2:
11952     s_n_llhttp__internal__n_req_or_res_method_2: {
11953       llparse_match_t match_seq;
11954 
11955       if (p == endp) {
11956         return s_n_llhttp__internal__n_req_or_res_method_2;
11957       }
11958       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob49, 2);
11959       p = match_seq.current;
11960       switch (match_seq.status) {
11961         case kMatchComplete: {
11962           p++;
11963           match = 2;
11964           goto s_n_llhttp__internal__n_invoke_store_method;
11965         }
11966         case kMatchPause: {
11967           return s_n_llhttp__internal__n_req_or_res_method_2;
11968         }
11969         case kMatchMismatch: {
11970           goto s_n_llhttp__internal__n_error_50;
11971         }
11972       }
11973       /* UNREACHABLE */;
11974       abort();
11975     }
11976     case s_n_llhttp__internal__n_req_or_res_method_3:
11977     s_n_llhttp__internal__n_req_or_res_method_3: {
11978       llparse_match_t match_seq;
11979 
11980       if (p == endp) {
11981         return s_n_llhttp__internal__n_req_or_res_method_3;
11982       }
11983       match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob50, 3);
11984       p = match_seq.current;
11985       switch (match_seq.status) {
11986         case kMatchComplete: {
11987           p++;
11988           goto s_n_llhttp__internal__n_invoke_update_type_1;
11989         }
11990         case kMatchPause: {
11991           return s_n_llhttp__internal__n_req_or_res_method_3;
11992         }
11993         case kMatchMismatch: {
11994           goto s_n_llhttp__internal__n_error_50;
11995         }
11996       }
11997       /* UNREACHABLE */;
11998       abort();
11999     }
12000     case s_n_llhttp__internal__n_req_or_res_method_1:
12001     s_n_llhttp__internal__n_req_or_res_method_1: {
12002       if (p == endp) {
12003         return s_n_llhttp__internal__n_req_or_res_method_1;
12004       }
12005       switch (*p) {
12006         case 'E': {
12007           p++;
12008           goto s_n_llhttp__internal__n_req_or_res_method_2;
12009         }
12010         case 'T': {
12011           p++;
12012           goto s_n_llhttp__internal__n_req_or_res_method_3;
12013         }
12014         default: {
12015           goto s_n_llhttp__internal__n_error_50;
12016         }
12017       }
12018       /* UNREACHABLE */;
12019       abort();
12020     }
12021     case s_n_llhttp__internal__n_req_or_res_method:
12022     s_n_llhttp__internal__n_req_or_res_method: {
12023       if (p == endp) {
12024         return s_n_llhttp__internal__n_req_or_res_method;
12025       }
12026       switch (*p) {
12027         case 'H': {
12028           p++;
12029           goto s_n_llhttp__internal__n_req_or_res_method_1;
12030         }
12031         default: {
12032           goto s_n_llhttp__internal__n_error_50;
12033         }
12034       }
12035       /* UNREACHABLE */;
12036       abort();
12037     }
12038     case s_n_llhttp__internal__n_start_req_or_res:
12039     s_n_llhttp__internal__n_start_req_or_res: {
12040       if (p == endp) {
12041         return s_n_llhttp__internal__n_start_req_or_res;
12042       }
12043       switch (*p) {
12044         case 'H': {
12045           goto s_n_llhttp__internal__n_req_or_res_method;
12046         }
12047         default: {
12048           goto s_n_llhttp__internal__n_invoke_update_type_2;
12049         }
12050       }
12051       /* UNREACHABLE */;
12052       abort();
12053     }
12054     case s_n_llhttp__internal__n_invoke_load_type:
12055     s_n_llhttp__internal__n_invoke_load_type: {
12056       switch (llhttp__internal__c_load_type(state, p, endp)) {
12057         case 1:
12058           goto s_n_llhttp__internal__n_start_req;
12059         case 2:
12060           goto s_n_llhttp__internal__n_start_res;
12061         default:
12062           goto s_n_llhttp__internal__n_start_req_or_res;
12063       }
12064       /* UNREACHABLE */;
12065       abort();
12066     }
12067     case s_n_llhttp__internal__n_start:
12068     s_n_llhttp__internal__n_start: {
12069       if (p == endp) {
12070         return s_n_llhttp__internal__n_start;
12071       }
12072       switch (*p) {
12073         case 10: {
12074           p++;
12075           goto s_n_llhttp__internal__n_start;
12076         }
12077         case 13: {
12078           p++;
12079           goto s_n_llhttp__internal__n_start;
12080         }
12081         default: {
12082           goto s_n_llhttp__internal__n_invoke_update_finish;
12083         }
12084       }
12085       /* UNREACHABLE */;
12086       abort();
12087     }
12088     default:
12089       /* UNREACHABLE */
12090       abort();
12091   }
12092   s_n_llhttp__internal__n_error_39: {
12093     state->error = 0x7;
12094     state->reason = "Invalid characters in url";
12095     state->error_pos = (const char*) p;
12096     state->_current = (void*) (intptr_t) s_error;
12097     return s_error;
12098     /* UNREACHABLE */;
12099     abort();
12100   }
12101   s_n_llhttp__internal__n_invoke_update_finish_1: {
12102     switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
12103       default:
12104         goto s_n_llhttp__internal__n_start;
12105     }
12106     /* UNREACHABLE */;
12107     abort();
12108   }
12109   s_n_llhttp__internal__n_pause_5: {
12110     state->error = 0x15;
12111     state->reason = "on_message_complete pause";
12112     state->error_pos = (const char*) p;
12113     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
12114     return s_error;
12115     /* UNREACHABLE */;
12116     abort();
12117   }
12118   s_n_llhttp__internal__n_error_10: {
12119     state->error = 0x12;
12120     state->reason = "`on_message_complete` callback error";
12121     state->error_pos = (const char*) p;
12122     state->_current = (void*) (intptr_t) s_error;
12123     return s_error;
12124     /* UNREACHABLE */;
12125     abort();
12126   }
12127   s_n_llhttp__internal__n_pause_7: {
12128     state->error = 0x15;
12129     state->reason = "on_chunk_complete pause";
12130     state->error_pos = (const char*) p;
12131     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12132     return s_error;
12133     /* UNREACHABLE */;
12134     abort();
12135   }
12136   s_n_llhttp__internal__n_error_14: {
12137     state->error = 0x14;
12138     state->reason = "`on_chunk_complete` callback error";
12139     state->error_pos = (const char*) p;
12140     state->_current = (void*) (intptr_t) s_error;
12141     return s_error;
12142     /* UNREACHABLE */;
12143     abort();
12144   }
12145   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
12146     switch (llhttp__on_chunk_complete(state, p, endp)) {
12147       case 0:
12148         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12149       case 21:
12150         goto s_n_llhttp__internal__n_pause_7;
12151       default:
12152         goto s_n_llhttp__internal__n_error_14;
12153     }
12154     /* UNREACHABLE */;
12155     abort();
12156   }
12157   s_n_llhttp__internal__n_error_12: {
12158     state->error = 0x4;
12159     state->reason = "Content-Length can't be present with Transfer-Encoding";
12160     state->error_pos = (const char*) p;
12161     state->_current = (void*) (intptr_t) s_error;
12162     return s_error;
12163     /* UNREACHABLE */;
12164     abort();
12165   }
12166   s_n_llhttp__internal__n_error_13: {
12167     state->error = 0x4;
12168     state->reason = "Content-Length can't be present with chunked encoding";
12169     state->error_pos = (const char*) p;
12170     state->_current = (void*) (intptr_t) s_error;
12171     return s_error;
12172     /* UNREACHABLE */;
12173     abort();
12174   }
12175   s_n_llhttp__internal__n_pause_2: {
12176     state->error = 0x15;
12177     state->reason = "on_message_complete pause";
12178     state->error_pos = (const char*) p;
12179     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
12180     return s_error;
12181     /* UNREACHABLE */;
12182     abort();
12183   }
12184   s_n_llhttp__internal__n_error_3: {
12185     state->error = 0x12;
12186     state->reason = "`on_message_complete` callback error";
12187     state->error_pos = (const char*) p;
12188     state->_current = (void*) (intptr_t) s_error;
12189     return s_error;
12190     /* UNREACHABLE */;
12191     abort();
12192   }
12193   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
12194     switch (llhttp__on_message_complete(state, p, endp)) {
12195       case 0:
12196         goto s_n_llhttp__internal__n_pause_1;
12197       case 21:
12198         goto s_n_llhttp__internal__n_pause_2;
12199       default:
12200         goto s_n_llhttp__internal__n_error_3;
12201     }
12202     /* UNREACHABLE */;
12203     abort();
12204   }
12205   s_n_llhttp__internal__n_error_8: {
12206     state->error = 0xc;
12207     state->reason = "Chunk size overflow";
12208     state->error_pos = (const char*) p;
12209     state->_current = (void*) (intptr_t) s_error;
12210     return s_error;
12211     /* UNREACHABLE */;
12212     abort();
12213   }
12214   s_n_llhttp__internal__n_pause_3: {
12215     state->error = 0x15;
12216     state->reason = "on_chunk_complete pause";
12217     state->error_pos = (const char*) p;
12218     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length;
12219     return s_error;
12220     /* UNREACHABLE */;
12221     abort();
12222   }
12223   s_n_llhttp__internal__n_error_5: {
12224     state->error = 0x14;
12225     state->reason = "`on_chunk_complete` callback error";
12226     state->error_pos = (const char*) p;
12227     state->_current = (void*) (intptr_t) s_error;
12228     return s_error;
12229     /* UNREACHABLE */;
12230     abort();
12231   }
12232   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
12233     switch (llhttp__on_chunk_complete(state, p, endp)) {
12234       case 0:
12235         goto s_n_llhttp__internal__n_invoke_update_content_length;
12236       case 21:
12237         goto s_n_llhttp__internal__n_pause_3;
12238       default:
12239         goto s_n_llhttp__internal__n_error_5;
12240     }
12241     /* UNREACHABLE */;
12242     abort();
12243   }
12244   s_n_llhttp__internal__n_span_end_llhttp__on_body: {
12245     const unsigned char* start;
12246     int err;
12247 
12248     start = state->_span_pos0;
12249     state->_span_pos0 = NULL;
12250     err = llhttp__on_body(state, start, p);
12251     if (err != 0) {
12252       state->error = err;
12253       state->error_pos = (const char*) p;
12254       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_data_almost_done;
12255       return s_error;
12256     }
12257     goto s_n_llhttp__internal__n_chunk_data_almost_done;
12258     /* UNREACHABLE */;
12259     abort();
12260   }
12261   s_n_llhttp__internal__n_invoke_or_flags: {
12262     switch (llhttp__internal__c_or_flags(state, p, endp)) {
12263       default:
12264         goto s_n_llhttp__internal__n_header_field_start;
12265     }
12266     /* UNREACHABLE */;
12267     abort();
12268   }
12269   s_n_llhttp__internal__n_pause_4: {
12270     state->error = 0x15;
12271     state->reason = "on_chunk_header pause";
12272     state->error_pos = (const char*) p;
12273     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
12274     return s_error;
12275     /* UNREACHABLE */;
12276     abort();
12277   }
12278   s_n_llhttp__internal__n_error_4: {
12279     state->error = 0x13;
12280     state->reason = "`on_chunk_header` callback error";
12281     state->error_pos = (const char*) p;
12282     state->_current = (void*) (intptr_t) s_error;
12283     return s_error;
12284     /* UNREACHABLE */;
12285     abort();
12286   }
12287   s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
12288     switch (llhttp__on_chunk_header(state, p, endp)) {
12289       case 0:
12290         goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
12291       case 21:
12292         goto s_n_llhttp__internal__n_pause_4;
12293       default:
12294         goto s_n_llhttp__internal__n_error_4;
12295     }
12296     /* UNREACHABLE */;
12297     abort();
12298   }
12299   s_n_llhttp__internal__n_error_6: {
12300     state->error = 0x2;
12301     state->reason = "Invalid character in chunk parameters";
12302     state->error_pos = (const char*) p;
12303     state->_current = (void*) (intptr_t) s_error;
12304     return s_error;
12305     /* UNREACHABLE */;
12306     abort();
12307   }
12308   s_n_llhttp__internal__n_error_7: {
12309     state->error = 0xc;
12310     state->reason = "Invalid character in chunk size";
12311     state->error_pos = (const char*) p;
12312     state->_current = (void*) (intptr_t) s_error;
12313     return s_error;
12314     /* UNREACHABLE */;
12315     abort();
12316   }
12317   s_n_llhttp__internal__n_invoke_mul_add_content_length: {
12318     switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
12319       case 1:
12320         goto s_n_llhttp__internal__n_error_8;
12321       default:
12322         goto s_n_llhttp__internal__n_chunk_size;
12323     }
12324     /* UNREACHABLE */;
12325     abort();
12326   }
12327   s_n_llhttp__internal__n_error_9: {
12328     state->error = 0xc;
12329     state->reason = "Invalid character in chunk size";
12330     state->error_pos = (const char*) p;
12331     state->_current = (void*) (intptr_t) s_error;
12332     return s_error;
12333     /* UNREACHABLE */;
12334     abort();
12335   }
12336   s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
12337     const unsigned char* start;
12338     int err;
12339 
12340     start = state->_span_pos0;
12341     state->_span_pos0 = NULL;
12342     err = llhttp__on_body(state, start, p);
12343     if (err != 0) {
12344       state->error = err;
12345       state->error_pos = (const char*) p;
12346       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12347       return s_error;
12348     }
12349     goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
12350     /* UNREACHABLE */;
12351     abort();
12352   }
12353   s_n_llhttp__internal__n_invoke_update_finish_2: {
12354     switch (llhttp__internal__c_update_finish_2(state, p, endp)) {
12355       default:
12356         goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
12357     }
12358     /* UNREACHABLE */;
12359     abort();
12360   }
12361   s_n_llhttp__internal__n_error_11: {
12362     state->error = 0xf;
12363     state->reason = "Request has invalid `Transfer-Encoding`";
12364     state->error_pos = (const char*) p;
12365     state->_current = (void*) (intptr_t) s_error;
12366     return s_error;
12367     /* UNREACHABLE */;
12368     abort();
12369   }
12370   s_n_llhttp__internal__n_pause: {
12371     state->error = 0x15;
12372     state->reason = "on_message_complete pause";
12373     state->error_pos = (const char*) p;
12374     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
12375     return s_error;
12376     /* UNREACHABLE */;
12377     abort();
12378   }
12379   s_n_llhttp__internal__n_error_2: {
12380     state->error = 0x12;
12381     state->reason = "`on_message_complete` callback error";
12382     state->error_pos = (const char*) p;
12383     state->_current = (void*) (intptr_t) s_error;
12384     return s_error;
12385     /* UNREACHABLE */;
12386     abort();
12387   }
12388   s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
12389     switch (llhttp__on_message_complete(state, p, endp)) {
12390       case 0:
12391         goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
12392       case 21:
12393         goto s_n_llhttp__internal__n_pause;
12394       default:
12395         goto s_n_llhttp__internal__n_error_2;
12396     }
12397     /* UNREACHABLE */;
12398     abort();
12399   }
12400   s_n_llhttp__internal__n_invoke_or_flags_1: {
12401     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
12402       default:
12403         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12404     }
12405     /* UNREACHABLE */;
12406     abort();
12407   }
12408   s_n_llhttp__internal__n_invoke_or_flags_2: {
12409     switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
12410       default:
12411         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12412     }
12413     /* UNREACHABLE */;
12414     abort();
12415   }
12416   s_n_llhttp__internal__n_invoke_update_upgrade: {
12417     switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
12418       default:
12419         goto s_n_llhttp__internal__n_invoke_or_flags_2;
12420     }
12421     /* UNREACHABLE */;
12422     abort();
12423   }
12424   s_n_llhttp__internal__n_pause_6: {
12425     state->error = 0x15;
12426     state->reason = "Paused by on_headers_complete";
12427     state->error_pos = (const char*) p;
12428     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12429     return s_error;
12430     /* UNREACHABLE */;
12431     abort();
12432   }
12433   s_n_llhttp__internal__n_error_1: {
12434     state->error = 0x11;
12435     state->reason = "User callback error";
12436     state->error_pos = (const char*) p;
12437     state->_current = (void*) (intptr_t) s_error;
12438     return s_error;
12439     /* UNREACHABLE */;
12440     abort();
12441   }
12442   s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
12443     switch (llhttp__on_headers_complete(state, p, endp)) {
12444       case 0:
12445         goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
12446       case 1:
12447         goto s_n_llhttp__internal__n_invoke_or_flags_1;
12448       case 2:
12449         goto s_n_llhttp__internal__n_invoke_update_upgrade;
12450       case 21:
12451         goto s_n_llhttp__internal__n_pause_6;
12452       default:
12453         goto s_n_llhttp__internal__n_error_1;
12454     }
12455     /* UNREACHABLE */;
12456     abort();
12457   }
12458   s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
12459     switch (llhttp__before_headers_complete(state, p, endp)) {
12460       default:
12461         goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
12462     }
12463     /* UNREACHABLE */;
12464     abort();
12465   }
12466   s_n_llhttp__internal__n_invoke_test_flags_3: {
12467     switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
12468       case 1:
12469         goto s_n_llhttp__internal__n_error_13;
12470       default:
12471         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12472     }
12473     /* UNREACHABLE */;
12474     abort();
12475   }
12476   s_n_llhttp__internal__n_invoke_test_flags_2: {
12477     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12478       case 0:
12479         goto s_n_llhttp__internal__n_error_12;
12480       case 1:
12481         goto s_n_llhttp__internal__n_invoke_test_flags_3;
12482       default:
12483         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12484     }
12485     /* UNREACHABLE */;
12486     abort();
12487   }
12488   s_n_llhttp__internal__n_invoke_test_flags_1: {
12489     switch (llhttp__internal__c_test_flags_1(state, p, endp)) {
12490       case 1:
12491         goto s_n_llhttp__internal__n_invoke_test_flags_2;
12492       default:
12493         goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
12494     }
12495     /* UNREACHABLE */;
12496     abort();
12497   }
12498   s_n_llhttp__internal__n_invoke_test_flags: {
12499     switch (llhttp__internal__c_test_flags(state, p, endp)) {
12500       case 1:
12501         goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
12502       default:
12503         goto s_n_llhttp__internal__n_invoke_test_flags_1;
12504     }
12505     /* UNREACHABLE */;
12506     abort();
12507   }
12508   s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
12509     const unsigned char* start;
12510     int err;
12511 
12512     start = state->_span_pos0;
12513     state->_span_pos0 = NULL;
12514     err = llhttp__on_header_field(state, start, p);
12515     if (err != 0) {
12516       state->error = err;
12517       state->error_pos = (const char*) (p + 1);
12518       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_15;
12519       return s_error;
12520     }
12521     p++;
12522     goto s_n_llhttp__internal__n_error_15;
12523     /* UNREACHABLE */;
12524     abort();
12525   }
12526   s_n_llhttp__internal__n_invoke_test_flags_4: {
12527     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12528       case 1:
12529         goto s_n_llhttp__internal__n_header_field_colon_discard_ws;
12530       default:
12531         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
12532     }
12533     /* UNREACHABLE */;
12534     abort();
12535   }
12536   s_n_llhttp__internal__n_error_17: {
12537     state->error = 0xb;
12538     state->reason = "Empty Content-Length";
12539     state->error_pos = (const char*) p;
12540     state->_current = (void*) (intptr_t) s_error;
12541     return s_error;
12542     /* UNREACHABLE */;
12543     abort();
12544   }
12545   s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
12546     const unsigned char* start;
12547     int err;
12548 
12549     start = state->_span_pos0;
12550     state->_span_pos0 = NULL;
12551     err = llhttp__on_header_value(state, start, p);
12552     if (err != 0) {
12553       state->error = err;
12554       state->error_pos = (const char*) p;
12555       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
12556       return s_error;
12557     }
12558     goto s_n_llhttp__internal__n_header_field_start;
12559     /* UNREACHABLE */;
12560     abort();
12561   }
12562   s_n_llhttp__internal__n_invoke_update_header_state: {
12563     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12564       default:
12565         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12566     }
12567     /* UNREACHABLE */;
12568     abort();
12569   }
12570   s_n_llhttp__internal__n_invoke_or_flags_3: {
12571     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12572       default:
12573         goto s_n_llhttp__internal__n_invoke_update_header_state;
12574     }
12575     /* UNREACHABLE */;
12576     abort();
12577   }
12578   s_n_llhttp__internal__n_invoke_or_flags_4: {
12579     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12580       default:
12581         goto s_n_llhttp__internal__n_invoke_update_header_state;
12582     }
12583     /* UNREACHABLE */;
12584     abort();
12585   }
12586   s_n_llhttp__internal__n_invoke_or_flags_5: {
12587     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12588       default:
12589         goto s_n_llhttp__internal__n_invoke_update_header_state;
12590     }
12591     /* UNREACHABLE */;
12592     abort();
12593   }
12594   s_n_llhttp__internal__n_invoke_or_flags_6: {
12595     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12596       default:
12597         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12598     }
12599     /* UNREACHABLE */;
12600     abort();
12601   }
12602   s_n_llhttp__internal__n_invoke_load_header_state_1: {
12603     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12604       case 5:
12605         goto s_n_llhttp__internal__n_invoke_or_flags_3;
12606       case 6:
12607         goto s_n_llhttp__internal__n_invoke_or_flags_4;
12608       case 7:
12609         goto s_n_llhttp__internal__n_invoke_or_flags_5;
12610       case 8:
12611         goto s_n_llhttp__internal__n_invoke_or_flags_6;
12612       default:
12613         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
12614     }
12615     /* UNREACHABLE */;
12616     abort();
12617   }
12618   s_n_llhttp__internal__n_invoke_load_header_state: {
12619     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12620       case 2:
12621         goto s_n_llhttp__internal__n_error_17;
12622       default:
12623         goto s_n_llhttp__internal__n_invoke_load_header_state_1;
12624     }
12625     /* UNREACHABLE */;
12626     abort();
12627   }
12628   s_n_llhttp__internal__n_error_16: {
12629     state->error = 0xa;
12630     state->reason = "Invalid header value char";
12631     state->error_pos = (const char*) p;
12632     state->_current = (void*) (intptr_t) s_error;
12633     return s_error;
12634     /* UNREACHABLE */;
12635     abort();
12636   }
12637   s_n_llhttp__internal__n_invoke_test_flags_5: {
12638     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12639       case 1:
12640         goto s_n_llhttp__internal__n_header_value_discard_lws;
12641       default:
12642         goto s_n_llhttp__internal__n_error_16;
12643     }
12644     /* UNREACHABLE */;
12645     abort();
12646   }
12647   s_n_llhttp__internal__n_invoke_update_header_state_1: {
12648     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
12649       default:
12650         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
12651     }
12652     /* UNREACHABLE */;
12653     abort();
12654   }
12655   s_n_llhttp__internal__n_invoke_load_header_state_3: {
12656     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12657       case 8:
12658         goto s_n_llhttp__internal__n_invoke_update_header_state_1;
12659       default:
12660         goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
12661     }
12662     /* UNREACHABLE */;
12663     abort();
12664   }
12665   s_n_llhttp__internal__n_invoke_update_header_state_2: {
12666     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12667       default:
12668         goto s_n_llhttp__internal__n_header_field_start;
12669     }
12670     /* UNREACHABLE */;
12671     abort();
12672   }
12673   s_n_llhttp__internal__n_invoke_or_flags_7: {
12674     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12675       default:
12676         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
12677     }
12678     /* UNREACHABLE */;
12679     abort();
12680   }
12681   s_n_llhttp__internal__n_invoke_or_flags_8: {
12682     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12683       default:
12684         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
12685     }
12686     /* UNREACHABLE */;
12687     abort();
12688   }
12689   s_n_llhttp__internal__n_invoke_or_flags_9: {
12690     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12691       default:
12692         goto s_n_llhttp__internal__n_invoke_update_header_state_2;
12693     }
12694     /* UNREACHABLE */;
12695     abort();
12696   }
12697   s_n_llhttp__internal__n_invoke_or_flags_10: {
12698     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12699       default:
12700         goto s_n_llhttp__internal__n_header_field_start;
12701     }
12702     /* UNREACHABLE */;
12703     abort();
12704   }
12705   s_n_llhttp__internal__n_invoke_load_header_state_4: {
12706     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12707       case 5:
12708         goto s_n_llhttp__internal__n_invoke_or_flags_7;
12709       case 6:
12710         goto s_n_llhttp__internal__n_invoke_or_flags_8;
12711       case 7:
12712         goto s_n_llhttp__internal__n_invoke_or_flags_9;
12713       case 8:
12714         goto s_n_llhttp__internal__n_invoke_or_flags_10;
12715       default:
12716         goto s_n_llhttp__internal__n_header_field_start;
12717     }
12718     /* UNREACHABLE */;
12719     abort();
12720   }
12721   s_n_llhttp__internal__n_error_18: {
12722     state->error = 0x3;
12723     state->reason = "Missing expected LF after header value";
12724     state->error_pos = (const char*) p;
12725     state->_current = (void*) (intptr_t) s_error;
12726     return s_error;
12727     /* UNREACHABLE */;
12728     abort();
12729   }
12730   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
12731     const unsigned char* start;
12732     int err;
12733 
12734     start = state->_span_pos0;
12735     state->_span_pos0 = NULL;
12736     err = llhttp__on_header_value(state, start, p);
12737     if (err != 0) {
12738       state->error = err;
12739       state->error_pos = (const char*) (p + 1);
12740       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12741       return s_error;
12742     }
12743     p++;
12744     goto s_n_llhttp__internal__n_header_value_almost_done;
12745     /* UNREACHABLE */;
12746     abort();
12747   }
12748   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
12749     const unsigned char* start;
12750     int err;
12751 
12752     start = state->_span_pos0;
12753     state->_span_pos0 = NULL;
12754     err = llhttp__on_header_value(state, start, p);
12755     if (err != 0) {
12756       state->error = err;
12757       state->error_pos = (const char*) p;
12758       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12759       return s_error;
12760     }
12761     goto s_n_llhttp__internal__n_header_value_almost_done;
12762     /* UNREACHABLE */;
12763     abort();
12764   }
12765   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
12766     const unsigned char* start;
12767     int err;
12768 
12769     start = state->_span_pos0;
12770     state->_span_pos0 = NULL;
12771     err = llhttp__on_header_value(state, start, p);
12772     if (err != 0) {
12773       state->error = err;
12774       state->error_pos = (const char*) (p + 1);
12775       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
12776       return s_error;
12777     }
12778     p++;
12779     goto s_n_llhttp__internal__n_header_value_almost_done;
12780     /* UNREACHABLE */;
12781     abort();
12782   }
12783   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
12784     const unsigned char* start;
12785     int err;
12786 
12787     start = state->_span_pos0;
12788     state->_span_pos0 = NULL;
12789     err = llhttp__on_header_value(state, start, p);
12790     if (err != 0) {
12791       state->error = err;
12792       state->error_pos = (const char*) p;
12793       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_19;
12794       return s_error;
12795     }
12796     goto s_n_llhttp__internal__n_error_19;
12797     /* UNREACHABLE */;
12798     abort();
12799   }
12800   s_n_llhttp__internal__n_invoke_test_flags_6: {
12801     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
12802       case 1:
12803         goto s_n_llhttp__internal__n_header_value_lenient;
12804       default:
12805         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
12806     }
12807     /* UNREACHABLE */;
12808     abort();
12809   }
12810   s_n_llhttp__internal__n_invoke_update_header_state_4: {
12811     switch (llhttp__internal__c_update_header_state(state, p, endp)) {
12812       default:
12813         goto s_n_llhttp__internal__n_header_value_connection;
12814     }
12815     /* UNREACHABLE */;
12816     abort();
12817   }
12818   s_n_llhttp__internal__n_invoke_or_flags_11: {
12819     switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
12820       default:
12821         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
12822     }
12823     /* UNREACHABLE */;
12824     abort();
12825   }
12826   s_n_llhttp__internal__n_invoke_or_flags_12: {
12827     switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
12828       default:
12829         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
12830     }
12831     /* UNREACHABLE */;
12832     abort();
12833   }
12834   s_n_llhttp__internal__n_invoke_or_flags_13: {
12835     switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
12836       default:
12837         goto s_n_llhttp__internal__n_invoke_update_header_state_4;
12838     }
12839     /* UNREACHABLE */;
12840     abort();
12841   }
12842   s_n_llhttp__internal__n_invoke_or_flags_14: {
12843     switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
12844       default:
12845         goto s_n_llhttp__internal__n_header_value_connection;
12846     }
12847     /* UNREACHABLE */;
12848     abort();
12849   }
12850   s_n_llhttp__internal__n_invoke_load_header_state_5: {
12851     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
12852       case 5:
12853         goto s_n_llhttp__internal__n_invoke_or_flags_11;
12854       case 6:
12855         goto s_n_llhttp__internal__n_invoke_or_flags_12;
12856       case 7:
12857         goto s_n_llhttp__internal__n_invoke_or_flags_13;
12858       case 8:
12859         goto s_n_llhttp__internal__n_invoke_or_flags_14;
12860       default:
12861         goto s_n_llhttp__internal__n_header_value_connection;
12862     }
12863     /* UNREACHABLE */;
12864     abort();
12865   }
12866   s_n_llhttp__internal__n_invoke_update_header_state_5: {
12867     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
12868       default:
12869         goto s_n_llhttp__internal__n_header_value_connection_token;
12870     }
12871     /* UNREACHABLE */;
12872     abort();
12873   }
12874   s_n_llhttp__internal__n_invoke_update_header_state_3: {
12875     switch (llhttp__internal__c_update_header_state_3(state, p, endp)) {
12876       default:
12877         goto s_n_llhttp__internal__n_header_value_connection_ws;
12878     }
12879     /* UNREACHABLE */;
12880     abort();
12881   }
12882   s_n_llhttp__internal__n_invoke_update_header_state_6: {
12883     switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
12884       default:
12885         goto s_n_llhttp__internal__n_header_value_connection_ws;
12886     }
12887     /* UNREACHABLE */;
12888     abort();
12889   }
12890   s_n_llhttp__internal__n_invoke_update_header_state_7: {
12891     switch (llhttp__internal__c_update_header_state_7(state, p, endp)) {
12892       default:
12893         goto s_n_llhttp__internal__n_header_value_connection_ws;
12894     }
12895     /* UNREACHABLE */;
12896     abort();
12897   }
12898   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
12899     const unsigned char* start;
12900     int err;
12901 
12902     start = state->_span_pos0;
12903     state->_span_pos0 = NULL;
12904     err = llhttp__on_header_value(state, start, p);
12905     if (err != 0) {
12906       state->error = err;
12907       state->error_pos = (const char*) p;
12908       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_21;
12909       return s_error;
12910     }
12911     goto s_n_llhttp__internal__n_error_21;
12912     /* UNREACHABLE */;
12913     abort();
12914   }
12915   s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
12916     switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
12917       case 1:
12918         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
12919       default:
12920         goto s_n_llhttp__internal__n_header_value_content_length;
12921     }
12922     /* UNREACHABLE */;
12923     abort();
12924   }
12925   s_n_llhttp__internal__n_invoke_or_flags_15: {
12926     switch (llhttp__internal__c_or_flags_15(state, p, endp)) {
12927       default:
12928         goto s_n_llhttp__internal__n_header_value_otherwise;
12929     }
12930     /* UNREACHABLE */;
12931     abort();
12932   }
12933   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_6: {
12934     const unsigned char* start;
12935     int err;
12936 
12937     start = state->_span_pos0;
12938     state->_span_pos0 = NULL;
12939     err = llhttp__on_header_value(state, start, p);
12940     if (err != 0) {
12941       state->error = err;
12942       state->error_pos = (const char*) p;
12943       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_22;
12944       return s_error;
12945     }
12946     goto s_n_llhttp__internal__n_error_22;
12947     /* UNREACHABLE */;
12948     abort();
12949   }
12950   s_n_llhttp__internal__n_error_20: {
12951     state->error = 0x4;
12952     state->reason = "Duplicate Content-Length";
12953     state->error_pos = (const char*) p;
12954     state->_current = (void*) (intptr_t) s_error;
12955     return s_error;
12956     /* UNREACHABLE */;
12957     abort();
12958   }
12959   s_n_llhttp__internal__n_invoke_test_flags_7: {
12960     switch (llhttp__internal__c_test_flags_7(state, p, endp)) {
12961       case 0:
12962         goto s_n_llhttp__internal__n_header_value_content_length;
12963       default:
12964         goto s_n_llhttp__internal__n_error_20;
12965     }
12966     /* UNREACHABLE */;
12967     abort();
12968   }
12969   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8: {
12970     const unsigned char* start;
12971     int err;
12972 
12973     start = state->_span_pos0;
12974     state->_span_pos0 = NULL;
12975     err = llhttp__on_header_value(state, start, p);
12976     if (err != 0) {
12977       state->error = err;
12978       state->error_pos = (const char*) (p + 1);
12979       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_24;
12980       return s_error;
12981     }
12982     p++;
12983     goto s_n_llhttp__internal__n_error_24;
12984     /* UNREACHABLE */;
12985     abort();
12986   }
12987   s_n_llhttp__internal__n_invoke_update_header_state_8: {
12988     switch (llhttp__internal__c_update_header_state_8(state, p, endp)) {
12989       default:
12990         goto s_n_llhttp__internal__n_header_value_otherwise;
12991     }
12992     /* UNREACHABLE */;
12993     abort();
12994   }
12995   s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7: {
12996     const unsigned char* start;
12997     int err;
12998 
12999     start = state->_span_pos0;
13000     state->_span_pos0 = NULL;
13001     err = llhttp__on_header_value(state, start, p);
13002     if (err != 0) {
13003       state->error = err;
13004       state->error_pos = (const char*) (p + 1);
13005       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_23;
13006       return s_error;
13007     }
13008     p++;
13009     goto s_n_llhttp__internal__n_error_23;
13010     /* UNREACHABLE */;
13011     abort();
13012   }
13013   s_n_llhttp__internal__n_invoke_test_flags_9: {
13014     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
13015       case 0:
13016         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_7;
13017       default:
13018         goto s_n_llhttp__internal__n_header_value_te_chunked;
13019     }
13020     /* UNREACHABLE */;
13021     abort();
13022   }
13023   s_n_llhttp__internal__n_invoke_load_type_1: {
13024     switch (llhttp__internal__c_load_type(state, p, endp)) {
13025       case 1:
13026         goto s_n_llhttp__internal__n_invoke_test_flags_9;
13027       default:
13028         goto s_n_llhttp__internal__n_header_value_te_chunked;
13029     }
13030     /* UNREACHABLE */;
13031     abort();
13032   }
13033   s_n_llhttp__internal__n_invoke_update_header_state_9: {
13034     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
13035       default:
13036         goto s_n_llhttp__internal__n_header_value;
13037     }
13038     /* UNREACHABLE */;
13039     abort();
13040   }
13041   s_n_llhttp__internal__n_invoke_and_flags: {
13042     switch (llhttp__internal__c_and_flags(state, p, endp)) {
13043       default:
13044         goto s_n_llhttp__internal__n_header_value_te_chunked;
13045     }
13046     /* UNREACHABLE */;
13047     abort();
13048   }
13049   s_n_llhttp__internal__n_invoke_or_flags_17: {
13050     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
13051       default:
13052         goto s_n_llhttp__internal__n_invoke_and_flags;
13053     }
13054     /* UNREACHABLE */;
13055     abort();
13056   }
13057   s_n_llhttp__internal__n_invoke_test_flags_10: {
13058     switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
13059       case 0:
13060         goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_8;
13061       default:
13062         goto s_n_llhttp__internal__n_invoke_or_flags_17;
13063     }
13064     /* UNREACHABLE */;
13065     abort();
13066   }
13067   s_n_llhttp__internal__n_invoke_load_type_2: {
13068     switch (llhttp__internal__c_load_type(state, p, endp)) {
13069       case 1:
13070         goto s_n_llhttp__internal__n_invoke_test_flags_10;
13071       default:
13072         goto s_n_llhttp__internal__n_invoke_or_flags_17;
13073     }
13074     /* UNREACHABLE */;
13075     abort();
13076   }
13077   s_n_llhttp__internal__n_invoke_or_flags_16: {
13078     switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
13079       default:
13080         goto s_n_llhttp__internal__n_invoke_and_flags;
13081     }
13082     /* UNREACHABLE */;
13083     abort();
13084   }
13085   s_n_llhttp__internal__n_invoke_test_flags_8: {
13086     switch (llhttp__internal__c_test_flags_8(state, p, endp)) {
13087       case 1:
13088         goto s_n_llhttp__internal__n_invoke_load_type_2;
13089       default:
13090         goto s_n_llhttp__internal__n_invoke_or_flags_16;
13091     }
13092     /* UNREACHABLE */;
13093     abort();
13094   }
13095   s_n_llhttp__internal__n_invoke_or_flags_18: {
13096     switch (llhttp__internal__c_or_flags_18(state, p, endp)) {
13097       default:
13098         goto s_n_llhttp__internal__n_invoke_update_header_state_9;
13099     }
13100     /* UNREACHABLE */;
13101     abort();
13102   }
13103   s_n_llhttp__internal__n_invoke_load_header_state_2: {
13104     switch (llhttp__internal__c_load_header_state(state, p, endp)) {
13105       case 1:
13106         goto s_n_llhttp__internal__n_header_value_connection;
13107       case 2:
13108         goto s_n_llhttp__internal__n_invoke_test_flags_7;
13109       case 3:
13110         goto s_n_llhttp__internal__n_invoke_test_flags_8;
13111       case 4:
13112         goto s_n_llhttp__internal__n_invoke_or_flags_18;
13113       default:
13114         goto s_n_llhttp__internal__n_header_value;
13115     }
13116     /* UNREACHABLE */;
13117     abort();
13118   }
13119   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
13120     const unsigned char* start;
13121     int err;
13122 
13123     start = state->_span_pos0;
13124     state->_span_pos0 = NULL;
13125     err = llhttp__on_header_field(state, start, p);
13126     if (err != 0) {
13127       state->error = err;
13128       state->error_pos = (const char*) (p + 1);
13129       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
13130       return s_error;
13131     }
13132     p++;
13133     goto s_n_llhttp__internal__n_header_value_discard_ws;
13134     /* UNREACHABLE */;
13135     abort();
13136   }
13137   s_n_llhttp__internal__n_span_end_llhttp__on_header_field_2: {
13138     const unsigned char* start;
13139     int err;
13140 
13141     start = state->_span_pos0;
13142     state->_span_pos0 = NULL;
13143     err = llhttp__on_header_field(state, start, p);
13144     if (err != 0) {
13145       state->error = err;
13146       state->error_pos = (const char*) (p + 1);
13147       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
13148       return s_error;
13149     }
13150     p++;
13151     goto s_n_llhttp__internal__n_header_value_discard_ws;
13152     /* UNREACHABLE */;
13153     abort();
13154   }
13155   s_n_llhttp__internal__n_error_25: {
13156     state->error = 0xa;
13157     state->reason = "Invalid header token";
13158     state->error_pos = (const char*) p;
13159     state->_current = (void*) (intptr_t) s_error;
13160     return s_error;
13161     /* UNREACHABLE */;
13162     abort();
13163   }
13164   s_n_llhttp__internal__n_invoke_update_header_state_10: {
13165     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
13166       default:
13167         goto s_n_llhttp__internal__n_header_field_general;
13168     }
13169     /* UNREACHABLE */;
13170     abort();
13171   }
13172   s_n_llhttp__internal__n_invoke_store_header_state: {
13173     switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
13174       default:
13175         goto s_n_llhttp__internal__n_header_field_colon;
13176     }
13177     /* UNREACHABLE */;
13178     abort();
13179   }
13180   s_n_llhttp__internal__n_invoke_update_header_state_11: {
13181     switch (llhttp__internal__c_update_header_state_1(state, p, endp)) {
13182       default:
13183         goto s_n_llhttp__internal__n_header_field_general;
13184     }
13185     /* UNREACHABLE */;
13186     abort();
13187   }
13188   s_n_llhttp__internal__n_invoke_update_http_minor: {
13189     switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
13190       default:
13191         goto s_n_llhttp__internal__n_header_field_start;
13192     }
13193     /* UNREACHABLE */;
13194     abort();
13195   }
13196   s_n_llhttp__internal__n_invoke_update_http_major: {
13197     switch (llhttp__internal__c_update_http_major(state, p, endp)) {
13198       default:
13199         goto s_n_llhttp__internal__n_invoke_update_http_minor;
13200     }
13201     /* UNREACHABLE */;
13202     abort();
13203   }
13204   s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
13205     const unsigned char* start;
13206     int err;
13207 
13208     start = state->_span_pos0;
13209     state->_span_pos0 = NULL;
13210     err = llhttp__on_url(state, start, p);
13211     if (err != 0) {
13212       state->error = err;
13213       state->error_pos = (const char*) p;
13214       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13215       return s_error;
13216     }
13217     goto s_n_llhttp__internal__n_url_skip_to_http09;
13218     /* UNREACHABLE */;
13219     abort();
13220   }
13221   s_n_llhttp__internal__n_error_26: {
13222     state->error = 0x7;
13223     state->reason = "Expected CRLF";
13224     state->error_pos = (const char*) p;
13225     state->_current = (void*) (intptr_t) s_error;
13226     return s_error;
13227     /* UNREACHABLE */;
13228     abort();
13229   }
13230   s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
13231     const unsigned char* start;
13232     int err;
13233 
13234     start = state->_span_pos0;
13235     state->_span_pos0 = NULL;
13236     err = llhttp__on_url(state, start, p);
13237     if (err != 0) {
13238       state->error = err;
13239       state->error_pos = (const char*) p;
13240       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13241       return s_error;
13242     }
13243     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13244     /* UNREACHABLE */;
13245     abort();
13246   }
13247   s_n_llhttp__internal__n_error_27: {
13248     state->error = 0x9;
13249     state->reason = "Expected CRLF after version";
13250     state->error_pos = (const char*) p;
13251     state->_current = (void*) (intptr_t) s_error;
13252     return s_error;
13253     /* UNREACHABLE */;
13254     abort();
13255   }
13256   s_n_llhttp__internal__n_invoke_store_http_minor: {
13257     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
13258       default:
13259         goto s_n_llhttp__internal__n_req_http_end;
13260     }
13261     /* UNREACHABLE */;
13262     abort();
13263   }
13264   s_n_llhttp__internal__n_error_28: {
13265     state->error = 0x9;
13266     state->reason = "Invalid minor version";
13267     state->error_pos = (const char*) p;
13268     state->_current = (void*) (intptr_t) s_error;
13269     return s_error;
13270     /* UNREACHABLE */;
13271     abort();
13272   }
13273   s_n_llhttp__internal__n_error_29: {
13274     state->error = 0x9;
13275     state->reason = "Expected dot";
13276     state->error_pos = (const char*) p;
13277     state->_current = (void*) (intptr_t) s_error;
13278     return s_error;
13279     /* UNREACHABLE */;
13280     abort();
13281   }
13282   s_n_llhttp__internal__n_invoke_store_http_major: {
13283     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
13284       default:
13285         goto s_n_llhttp__internal__n_req_http_dot;
13286     }
13287     /* UNREACHABLE */;
13288     abort();
13289   }
13290   s_n_llhttp__internal__n_error_30: {
13291     state->error = 0x9;
13292     state->reason = "Invalid major version";
13293     state->error_pos = (const char*) p;
13294     state->_current = (void*) (intptr_t) s_error;
13295     return s_error;
13296     /* UNREACHABLE */;
13297     abort();
13298   }
13299   s_n_llhttp__internal__n_error_32: {
13300     state->error = 0x8;
13301     state->reason = "Expected HTTP/";
13302     state->error_pos = (const char*) p;
13303     state->_current = (void*) (intptr_t) s_error;
13304     return s_error;
13305     /* UNREACHABLE */;
13306     abort();
13307   }
13308   s_n_llhttp__internal__n_error_31: {
13309     state->error = 0x8;
13310     state->reason = "Expected SOURCE method for ICE/x.x request";
13311     state->error_pos = (const char*) p;
13312     state->_current = (void*) (intptr_t) s_error;
13313     return s_error;
13314     /* UNREACHABLE */;
13315     abort();
13316   }
13317   s_n_llhttp__internal__n_invoke_is_equal_method_1: {
13318     switch (llhttp__internal__c_is_equal_method_1(state, p, endp)) {
13319       case 0:
13320         goto s_n_llhttp__internal__n_error_31;
13321       default:
13322         goto s_n_llhttp__internal__n_req_http_major;
13323     }
13324     /* UNREACHABLE */;
13325     abort();
13326   }
13327   s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
13328     const unsigned char* start;
13329     int err;
13330 
13331     start = state->_span_pos0;
13332     state->_span_pos0 = NULL;
13333     err = llhttp__on_url(state, start, p);
13334     if (err != 0) {
13335       state->error = err;
13336       state->error_pos = (const char*) p;
13337       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13338       return s_error;
13339     }
13340     goto s_n_llhttp__internal__n_url_skip_to_http;
13341     /* UNREACHABLE */;
13342     abort();
13343   }
13344   s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
13345     const unsigned char* start;
13346     int err;
13347 
13348     start = state->_span_pos0;
13349     state->_span_pos0 = NULL;
13350     err = llhttp__on_url(state, start, p);
13351     if (err != 0) {
13352       state->error = err;
13353       state->error_pos = (const char*) p;
13354       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13355       return s_error;
13356     }
13357     goto s_n_llhttp__internal__n_url_skip_to_http09;
13358     /* UNREACHABLE */;
13359     abort();
13360   }
13361   s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
13362     const unsigned char* start;
13363     int err;
13364 
13365     start = state->_span_pos0;
13366     state->_span_pos0 = NULL;
13367     err = llhttp__on_url(state, start, p);
13368     if (err != 0) {
13369       state->error = err;
13370       state->error_pos = (const char*) p;
13371       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13372       return s_error;
13373     }
13374     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13375     /* UNREACHABLE */;
13376     abort();
13377   }
13378   s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
13379     const unsigned char* start;
13380     int err;
13381 
13382     start = state->_span_pos0;
13383     state->_span_pos0 = NULL;
13384     err = llhttp__on_url(state, start, p);
13385     if (err != 0) {
13386       state->error = err;
13387       state->error_pos = (const char*) p;
13388       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13389       return s_error;
13390     }
13391     goto s_n_llhttp__internal__n_url_skip_to_http;
13392     /* UNREACHABLE */;
13393     abort();
13394   }
13395   s_n_llhttp__internal__n_error_33: {
13396     state->error = 0x7;
13397     state->reason = "Invalid char in url fragment start";
13398     state->error_pos = (const char*) p;
13399     state->_current = (void*) (intptr_t) s_error;
13400     return s_error;
13401     /* UNREACHABLE */;
13402     abort();
13403   }
13404   s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
13405     const unsigned char* start;
13406     int err;
13407 
13408     start = state->_span_pos0;
13409     state->_span_pos0 = NULL;
13410     err = llhttp__on_url(state, start, p);
13411     if (err != 0) {
13412       state->error = err;
13413       state->error_pos = (const char*) p;
13414       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13415       return s_error;
13416     }
13417     goto s_n_llhttp__internal__n_url_skip_to_http09;
13418     /* UNREACHABLE */;
13419     abort();
13420   }
13421   s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
13422     const unsigned char* start;
13423     int err;
13424 
13425     start = state->_span_pos0;
13426     state->_span_pos0 = NULL;
13427     err = llhttp__on_url(state, start, p);
13428     if (err != 0) {
13429       state->error = err;
13430       state->error_pos = (const char*) p;
13431       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13432       return s_error;
13433     }
13434     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13435     /* UNREACHABLE */;
13436     abort();
13437   }
13438   s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
13439     const unsigned char* start;
13440     int err;
13441 
13442     start = state->_span_pos0;
13443     state->_span_pos0 = NULL;
13444     err = llhttp__on_url(state, start, p);
13445     if (err != 0) {
13446       state->error = err;
13447       state->error_pos = (const char*) p;
13448       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13449       return s_error;
13450     }
13451     goto s_n_llhttp__internal__n_url_skip_to_http;
13452     /* UNREACHABLE */;
13453     abort();
13454   }
13455   s_n_llhttp__internal__n_error_34: {
13456     state->error = 0x7;
13457     state->reason = "Invalid char in url query";
13458     state->error_pos = (const char*) p;
13459     state->_current = (void*) (intptr_t) s_error;
13460     return s_error;
13461     /* UNREACHABLE */;
13462     abort();
13463   }
13464   s_n_llhttp__internal__n_error_35: {
13465     state->error = 0x7;
13466     state->reason = "Invalid char in url path";
13467     state->error_pos = (const char*) p;
13468     state->_current = (void*) (intptr_t) s_error;
13469     return s_error;
13470     /* UNREACHABLE */;
13471     abort();
13472   }
13473   s_n_llhttp__internal__n_span_end_llhttp__on_url: {
13474     const unsigned char* start;
13475     int err;
13476 
13477     start = state->_span_pos0;
13478     state->_span_pos0 = NULL;
13479     err = llhttp__on_url(state, start, p);
13480     if (err != 0) {
13481       state->error = err;
13482       state->error_pos = (const char*) p;
13483       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13484       return s_error;
13485     }
13486     goto s_n_llhttp__internal__n_url_skip_to_http09;
13487     /* UNREACHABLE */;
13488     abort();
13489   }
13490   s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
13491     const unsigned char* start;
13492     int err;
13493 
13494     start = state->_span_pos0;
13495     state->_span_pos0 = NULL;
13496     err = llhttp__on_url(state, start, p);
13497     if (err != 0) {
13498       state->error = err;
13499       state->error_pos = (const char*) p;
13500       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13501       return s_error;
13502     }
13503     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13504     /* UNREACHABLE */;
13505     abort();
13506   }
13507   s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
13508     const unsigned char* start;
13509     int err;
13510 
13511     start = state->_span_pos0;
13512     state->_span_pos0 = NULL;
13513     err = llhttp__on_url(state, start, p);
13514     if (err != 0) {
13515       state->error = err;
13516       state->error_pos = (const char*) p;
13517       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13518       return s_error;
13519     }
13520     goto s_n_llhttp__internal__n_url_skip_to_http;
13521     /* UNREACHABLE */;
13522     abort();
13523   }
13524   s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
13525     const unsigned char* start;
13526     int err;
13527 
13528     start = state->_span_pos0;
13529     state->_span_pos0 = NULL;
13530     err = llhttp__on_url(state, start, p);
13531     if (err != 0) {
13532       state->error = err;
13533       state->error_pos = (const char*) p;
13534       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
13535       return s_error;
13536     }
13537     goto s_n_llhttp__internal__n_url_skip_to_http09;
13538     /* UNREACHABLE */;
13539     abort();
13540   }
13541   s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
13542     const unsigned char* start;
13543     int err;
13544 
13545     start = state->_span_pos0;
13546     state->_span_pos0 = NULL;
13547     err = llhttp__on_url(state, start, p);
13548     if (err != 0) {
13549       state->error = err;
13550       state->error_pos = (const char*) p;
13551       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
13552       return s_error;
13553     }
13554     goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
13555     /* UNREACHABLE */;
13556     abort();
13557   }
13558   s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
13559     const unsigned char* start;
13560     int err;
13561 
13562     start = state->_span_pos0;
13563     state->_span_pos0 = NULL;
13564     err = llhttp__on_url(state, start, p);
13565     if (err != 0) {
13566       state->error = err;
13567       state->error_pos = (const char*) p;
13568       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
13569       return s_error;
13570     }
13571     goto s_n_llhttp__internal__n_url_skip_to_http;
13572     /* UNREACHABLE */;
13573     abort();
13574   }
13575   s_n_llhttp__internal__n_error_36: {
13576     state->error = 0x7;
13577     state->reason = "Double @ in url";
13578     state->error_pos = (const char*) p;
13579     state->_current = (void*) (intptr_t) s_error;
13580     return s_error;
13581     /* UNREACHABLE */;
13582     abort();
13583   }
13584   s_n_llhttp__internal__n_error_37: {
13585     state->error = 0x7;
13586     state->reason = "Unexpected char in url server";
13587     state->error_pos = (const char*) p;
13588     state->_current = (void*) (intptr_t) s_error;
13589     return s_error;
13590     /* UNREACHABLE */;
13591     abort();
13592   }
13593   s_n_llhttp__internal__n_error_38: {
13594     state->error = 0x7;
13595     state->reason = "Unexpected char in url server";
13596     state->error_pos = (const char*) p;
13597     state->_current = (void*) (intptr_t) s_error;
13598     return s_error;
13599     /* UNREACHABLE */;
13600     abort();
13601   }
13602   s_n_llhttp__internal__n_error_40: {
13603     state->error = 0x7;
13604     state->reason = "Unexpected char in url schema";
13605     state->error_pos = (const char*) p;
13606     state->_current = (void*) (intptr_t) s_error;
13607     return s_error;
13608     /* UNREACHABLE */;
13609     abort();
13610   }
13611   s_n_llhttp__internal__n_error_41: {
13612     state->error = 0x7;
13613     state->reason = "Unexpected char in url schema";
13614     state->error_pos = (const char*) p;
13615     state->_current = (void*) (intptr_t) s_error;
13616     return s_error;
13617     /* UNREACHABLE */;
13618     abort();
13619   }
13620   s_n_llhttp__internal__n_error_42: {
13621     state->error = 0x7;
13622     state->reason = "Unexpected start char in url";
13623     state->error_pos = (const char*) p;
13624     state->_current = (void*) (intptr_t) s_error;
13625     return s_error;
13626     /* UNREACHABLE */;
13627     abort();
13628   }
13629   s_n_llhttp__internal__n_invoke_is_equal_method: {
13630     switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
13631       case 0:
13632         goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
13633       default:
13634         goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
13635     }
13636     /* UNREACHABLE */;
13637     abort();
13638   }
13639   s_n_llhttp__internal__n_error_43: {
13640     state->error = 0x6;
13641     state->reason = "Expected space after method";
13642     state->error_pos = (const char*) p;
13643     state->_current = (void*) (intptr_t) s_error;
13644     return s_error;
13645     /* UNREACHABLE */;
13646     abort();
13647   }
13648   s_n_llhttp__internal__n_invoke_store_method_1: {
13649     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
13650       default:
13651         goto s_n_llhttp__internal__n_req_first_space_before_url;
13652     }
13653     /* UNREACHABLE */;
13654     abort();
13655   }
13656   s_n_llhttp__internal__n_error_51: {
13657     state->error = 0x6;
13658     state->reason = "Invalid method encountered";
13659     state->error_pos = (const char*) p;
13660     state->_current = (void*) (intptr_t) s_error;
13661     return s_error;
13662     /* UNREACHABLE */;
13663     abort();
13664   }
13665   s_n_llhttp__internal__n_error_44: {
13666     state->error = 0xd;
13667     state->reason = "Response overflow";
13668     state->error_pos = (const char*) p;
13669     state->_current = (void*) (intptr_t) s_error;
13670     return s_error;
13671     /* UNREACHABLE */;
13672     abort();
13673   }
13674   s_n_llhttp__internal__n_invoke_mul_add_status_code: {
13675     switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
13676       case 1:
13677         goto s_n_llhttp__internal__n_error_44;
13678       default:
13679         goto s_n_llhttp__internal__n_res_status_code;
13680     }
13681     /* UNREACHABLE */;
13682     abort();
13683   }
13684   s_n_llhttp__internal__n_span_end_llhttp__on_status: {
13685     const unsigned char* start;
13686     int err;
13687 
13688     start = state->_span_pos0;
13689     state->_span_pos0 = NULL;
13690     err = llhttp__on_status(state, start, p);
13691     if (err != 0) {
13692       state->error = err;
13693       state->error_pos = (const char*) (p + 1);
13694       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
13695       return s_error;
13696     }
13697     p++;
13698     goto s_n_llhttp__internal__n_header_field_start;
13699     /* UNREACHABLE */;
13700     abort();
13701   }
13702   s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
13703     const unsigned char* start;
13704     int err;
13705 
13706     start = state->_span_pos0;
13707     state->_span_pos0 = NULL;
13708     err = llhttp__on_status(state, start, p);
13709     if (err != 0) {
13710       state->error = err;
13711       state->error_pos = (const char*) (p + 1);
13712       state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_line_almost_done;
13713       return s_error;
13714     }
13715     p++;
13716     goto s_n_llhttp__internal__n_res_line_almost_done;
13717     /* UNREACHABLE */;
13718     abort();
13719   }
13720   s_n_llhttp__internal__n_error_45: {
13721     state->error = 0xd;
13722     state->reason = "Invalid response status";
13723     state->error_pos = (const char*) p;
13724     state->_current = (void*) (intptr_t) s_error;
13725     return s_error;
13726     /* UNREACHABLE */;
13727     abort();
13728   }
13729   s_n_llhttp__internal__n_invoke_update_status_code: {
13730     switch (llhttp__internal__c_update_status_code(state, p, endp)) {
13731       default:
13732         goto s_n_llhttp__internal__n_res_status_code;
13733     }
13734     /* UNREACHABLE */;
13735     abort();
13736   }
13737   s_n_llhttp__internal__n_error_46: {
13738     state->error = 0x9;
13739     state->reason = "Expected space after version";
13740     state->error_pos = (const char*) p;
13741     state->_current = (void*) (intptr_t) s_error;
13742     return s_error;
13743     /* UNREACHABLE */;
13744     abort();
13745   }
13746   s_n_llhttp__internal__n_invoke_store_http_minor_1: {
13747     switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
13748       default:
13749         goto s_n_llhttp__internal__n_res_http_end;
13750     }
13751     /* UNREACHABLE */;
13752     abort();
13753   }
13754   s_n_llhttp__internal__n_error_47: {
13755     state->error = 0x9;
13756     state->reason = "Invalid minor version";
13757     state->error_pos = (const char*) p;
13758     state->_current = (void*) (intptr_t) s_error;
13759     return s_error;
13760     /* UNREACHABLE */;
13761     abort();
13762   }
13763   s_n_llhttp__internal__n_error_48: {
13764     state->error = 0x9;
13765     state->reason = "Expected dot";
13766     state->error_pos = (const char*) p;
13767     state->_current = (void*) (intptr_t) s_error;
13768     return s_error;
13769     /* UNREACHABLE */;
13770     abort();
13771   }
13772   s_n_llhttp__internal__n_invoke_store_http_major_1: {
13773     switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
13774       default:
13775         goto s_n_llhttp__internal__n_res_http_dot;
13776     }
13777     /* UNREACHABLE */;
13778     abort();
13779   }
13780   s_n_llhttp__internal__n_error_49: {
13781     state->error = 0x9;
13782     state->reason = "Invalid major version";
13783     state->error_pos = (const char*) p;
13784     state->_current = (void*) (intptr_t) s_error;
13785     return s_error;
13786     /* UNREACHABLE */;
13787     abort();
13788   }
13789   s_n_llhttp__internal__n_error_52: {
13790     state->error = 0x8;
13791     state->reason = "Expected HTTP/";
13792     state->error_pos = (const char*) p;
13793     state->_current = (void*) (intptr_t) s_error;
13794     return s_error;
13795     /* UNREACHABLE */;
13796     abort();
13797   }
13798   s_n_llhttp__internal__n_invoke_update_type: {
13799     switch (llhttp__internal__c_update_type(state, p, endp)) {
13800       default:
13801         goto s_n_llhttp__internal__n_req_first_space_before_url;
13802     }
13803     /* UNREACHABLE */;
13804     abort();
13805   }
13806   s_n_llhttp__internal__n_invoke_store_method: {
13807     switch (llhttp__internal__c_store_method(state, p, endp, match)) {
13808       default:
13809         goto s_n_llhttp__internal__n_invoke_update_type;
13810     }
13811     /* UNREACHABLE */;
13812     abort();
13813   }
13814   s_n_llhttp__internal__n_error_50: {
13815     state->error = 0x8;
13816     state->reason = "Invalid word encountered";
13817     state->error_pos = (const char*) p;
13818     state->_current = (void*) (intptr_t) s_error;
13819     return s_error;
13820     /* UNREACHABLE */;
13821     abort();
13822   }
13823   s_n_llhttp__internal__n_invoke_update_type_1: {
13824     switch (llhttp__internal__c_update_type_1(state, p, endp)) {
13825       default:
13826         goto s_n_llhttp__internal__n_res_http_major;
13827     }
13828     /* UNREACHABLE */;
13829     abort();
13830   }
13831   s_n_llhttp__internal__n_invoke_update_type_2: {
13832     switch (llhttp__internal__c_update_type(state, p, endp)) {
13833       default:
13834         goto s_n_llhttp__internal__n_start_req;
13835     }
13836     /* UNREACHABLE */;
13837     abort();
13838   }
13839   s_n_llhttp__internal__n_pause_8: {
13840     state->error = 0x15;
13841     state->reason = "on_message_begin pause";
13842     state->error_pos = (const char*) p;
13843     state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
13844     return s_error;
13845     /* UNREACHABLE */;
13846     abort();
13847   }
13848   s_n_llhttp__internal__n_error: {
13849     state->error = 0x10;
13850     state->reason = "`on_message_begin` callback error";
13851     state->error_pos = (const char*) p;
13852     state->_current = (void*) (intptr_t) s_error;
13853     return s_error;
13854     /* UNREACHABLE */;
13855     abort();
13856   }
13857   s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
13858     switch (llhttp__on_message_begin(state, p, endp)) {
13859       case 0:
13860         goto s_n_llhttp__internal__n_invoke_load_type;
13861       case 21:
13862         goto s_n_llhttp__internal__n_pause_8;
13863       default:
13864         goto s_n_llhttp__internal__n_error;
13865     }
13866     /* UNREACHABLE */;
13867     abort();
13868   }
13869   s_n_llhttp__internal__n_invoke_update_finish: {
13870     switch (llhttp__internal__c_update_finish(state, p, endp)) {
13871       default:
13872         goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
13873     }
13874     /* UNREACHABLE */;
13875     abort();
13876   }
13877 }
13878 
llhttp__internal_execute(llhttp__internal_t * state,const char * p,const char * endp)13879 int llhttp__internal_execute(llhttp__internal_t* state, const char* p, const char* endp) {
13880   llparse_state_t next;
13881 
13882   /* check lingering errors */
13883   if (state->error != 0) {
13884     return state->error;
13885   }
13886 
13887   /* restart spans */
13888   if (state->_span_pos0 != NULL) {
13889     state->_span_pos0 = (void*) p;
13890   }
13891 
13892   next = llhttp__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
13893   if (next == s_error) {
13894     return state->error;
13895   }
13896   state->_current = (void*) (intptr_t) next;
13897 
13898   /* execute spans */
13899   if (state->_span_pos0 != NULL) {
13900     int error;
13901 
13902     error = ((llhttp__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
13903     if (error != 0) {
13904       state->error = error;
13905       state->error_pos = endp;
13906       return error;
13907     }
13908   }
13909 
13910   return 0;
13911 }
13912 
13913 #endif  /* LLHTTP_STRICT_MODE */
13914