xref: /PHP-5.3/Zend/zend_ini_scanner.c (revision 831fbcf3)
1 /* Generated by re2c 0.13.5 on Fri Nov 16 17:44:02 2012 */
2 #line 1 "Zend/zend_ini_scanner.l"
3 /*
4    +----------------------------------------------------------------------+
5    | Zend Engine                                                          |
6    +----------------------------------------------------------------------+
7    | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) |
8    +----------------------------------------------------------------------+
9    | This source file is subject to version 2.00 of the Zend license,     |
10    | that is bundled with this package in the file LICENSE, and is        |
11    | available through the world-wide-web at the following url:           |
12    | http://www.zend.com/license/2_00.txt.                                |
13    | If you did not receive a copy of the Zend license and are unable to  |
14    | obtain it through the world-wide-web, please send a note to          |
15    | license@zend.com so we can mail you a copy immediately.              |
16    +----------------------------------------------------------------------+
17    | Authors: Zeev Suraski <zeev@zend.com>                                |
18    |          Jani Taskinen <jani@php.net>                                |
19    |          Marcus Boerger <helly@php.net>                              |
20    |          Nuno Lopes <nlopess@php.net>                                |
21    |          Scott MacVicar <scottmac@php.net>                           |
22    +----------------------------------------------------------------------+
23 */
24 
25 /* $Id$ */
26 
27 #include <errno.h>
28 #include "zend.h"
29 #include "zend_globals.h"
30 #include <zend_ini_parser.h>
31 #include "zend_ini_scanner.h"
32 
33 #if 0
34 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
35 #else
36 # define YYDEBUG(s, c)
37 #endif
38 
39 #include "zend_ini_scanner_defs.h"
40 
41 #define YYCTYPE   unsigned char
42 /* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
43  * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
44 #define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
45 #define YYCURSOR  SCNG(yy_cursor)
46 #define YYLIMIT   SCNG(yy_limit)
47 #define YYMARKER  SCNG(yy_marker)
48 
49 #define YYGETCONDITION()  SCNG(yy_state)
50 #define YYSETCONDITION(s) SCNG(yy_state) = s
51 
52 #define STATE(name)  yyc##name
53 
54 /* emulate flex constructs */
55 #define BEGIN(state) YYSETCONDITION(STATE(state))
56 #define YYSTATE      YYGETCONDITION()
57 #define yytext       ((char*)SCNG(yy_text))
58 #define yyleng       SCNG(yy_leng)
59 #define yyless(x)    do {	YYCURSOR = (unsigned char*)yytext + x; \
60 							yyleng   = (unsigned int)x; } while(0)
61 
62 /* #define yymore()     goto yymore_restart */
63 
64 /* perform sanity check. If this message is triggered you should
65    increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
66 #define YYMAXFILL 6
67 #if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
68 # error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
69 #endif
70 
71 
72 /* How it works (for the core ini directives):
73  * ===========================================
74  *
75  * 1. Scanner scans file for tokens and passes them to parser.
76  * 2. Parser parses the tokens and passes the name/value pairs to the callback
77  *    function which stores them in the configuration hash table.
78  * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
79  *    registering of ini entries and uses zend_get_configuration_directive()
80  *    to fetch the previously stored name/value pair from configuration hash table
81  *    and registers the static ini entries which match the name to the value
82  *    into EG(ini_directives) hash table.
83  * 4. PATH section entries are used per-request from down to top, each overriding
84  *    previous if one exists. zend_alter_ini_entry() is called for each entry.
85  *    Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
86  *    php_admin_* directives used within Apache httpd.conf when PHP is compiled as
87  *    module for Apache.
88  * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
89  *    stored in separate hash defined by SAPI.
90  */
91 
92 /* TODO: (ordered by importance :-)
93  * ===============================================================================
94  *
95  *  - Separate constant lookup totally from plain strings (using CONSTANT pattern)
96  *  - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
97  *  - Add #include "some.ini"
98  *  - Allow variables to refer to options also when using parse_ini_file()
99  *
100  */
101 
102 /* Globals Macros */
103 #define SCNG	INI_SCNG
104 #ifdef ZTS
105 ZEND_API ts_rsrc_id ini_scanner_globals_id;
106 #else
107 ZEND_API zend_ini_scanner_globals ini_scanner_globals;
108 #endif
109 
110 /* Eat leading whitespace */
111 #define EAT_LEADING_WHITESPACE()                     \
112 	while (yytext[0]) {                              \
113 		if (yytext[0] == ' ' || yytext[0] == '\t') { \
114 			SCNG(yy_text)++;                         \
115 			yyleng--;                                \
116 		} else {                                     \
117 			break;                                   \
118 		}                                            \
119 	}
120 
121 /* Eat trailing whitespace + extra char */
122 #define EAT_TRAILING_WHITESPACE_EX(ch)              \
123 	while (yyleng > 0 && (                          \
124 		(ch != 'X' && yytext[yyleng - 1] ==  ch) || \
125 		yytext[yyleng - 1] == '\n' ||               \
126 		yytext[yyleng - 1] == '\r' ||               \
127 		yytext[yyleng - 1] == '\t' ||               \
128 		yytext[yyleng - 1] == ' ')                  \
129 	) {                                             \
130 		yyleng--;                                   \
131 	}
132 
133 /* Eat trailing whitespace */
134 #define EAT_TRAILING_WHITESPACE()	EAT_TRAILING_WHITESPACE_EX('X')
135 
136 #define zend_ini_copy_value(retval, str, len) {  \
137 	Z_STRVAL_P(retval) = zend_strndup(str, len); \
138 	Z_STRLEN_P(retval) = len;                    \
139 	Z_TYPE_P(retval) = IS_STRING;                \
140 }
141 
142 #define RETURN_TOKEN(type, str, len) {           \
143 	zend_ini_copy_value(ini_lval, str, len);     \
144 	return type;                                 \
145 }
146 
_yy_push_state(int new_state TSRMLS_DC)147 static void _yy_push_state(int new_state TSRMLS_DC)
148 {
149 	zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
150 	YYSETCONDITION(new_state);
151 }
152 
153 #define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
154 
yy_pop_state(TSRMLS_D)155 static void yy_pop_state(TSRMLS_D)
156 {
157 	int *stack_state;
158 	zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
159 	YYSETCONDITION(*stack_state);
160 	zend_stack_del_top(&SCNG(state_stack));
161 }
162 
yy_scan_buffer(char * str,unsigned int len TSRMLS_DC)163 static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
164 {
165 	YYCURSOR = (YYCTYPE*)str;
166 	SCNG(yy_start) = YYCURSOR;
167 	YYLIMIT  = YYCURSOR + len;
168 }
169 
170 #define ini_filename SCNG(filename)
171 
172 /* {{{ init_ini_scanner()
173 */
init_ini_scanner(int scanner_mode,zend_file_handle * fh TSRMLS_DC)174 static int init_ini_scanner(int scanner_mode, zend_file_handle *fh TSRMLS_DC)
175 {
176 	/* Sanity check */
177 	if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW) {
178 		zend_error(E_WARNING, "Invalid scanner mode");
179 		return FAILURE;
180 	}
181 
182 	SCNG(lineno) = 1;
183 	SCNG(scanner_mode) = scanner_mode;
184 	SCNG(yy_in) = fh;
185 
186 	if (fh != NULL) {
187 		ini_filename = zend_strndup(fh->filename, strlen(fh->filename));
188 	} else {
189 		ini_filename = NULL;
190 	}
191 
192 	zend_stack_init(&SCNG(state_stack));
193 	BEGIN(INITIAL);
194 
195 	return SUCCESS;
196 }
197 /* }}} */
198 
199 /* {{{ shutdown_ini_scanner()
200 */
shutdown_ini_scanner(TSRMLS_D)201 void shutdown_ini_scanner(TSRMLS_D)
202 {
203 	zend_stack_destroy(&SCNG(state_stack));
204 	if (ini_filename) {
205 		free(ini_filename);
206 	}
207 }
208 /* }}} */
209 
210 /* {{{ zend_ini_scanner_get_lineno()
211 */
zend_ini_scanner_get_lineno(TSRMLS_D)212 int zend_ini_scanner_get_lineno(TSRMLS_D)
213 {
214 	return SCNG(lineno);
215 }
216 /* }}} */
217 
218 /* {{{ zend_ini_scanner_get_filename()
219 */
zend_ini_scanner_get_filename(TSRMLS_D)220 char *zend_ini_scanner_get_filename(TSRMLS_D)
221 {
222 	return ini_filename ? ini_filename : "Unknown";
223 }
224 /* }}} */
225 
226 /* {{{ zend_ini_open_file_for_scanning()
227 */
zend_ini_open_file_for_scanning(zend_file_handle * fh,int scanner_mode TSRMLS_DC)228 int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode TSRMLS_DC)
229 {
230 	char *buf;
231 	size_t size;
232 
233 	if (zend_stream_fixup(fh, &buf, &size TSRMLS_CC) == FAILURE) {
234 		return FAILURE;
235 	}
236 
237 	if (init_ini_scanner(scanner_mode, fh TSRMLS_CC) == FAILURE) {
238 		zend_file_handle_dtor(fh TSRMLS_CC);
239 		return FAILURE;
240 	}
241 
242 	yy_scan_buffer(buf, size TSRMLS_CC);
243 
244 	return SUCCESS;
245 }
246 /* }}} */
247 
248 /* {{{ zend_ini_prepare_string_for_scanning()
249 */
zend_ini_prepare_string_for_scanning(char * str,int scanner_mode TSRMLS_DC)250 int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode TSRMLS_DC)
251 {
252 	int len = strlen(str);
253 
254 	if (init_ini_scanner(scanner_mode, NULL TSRMLS_CC) == FAILURE) {
255 		return FAILURE;
256 	}
257 
258 	yy_scan_buffer(str, len TSRMLS_CC);
259 
260 	return SUCCESS;
261 }
262 /* }}} */
263 
264 /* {{{ zend_ini_escape_string()
265  */
zend_ini_escape_string(zval * lval,char * str,int len,char quote_type TSRMLS_DC)266 static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type TSRMLS_DC)
267 {
268 	register char *s, *t;
269 	char *end;
270 
271 	zend_ini_copy_value(lval, str, len);
272 
273 	/* convert escape sequences */
274 	s = t = Z_STRVAL_P(lval);
275 	end = s + Z_STRLEN_P(lval);
276 
277 	while (s < end) {
278 		if (*s == '\\') {
279 			s++;
280 			if (s >= end) {
281 				*t++ = '\\';
282 				continue;
283 			}
284 			switch (*s) {
285 				case '"':
286 					if (*s != quote_type) {
287 						*t++ = '\\';
288 						*t++ = *s;
289 						break;
290 					}
291 				case '\\':
292 				case '$':
293 					*t++ = *s;
294 					Z_STRLEN_P(lval)--;
295 					break;
296 				default:
297 					*t++ = '\\';
298 					*t++ = *s;
299 					break;
300 			}
301 		} else {
302 			*t++ = *s;
303 		}
304 		if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
305 			SCNG(lineno)++;
306 		}
307 		s++;
308 	}
309 	*t = 0;
310 }
311 /* }}} */
312 
ini_lex(zval * ini_lval TSRMLS_DC)313 int ini_lex(zval *ini_lval TSRMLS_DC)
314 {
315 restart:
316 	SCNG(yy_text) = YYCURSOR;
317 
318 /* yymore_restart: */
319 	/* detect EOF */
320 	if (YYCURSOR >= YYLIMIT) {
321 		if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
322 			BEGIN(INITIAL);
323 			return END_OF_LINE;
324 		}
325 		return 0;
326 	}
327 
328 	/* Eat any UTF-8 BOM we find in the first 3 bytes */
329 	if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
330 		if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
331 			YYCURSOR += 3;
332 			goto restart;
333 		}
334 	}
335 
336 #line 337 "Zend/zend_ini_scanner.c"
337 {
338 	YYCTYPE yych;
339 	unsigned int yyaccept = 0;
340 	if (YYGETCONDITION() < 4) {
341 		if (YYGETCONDITION() < 2) {
342 			if (YYGETCONDITION() < 1) {
343 				goto yyc_INITIAL;
344 			} else {
345 				goto yyc_ST_OFFSET;
346 			}
347 		} else {
348 			if (YYGETCONDITION() < 3) {
349 				goto yyc_ST_SECTION_VALUE;
350 			} else {
351 				goto yyc_ST_VALUE;
352 			}
353 		}
354 	} else {
355 		if (YYGETCONDITION() < 6) {
356 			if (YYGETCONDITION() < 5) {
357 				goto yyc_ST_SECTION_RAW;
358 			} else {
359 				goto yyc_ST_DOUBLE_QUOTES;
360 			}
361 		} else {
362 			if (YYGETCONDITION() < 7) {
363 				goto yyc_ST_VARNAME;
364 			} else {
365 				goto yyc_ST_RAW;
366 			}
367 		}
368 	}
369 /* *********************************** */
370 yyc_INITIAL:
371 	{
372 		static const unsigned char yybm[] = {
373 			144, 144, 144, 144, 144, 144, 144, 144,
374 			144, 160,   0, 144, 144,   0, 144, 144,
375 			144, 144, 144, 144, 144, 144, 144, 144,
376 			144, 144, 144, 144, 144, 144, 144, 144,
377 			240, 128, 128, 144, 128, 144, 128, 144,
378 			128, 128, 144, 144, 144, 144, 144, 144,
379 			144, 144, 144, 144, 144, 144, 144, 144,
380 			144, 144, 144, 128, 144, 128, 144, 144,
381 			144, 144, 144, 144, 144, 144, 144, 144,
382 			144, 144, 144, 144, 144, 144, 144, 144,
383 			144, 144, 144, 144, 144, 144, 144, 144,
384 			144, 144, 144, 128, 144, 144, 144, 144,
385 			144, 144, 144, 144, 144, 144, 144, 144,
386 			144, 144, 144, 144, 144, 144, 144, 144,
387 			144, 144, 144, 144, 144, 144, 144, 144,
388 			144, 144, 144, 128, 128, 128, 128, 144,
389 			144, 144, 144, 144, 144, 144, 144, 144,
390 			144, 144, 144, 144, 144, 144, 144, 144,
391 			144, 144, 144, 144, 144, 144, 144, 144,
392 			144, 144, 144, 144, 144, 144, 144, 144,
393 			144, 144, 144, 144, 144, 144, 144, 144,
394 			144, 144, 144, 144, 144, 144, 144, 144,
395 			144, 144, 144, 144, 144, 144, 144, 144,
396 			144, 144, 144, 144, 144, 144, 144, 144,
397 			144, 144, 144, 144, 144, 144, 144, 144,
398 			144, 144, 144, 144, 144, 144, 144, 144,
399 			144, 144, 144, 144, 144, 144, 144, 144,
400 			144, 144, 144, 144, 144, 144, 144, 144,
401 			144, 144, 144, 144, 144, 144, 144, 144,
402 			144, 144, 144, 144, 144, 144, 144, 144,
403 			144, 144, 144, 144, 144, 144, 144, 144,
404 			144, 144, 144, 144, 144, 144, 144, 144,
405 		};
406 
407 		YYDEBUG(0, *YYCURSOR);
408 		YYFILL(5);
409 		yych = *YYCURSOR;
410 		YYDEBUG(-1, yych);
411 		switch (yych) {
412 		case '\t':	goto yy4;
413 		case '\n':	goto yy6;
414 		case '\r':	goto yy8;
415 		case ' ':	goto yy9;
416 		case '!':
417 		case '"':
418 		case '$':
419 		case '&':
420 		case '(':
421 		case ')':
422 		case '{':
423 		case '|':
424 		case '}':
425 		case '~':	goto yy10;
426 		case '#':	goto yy12;
427 		case '%':
428 		case '\'':
429 		case '*':
430 		case '+':
431 		case ',':
432 		case '-':
433 		case '.':
434 		case '/':
435 		case ':':
436 		case '<':
437 		case '>':
438 		case '?':
439 		case '@':
440 		case ']':
441 		case '^':	goto yy13;
442 		case ';':	goto yy14;
443 		case '=':	goto yy16;
444 		case 'F':
445 		case 'f':	goto yy18;
446 		case 'N':
447 		case 'n':	goto yy19;
448 		case 'O':
449 		case 'o':	goto yy20;
450 		case 'T':
451 		case 't':	goto yy21;
452 		case 'Y':
453 		case 'y':	goto yy22;
454 		case '[':	goto yy23;
455 		default:	goto yy2;
456 		}
457 yy2:
458 		YYDEBUG(2, *YYCURSOR);
459 		++YYCURSOR;
460 		yych = *YYCURSOR;
461 		goto yy26;
462 yy3:
463 		YYDEBUG(3, *YYCURSOR);
464 		yyleng = YYCURSOR - SCNG(yy_text);
465 #line 429 "Zend/zend_ini_scanner.l"
466 		{ /* Get option name */
467 	/* Eat leading whitespace */
468 	EAT_LEADING_WHITESPACE();
469 
470 	/* Eat trailing whitespace */
471 	EAT_TRAILING_WHITESPACE();
472 
473 	RETURN_TOKEN(TC_LABEL, yytext, yyleng);
474 }
475 #line 476 "Zend/zend_ini_scanner.c"
476 yy4:
477 		YYDEBUG(4, *YYCURSOR);
478 		yyaccept = 0;
479 		yych = *(YYMARKER = ++YYCURSOR);
480 		goto yy68;
481 yy5:
482 		YYDEBUG(5, *YYCURSOR);
483 		yyleng = YYCURSOR - SCNG(yy_text);
484 #line 575 "Zend/zend_ini_scanner.l"
485 		{
486 	/* eat whitespace */
487 	goto restart;
488 }
489 #line 490 "Zend/zend_ini_scanner.c"
490 yy6:
491 		YYDEBUG(6, *YYCURSOR);
492 		++YYCURSOR;
493 yy7:
494 		YYDEBUG(7, *YYCURSOR);
495 		yyleng = YYCURSOR - SCNG(yy_text);
496 #line 580 "Zend/zend_ini_scanner.l"
497 		{
498 	SCNG(lineno)++;
499 	return END_OF_LINE;
500 }
501 #line 502 "Zend/zend_ini_scanner.c"
502 yy8:
503 		YYDEBUG(8, *YYCURSOR);
504 		yych = *++YYCURSOR;
505 		if (yych == '\n') goto yy71;
506 		goto yy7;
507 yy9:
508 		YYDEBUG(9, *YYCURSOR);
509 		yyaccept = 1;
510 		yych = *(YYMARKER = ++YYCURSOR);
511 		if (yych <= ' ') {
512 			if (yych <= '\n') {
513 				if (yych <= 0x08) goto yy26;
514 				if (yych <= '\t') goto yy67;
515 				goto yy71;
516 			} else {
517 				if (yych == '\r') goto yy72;
518 				if (yych <= 0x1F) goto yy26;
519 				goto yy69;
520 			}
521 		} else {
522 			if (yych <= ':') {
523 				if (yych == '#') goto yy58;
524 				goto yy26;
525 			} else {
526 				if (yych <= ';') goto yy53;
527 				if (yych == '=') goto yy51;
528 				goto yy26;
529 			}
530 		}
531 yy10:
532 		YYDEBUG(10, *YYCURSOR);
533 		++YYCURSOR;
534 		YYDEBUG(11, *YYCURSOR);
535 		yyleng = YYCURSOR - SCNG(yy_text);
536 #line 503 "Zend/zend_ini_scanner.l"
537 		{ /* Disallow these chars outside option values */
538 	return yytext[0];
539 }
540 #line 541 "Zend/zend_ini_scanner.c"
541 yy12:
542 		YYDEBUG(12, *YYCURSOR);
543 		yyaccept = 1;
544 		yych = *(YYMARKER = ++YYCURSOR);
545 		goto yy59;
546 yy13:
547 		YYDEBUG(13, *YYCURSOR);
548 		yych = *++YYCURSOR;
549 		goto yy26;
550 yy14:
551 		YYDEBUG(14, *YYCURSOR);
552 		yyaccept = 2;
553 		yych = *(YYMARKER = ++YYCURSOR);
554 		goto yy54;
555 		YYDEBUG(15, *YYCURSOR);
556 		yyleng = YYCURSOR - SCNG(yy_text);
557 #line 603 "Zend/zend_ini_scanner.l"
558 		{
559 	return 0;
560 }
561 #line 562 "Zend/zend_ini_scanner.c"
562 yy16:
563 		YYDEBUG(16, *YYCURSOR);
564 		++YYCURSOR;
565 		yych = *YYCURSOR;
566 		goto yy52;
567 yy17:
568 		YYDEBUG(17, *YYCURSOR);
569 		yyleng = YYCURSOR - SCNG(yy_text);
570 #line 439 "Zend/zend_ini_scanner.l"
571 		{ /* Start option value */
572 	if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
573 		yy_push_state(ST_RAW TSRMLS_CC);
574 	} else {
575 		yy_push_state(ST_VALUE TSRMLS_CC);
576 	}
577 	return '=';
578 }
579 #line 580 "Zend/zend_ini_scanner.c"
580 yy18:
581 		YYDEBUG(18, *YYCURSOR);
582 		yych = *++YYCURSOR;
583 		if (yych == 'A') goto yy48;
584 		if (yych == 'a') goto yy48;
585 		goto yy26;
586 yy19:
587 		YYDEBUG(19, *YYCURSOR);
588 		yych = *++YYCURSOR;
589 		if (yych <= 'U') {
590 			if (yych == 'O') goto yy44;
591 			if (yych <= 'T') goto yy26;
592 			goto yy45;
593 		} else {
594 			if (yych <= 'o') {
595 				if (yych <= 'n') goto yy26;
596 				goto yy44;
597 			} else {
598 				if (yych == 'u') goto yy45;
599 				goto yy26;
600 			}
601 		}
602 yy20:
603 		YYDEBUG(20, *YYCURSOR);
604 		yych = *++YYCURSOR;
605 		if (yych <= 'N') {
606 			if (yych == 'F') goto yy38;
607 			if (yych <= 'M') goto yy26;
608 			goto yy31;
609 		} else {
610 			if (yych <= 'f') {
611 				if (yych <= 'e') goto yy26;
612 				goto yy38;
613 			} else {
614 				if (yych == 'n') goto yy31;
615 				goto yy26;
616 			}
617 		}
618 yy21:
619 		YYDEBUG(21, *YYCURSOR);
620 		yych = *++YYCURSOR;
621 		if (yych == 'R') goto yy36;
622 		if (yych == 'r') goto yy36;
623 		goto yy26;
624 yy22:
625 		YYDEBUG(22, *YYCURSOR);
626 		yych = *++YYCURSOR;
627 		if (yych == 'E') goto yy27;
628 		if (yych == 'e') goto yy27;
629 		goto yy26;
630 yy23:
631 		YYDEBUG(23, *YYCURSOR);
632 		++YYCURSOR;
633 		YYDEBUG(24, *YYCURSOR);
634 		yyleng = YYCURSOR - SCNG(yy_text);
635 #line 358 "Zend/zend_ini_scanner.l"
636 		{ /* Section start */
637 	/* Enter section data lookup state */
638 	if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
639 		yy_push_state(ST_SECTION_RAW TSRMLS_CC);
640 	} else {
641 		yy_push_state(ST_SECTION_VALUE TSRMLS_CC);
642 	}
643 	return TC_SECTION;
644 }
645 #line 646 "Zend/zend_ini_scanner.c"
646 yy25:
647 		YYDEBUG(25, *YYCURSOR);
648 		++YYCURSOR;
649 		YYFILL(1);
650 		yych = *YYCURSOR;
651 yy26:
652 		YYDEBUG(26, *YYCURSOR);
653 		if (yybm[0+yych] & 16) {
654 			goto yy25;
655 		}
656 		if (yych == '[') goto yy28;
657 		goto yy3;
658 yy27:
659 		YYDEBUG(27, *YYCURSOR);
660 		yych = *++YYCURSOR;
661 		if (yych == 'S') goto yy31;
662 		if (yych == 's') goto yy31;
663 		goto yy26;
664 yy28:
665 		YYDEBUG(28, *YYCURSOR);
666 		++YYCURSOR;
667 		YYFILL(1);
668 		yych = *YYCURSOR;
669 		YYDEBUG(29, *YYCURSOR);
670 		if (yybm[0+yych] & 32) {
671 			goto yy28;
672 		}
673 		YYDEBUG(30, *YYCURSOR);
674 		yyleng = YYCURSOR - SCNG(yy_text);
675 #line 383 "Zend/zend_ini_scanner.l"
676 		{ /* Start of option with offset */
677 	/* Eat leading whitespace */
678 	EAT_LEADING_WHITESPACE();
679 
680 	/* Eat trailing whitespace and [ */
681 	EAT_TRAILING_WHITESPACE_EX('[');
682 
683 	/* Enter offset lookup state */
684 	yy_push_state(ST_OFFSET TSRMLS_CC);
685 
686 	RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
687 }
688 #line 689 "Zend/zend_ini_scanner.c"
689 yy31:
690 		YYDEBUG(31, *YYCURSOR);
691 		++YYCURSOR;
692 		YYFILL(1);
693 		yych = *YYCURSOR;
694 		YYDEBUG(32, *YYCURSOR);
695 		if (yybm[0+yych] & 64) {
696 			goto yy31;
697 		}
698 		if (yych <= '&') {
699 			if (yych <= '\r') {
700 				if (yych <= '\t') {
701 					if (yych <= 0x08) goto yy25;
702 					goto yy34;
703 				} else {
704 					if (yych <= '\n') goto yy33;
705 					if (yych <= '\f') goto yy25;
706 				}
707 			} else {
708 				if (yych <= '#') {
709 					if (yych <= ' ') goto yy25;
710 					if (yych >= '#') goto yy25;
711 				} else {
712 					if (yych == '%') goto yy25;
713 				}
714 			}
715 		} else {
716 			if (yych <= '<') {
717 				if (yych <= ')') {
718 					if (yych <= '\'') goto yy25;
719 				} else {
720 					if (yych != ';') goto yy25;
721 				}
722 			} else {
723 				if (yych <= '[') {
724 					if (yych <= '=') goto yy33;
725 					if (yych <= 'Z') goto yy25;
726 					goto yy28;
727 				} else {
728 					if (yych <= 'z') goto yy25;
729 					if (yych >= 0x7F) goto yy25;
730 				}
731 			}
732 		}
733 yy33:
734 		YYDEBUG(33, *YYCURSOR);
735 		yyleng = YYCURSOR - SCNG(yy_text);
736 #line 421 "Zend/zend_ini_scanner.l"
737 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
738 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
739 }
740 #line 741 "Zend/zend_ini_scanner.c"
741 yy34:
742 		YYDEBUG(34, *YYCURSOR);
743 		++YYCURSOR;
744 		YYFILL(1);
745 		yych = *YYCURSOR;
746 		YYDEBUG(35, *YYCURSOR);
747 		if (yych == '\t') goto yy34;
748 		if (yych == ' ') goto yy34;
749 		goto yy33;
750 yy36:
751 		YYDEBUG(36, *YYCURSOR);
752 		yych = *++YYCURSOR;
753 		if (yych == 'U') goto yy37;
754 		if (yych != 'u') goto yy26;
755 yy37:
756 		YYDEBUG(37, *YYCURSOR);
757 		yych = *++YYCURSOR;
758 		if (yych == 'E') goto yy31;
759 		if (yych == 'e') goto yy31;
760 		goto yy26;
761 yy38:
762 		YYDEBUG(38, *YYCURSOR);
763 		yych = *++YYCURSOR;
764 		if (yych == 'F') goto yy39;
765 		if (yych != 'f') goto yy26;
766 yy39:
767 		YYDEBUG(39, *YYCURSOR);
768 		++YYCURSOR;
769 		YYFILL(1);
770 		yych = *YYCURSOR;
771 		YYDEBUG(40, *YYCURSOR);
772 		if (yych <= '%') {
773 			if (yych <= '\r') {
774 				if (yych <= '\t') {
775 					if (yych <= 0x08) goto yy25;
776 					goto yy42;
777 				} else {
778 					if (yych <= '\n') goto yy41;
779 					if (yych <= '\f') goto yy25;
780 				}
781 			} else {
782 				if (yych <= '"') {
783 					if (yych <= 0x1F) goto yy25;
784 					if (yych <= ' ') goto yy39;
785 				} else {
786 					if (yych != '$') goto yy25;
787 				}
788 			}
789 		} else {
790 			if (yych <= '<') {
791 				if (yych <= ')') {
792 					if (yych == '\'') goto yy25;
793 				} else {
794 					if (yych != ';') goto yy25;
795 				}
796 			} else {
797 				if (yych <= '[') {
798 					if (yych <= '=') goto yy41;
799 					if (yych <= 'Z') goto yy25;
800 					goto yy28;
801 				} else {
802 					if (yych <= 'z') goto yy25;
803 					if (yych >= 0x7F) goto yy25;
804 				}
805 			}
806 		}
807 yy41:
808 		YYDEBUG(41, *YYCURSOR);
809 		yyleng = YYCURSOR - SCNG(yy_text);
810 #line 425 "Zend/zend_ini_scanner.l"
811 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
812 	RETURN_TOKEN(BOOL_FALSE, "", 0);
813 }
814 #line 815 "Zend/zend_ini_scanner.c"
815 yy42:
816 		YYDEBUG(42, *YYCURSOR);
817 		++YYCURSOR;
818 		YYFILL(1);
819 		yych = *YYCURSOR;
820 		YYDEBUG(43, *YYCURSOR);
821 		if (yych == '\t') goto yy42;
822 		if (yych == ' ') goto yy42;
823 		goto yy41;
824 yy44:
825 		YYDEBUG(44, *YYCURSOR);
826 		yych = *++YYCURSOR;
827 		if (yych <= '&') {
828 			if (yych <= 0x1F) {
829 				if (yych <= '\n') {
830 					if (yych <= 0x08) goto yy26;
831 					if (yych <= '\t') goto yy42;
832 					goto yy41;
833 				} else {
834 					if (yych == '\r') goto yy41;
835 					goto yy26;
836 				}
837 			} else {
838 				if (yych <= '#') {
839 					if (yych <= ' ') goto yy39;
840 					if (yych <= '"') goto yy41;
841 					goto yy26;
842 				} else {
843 					if (yych == '%') goto yy26;
844 					goto yy41;
845 				}
846 			}
847 		} else {
848 			if (yych <= '=') {
849 				if (yych <= ':') {
850 					if (yych <= '\'') goto yy26;
851 					if (yych <= ')') goto yy41;
852 					goto yy26;
853 				} else {
854 					if (yych == '<') goto yy26;
855 					goto yy41;
856 				}
857 			} else {
858 				if (yych <= 'm') {
859 					if (yych == 'N') goto yy47;
860 					goto yy26;
861 				} else {
862 					if (yych <= 'n') goto yy47;
863 					if (yych <= 'z') goto yy26;
864 					if (yych <= '~') goto yy41;
865 					goto yy26;
866 				}
867 			}
868 		}
869 yy45:
870 		YYDEBUG(45, *YYCURSOR);
871 		yych = *++YYCURSOR;
872 		if (yych == 'L') goto yy46;
873 		if (yych != 'l') goto yy26;
874 yy46:
875 		YYDEBUG(46, *YYCURSOR);
876 		yych = *++YYCURSOR;
877 		if (yych == 'L') goto yy39;
878 		if (yych == 'l') goto yy39;
879 		goto yy26;
880 yy47:
881 		YYDEBUG(47, *YYCURSOR);
882 		yych = *++YYCURSOR;
883 		if (yych == 'E') goto yy39;
884 		if (yych == 'e') goto yy39;
885 		goto yy26;
886 yy48:
887 		YYDEBUG(48, *YYCURSOR);
888 		yych = *++YYCURSOR;
889 		if (yych == 'L') goto yy49;
890 		if (yych != 'l') goto yy26;
891 yy49:
892 		YYDEBUG(49, *YYCURSOR);
893 		yych = *++YYCURSOR;
894 		if (yych == 'S') goto yy50;
895 		if (yych != 's') goto yy26;
896 yy50:
897 		YYDEBUG(50, *YYCURSOR);
898 		yych = *++YYCURSOR;
899 		if (yych == 'E') goto yy39;
900 		if (yych == 'e') goto yy39;
901 		goto yy26;
902 yy51:
903 		YYDEBUG(51, *YYCURSOR);
904 		++YYCURSOR;
905 		YYFILL(1);
906 		yych = *YYCURSOR;
907 yy52:
908 		YYDEBUG(52, *YYCURSOR);
909 		if (yych == '\t') goto yy51;
910 		if (yych == ' ') goto yy51;
911 		goto yy17;
912 yy53:
913 		YYDEBUG(53, *YYCURSOR);
914 		++YYCURSOR;
915 		YYFILL(2);
916 		yych = *YYCURSOR;
917 yy54:
918 		YYDEBUG(54, *YYCURSOR);
919 		if (yybm[0+yych] & 128) {
920 			goto yy53;
921 		}
922 		if (yych >= '\r') goto yy57;
923 yy55:
924 		YYDEBUG(55, *YYCURSOR);
925 		++YYCURSOR;
926 yy56:
927 		YYDEBUG(56, *YYCURSOR);
928 		yyleng = YYCURSOR - SCNG(yy_text);
929 #line 585 "Zend/zend_ini_scanner.l"
930 		{ /* Comment */
931 	BEGIN(INITIAL);
932 	SCNG(lineno)++;
933 	return END_OF_LINE;
934 }
935 #line 936 "Zend/zend_ini_scanner.c"
936 yy57:
937 		YYDEBUG(57, *YYCURSOR);
938 		yych = *++YYCURSOR;
939 		if (yych == '\n') goto yy55;
940 		goto yy56;
941 yy58:
942 		YYDEBUG(58, *YYCURSOR);
943 		yyaccept = 1;
944 		YYMARKER = ++YYCURSOR;
945 		YYFILL(2);
946 		yych = *YYCURSOR;
947 yy59:
948 		YYDEBUG(59, *YYCURSOR);
949 		if (yych <= '&') {
950 			if (yych <= '\r') {
951 				if (yych <= '\t') {
952 					if (yych <= 0x08) goto yy58;
953 				} else {
954 					if (yych <= '\n') goto yy64;
955 					if (yych <= '\f') goto yy58;
956 					goto yy66;
957 				}
958 			} else {
959 				if (yych <= '#') {
960 					if (yych <= ' ') goto yy58;
961 					if (yych >= '#') goto yy58;
962 				} else {
963 					if (yych == '%') goto yy58;
964 				}
965 			}
966 		} else {
967 			if (yych <= '<') {
968 				if (yych <= ')') {
969 					if (yych <= '\'') goto yy58;
970 				} else {
971 					if (yych != ';') goto yy58;
972 				}
973 			} else {
974 				if (yych <= '[') {
975 					if (yych <= '=') goto yy60;
976 					if (yych <= 'Z') goto yy58;
977 					goto yy62;
978 				} else {
979 					if (yych <= 'z') goto yy58;
980 					if (yych >= 0x7F) goto yy58;
981 				}
982 			}
983 		}
984 yy60:
985 		YYDEBUG(60, *YYCURSOR);
986 		++YYCURSOR;
987 		YYFILL(2);
988 		yych = *YYCURSOR;
989 		YYDEBUG(61, *YYCURSOR);
990 		if (yych == '\n') goto yy64;
991 		if (yych == '\r') goto yy66;
992 		goto yy60;
993 yy62:
994 		YYDEBUG(62, *YYCURSOR);
995 		yyaccept = 3;
996 		YYMARKER = ++YYCURSOR;
997 		YYFILL(2);
998 		yych = *YYCURSOR;
999 		YYDEBUG(63, *YYCURSOR);
1000 		if (yych <= '\f') {
1001 			if (yych <= 0x08) goto yy60;
1002 			if (yych <= '\t') goto yy62;
1003 			if (yych >= '\v') goto yy60;
1004 		} else {
1005 			if (yych <= '\r') goto yy66;
1006 			if (yych == ' ') goto yy62;
1007 			goto yy60;
1008 		}
1009 yy64:
1010 		YYDEBUG(64, *YYCURSOR);
1011 		++YYCURSOR;
1012 yy65:
1013 		YYDEBUG(65, *YYCURSOR);
1014 		yyleng = YYCURSOR - SCNG(yy_text);
1015 #line 591 "Zend/zend_ini_scanner.l"
1016 		{ /* #Comment */
1017 	zend_error(E_DEPRECATED, "Comments starting with '#' are deprecated in %s on line %d", zend_ini_scanner_get_filename(TSRMLS_C), SCNG(lineno));
1018 	BEGIN(INITIAL);
1019 	SCNG(lineno)++;
1020 	return END_OF_LINE;
1021 }
1022 #line 1023 "Zend/zend_ini_scanner.c"
1023 yy66:
1024 		YYDEBUG(66, *YYCURSOR);
1025 		yych = *++YYCURSOR;
1026 		if (yych == '\n') goto yy64;
1027 		goto yy65;
1028 yy67:
1029 		YYDEBUG(67, *YYCURSOR);
1030 		yyaccept = 0;
1031 		YYMARKER = ++YYCURSOR;
1032 		YYFILL(2);
1033 		yych = *YYCURSOR;
1034 yy68:
1035 		YYDEBUG(68, *YYCURSOR);
1036 		if (yych <= ' ') {
1037 			if (yych <= '\n') {
1038 				if (yych <= 0x08) goto yy5;
1039 				if (yych <= '\t') goto yy67;
1040 				goto yy71;
1041 			} else {
1042 				if (yych == '\r') goto yy72;
1043 				if (yych <= 0x1F) goto yy5;
1044 				goto yy67;
1045 			}
1046 		} else {
1047 			if (yych <= ':') {
1048 				if (yych == '#') goto yy60;
1049 				goto yy5;
1050 			} else {
1051 				if (yych <= ';') goto yy53;
1052 				if (yych == '=') goto yy51;
1053 				goto yy5;
1054 			}
1055 		}
1056 yy69:
1057 		YYDEBUG(69, *YYCURSOR);
1058 		yyaccept = 1;
1059 		YYMARKER = ++YYCURSOR;
1060 		YYFILL(2);
1061 		yych = *YYCURSOR;
1062 		YYDEBUG(70, *YYCURSOR);
1063 		if (yych <= '%') {
1064 			if (yych <= '\r') {
1065 				if (yych <= '\t') {
1066 					if (yych <= 0x08) goto yy25;
1067 					goto yy67;
1068 				} else {
1069 					if (yych <= '\n') goto yy71;
1070 					if (yych <= '\f') goto yy25;
1071 					goto yy72;
1072 				}
1073 			} else {
1074 				if (yych <= '"') {
1075 					if (yych <= 0x1F) goto yy25;
1076 					if (yych <= ' ') goto yy69;
1077 					goto yy3;
1078 				} else {
1079 					if (yych <= '#') goto yy58;
1080 					if (yych <= '$') goto yy3;
1081 					goto yy25;
1082 				}
1083 			}
1084 		} else {
1085 			if (yych <= '<') {
1086 				if (yych <= ')') {
1087 					if (yych == '\'') goto yy25;
1088 					goto yy3;
1089 				} else {
1090 					if (yych == ';') goto yy53;
1091 					goto yy25;
1092 				}
1093 			} else {
1094 				if (yych <= '[') {
1095 					if (yych <= '=') goto yy51;
1096 					if (yych <= 'Z') goto yy25;
1097 					goto yy28;
1098 				} else {
1099 					if (yych <= 'z') goto yy25;
1100 					if (yych <= '~') goto yy3;
1101 					goto yy25;
1102 				}
1103 			}
1104 		}
1105 yy71:
1106 		YYDEBUG(71, *YYCURSOR);
1107 		yych = *++YYCURSOR;
1108 		goto yy7;
1109 yy72:
1110 		YYDEBUG(72, *YYCURSOR);
1111 		++YYCURSOR;
1112 		if ((yych = *YYCURSOR) == '\n') goto yy71;
1113 		goto yy7;
1114 	}
1115 /* *********************************** */
1116 yyc_ST_DOUBLE_QUOTES:
1117 	{
1118 		static const unsigned char yybm[] = {
1119 			  0,   0,   0,   0,   0,   0,   0,   0,
1120 			  0, 128,   0,   0,   0,   0,   0,   0,
1121 			  0,   0,   0,   0,   0,   0,   0,   0,
1122 			  0,   0,   0,   0,   0,   0,   0,   0,
1123 			128,   0,   0,   0,   0,   0,   0,   0,
1124 			  0,   0,   0,   0,   0,   0,   0,   0,
1125 			  0,   0,   0,   0,   0,   0,   0,   0,
1126 			  0,   0,   0,   0,   0,   0,   0,   0,
1127 			  0,   0,   0,   0,   0,   0,   0,   0,
1128 			  0,   0,   0,   0,   0,   0,   0,   0,
1129 			  0,   0,   0,   0,   0,   0,   0,   0,
1130 			  0,   0,   0,   0,   0,   0,   0,   0,
1131 			  0,   0,   0,   0,   0,   0,   0,   0,
1132 			  0,   0,   0,   0,   0,   0,   0,   0,
1133 			  0,   0,   0,   0,   0,   0,   0,   0,
1134 			  0,   0,   0,   0,   0,   0,   0,   0,
1135 			  0,   0,   0,   0,   0,   0,   0,   0,
1136 			  0,   0,   0,   0,   0,   0,   0,   0,
1137 			  0,   0,   0,   0,   0,   0,   0,   0,
1138 			  0,   0,   0,   0,   0,   0,   0,   0,
1139 			  0,   0,   0,   0,   0,   0,   0,   0,
1140 			  0,   0,   0,   0,   0,   0,   0,   0,
1141 			  0,   0,   0,   0,   0,   0,   0,   0,
1142 			  0,   0,   0,   0,   0,   0,   0,   0,
1143 			  0,   0,   0,   0,   0,   0,   0,   0,
1144 			  0,   0,   0,   0,   0,   0,   0,   0,
1145 			  0,   0,   0,   0,   0,   0,   0,   0,
1146 			  0,   0,   0,   0,   0,   0,   0,   0,
1147 			  0,   0,   0,   0,   0,   0,   0,   0,
1148 			  0,   0,   0,   0,   0,   0,   0,   0,
1149 			  0,   0,   0,   0,   0,   0,   0,   0,
1150 			  0,   0,   0,   0,   0,   0,   0,   0,
1151 		};
1152 		YYDEBUG(73, *YYCURSOR);
1153 		YYFILL(2);
1154 		yych = *YYCURSOR;
1155 		if (yych == '"') goto yy77;
1156 		if (yych == '$') goto yy79;
1157 		YYDEBUG(75, *YYCURSOR);
1158 		++YYCURSOR;
1159 yy76:
1160 		YYDEBUG(76, *YYCURSOR);
1161 		yyleng = YYCURSOR - SCNG(yy_text);
1162 #line 535 "Zend/zend_ini_scanner.l"
1163 		{ /* Escape double quoted string contents */
1164 	if (YYCURSOR > YYLIMIT) {
1165 		return 0;
1166 	}
1167 
1168 	while (YYCURSOR < YYLIMIT) {
1169 		switch (*YYCURSOR++) {
1170 			case '"':
1171 				if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
1172 					continue;
1173 				}
1174 				break;
1175 			case '$':
1176 				if (*YYCURSOR == '{') {
1177 					break;
1178 				}
1179 				continue;
1180 			case '\\':
1181 				if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
1182 					YYCURSOR++;
1183 				}
1184 				/* fall through */
1185 			default:
1186 				continue;
1187 		}
1188 
1189 		YYCURSOR--;
1190 		break;
1191 	}
1192 
1193 	yyleng = YYCURSOR - SCNG(yy_text);
1194 
1195 	zend_ini_escape_string(ini_lval, yytext, yyleng, '"' TSRMLS_CC);
1196 	return TC_QUOTED_STRING;
1197 }
1198 #line 1199 "Zend/zend_ini_scanner.c"
1199 yy77:
1200 		YYDEBUG(77, *YYCURSOR);
1201 		++YYCURSOR;
1202 		yych = *YYCURSOR;
1203 		goto yy83;
1204 yy78:
1205 		YYDEBUG(78, *YYCURSOR);
1206 		yyleng = YYCURSOR - SCNG(yy_text);
1207 #line 530 "Zend/zend_ini_scanner.l"
1208 		{ /* Double quoted '"' string ends */
1209 	yy_pop_state(TSRMLS_C);
1210 	return '"';
1211 }
1212 #line 1213 "Zend/zend_ini_scanner.c"
1213 yy79:
1214 		YYDEBUG(79, *YYCURSOR);
1215 		yych = *++YYCURSOR;
1216 		if (yych != '{') goto yy76;
1217 		YYDEBUG(80, *YYCURSOR);
1218 		++YYCURSOR;
1219 		YYDEBUG(81, *YYCURSOR);
1220 		yyleng = YYCURSOR - SCNG(yy_text);
1221 #line 401 "Zend/zend_ini_scanner.l"
1222 		{ /* Variable start */
1223 	yy_push_state(ST_VARNAME TSRMLS_CC);
1224 	return TC_DOLLAR_CURLY;
1225 }
1226 #line 1227 "Zend/zend_ini_scanner.c"
1227 yy82:
1228 		YYDEBUG(82, *YYCURSOR);
1229 		++YYCURSOR;
1230 		YYFILL(1);
1231 		yych = *YYCURSOR;
1232 yy83:
1233 		YYDEBUG(83, *YYCURSOR);
1234 		if (yybm[0+yych] & 128) {
1235 			goto yy82;
1236 		}
1237 		goto yy78;
1238 	}
1239 /* *********************************** */
1240 yyc_ST_OFFSET:
1241 	{
1242 		static const unsigned char yybm[] = {
1243 			 66,  66,  66,  66,  66,  66,  66,  66,
1244 			 66, 194,  64,  66,  66,  64,  66,  66,
1245 			 66,  66,  66,  66,  66,  66,  66,  66,
1246 			 66,  66,  66,  66,  66,  66,  66,  66,
1247 			194,  66,  64,  66,  68,  66,  66,   0,
1248 			 66,  66,  66,  66,  66,  66,  66,  66,
1249 			114, 114, 114, 114, 114, 114, 114, 114,
1250 			114, 114,  66,  64,  66,  66,  66,  66,
1251 			 66,  82,  82,  82,  82,  82,  82,  82,
1252 			 82,  82,  82,  82,  82,  82,  82,  82,
1253 			 82,  82,  82,  82,  82,  82,  82,  82,
1254 			 82,  82,  82,  66,  72,  64,  66,  82,
1255 			 66,  82,  82,  82,  82,  82,  82,  82,
1256 			 82,  82,  82,  82,  82,  82,  82,  82,
1257 			 82,  82,  82,  82,  82,  82,  82,  82,
1258 			 82,  82,  82,  66,  66,  66,  66,  66,
1259 			 66,  66,  66,  66,  66,  66,  66,  66,
1260 			 66,  66,  66,  66,  66,  66,  66,  66,
1261 			 66,  66,  66,  66,  66,  66,  66,  66,
1262 			 66,  66,  66,  66,  66,  66,  66,  66,
1263 			 66,  66,  66,  66,  66,  66,  66,  66,
1264 			 66,  66,  66,  66,  66,  66,  66,  66,
1265 			 66,  66,  66,  66,  66,  66,  66,  66,
1266 			 66,  66,  66,  66,  66,  66,  66,  66,
1267 			 66,  66,  66,  66,  66,  66,  66,  66,
1268 			 66,  66,  66,  66,  66,  66,  66,  66,
1269 			 66,  66,  66,  66,  66,  66,  66,  66,
1270 			 66,  66,  66,  66,  66,  66,  66,  66,
1271 			 66,  66,  66,  66,  66,  66,  66,  66,
1272 			 66,  66,  66,  66,  66,  66,  66,  66,
1273 			 66,  66,  66,  66,  66,  66,  66,  66,
1274 			 66,  66,  66,  66,  66,  66,  66,  66,
1275 		};
1276 		YYDEBUG(84, *YYCURSOR);
1277 		YYFILL(2);
1278 		yych = *YYCURSOR;
1279 		if (yych <= '-') {
1280 			if (yych <= ' ') {
1281 				if (yych <= '\n') {
1282 					if (yych <= 0x08) goto yy86;
1283 					if (yych <= '\t') goto yy88;
1284 					goto yy89;
1285 				} else {
1286 					if (yych == '\r') goto yy89;
1287 					if (yych >= ' ') goto yy88;
1288 				}
1289 			} else {
1290 				if (yych <= '$') {
1291 					if (yych == '"') goto yy91;
1292 					if (yych >= '$') goto yy93;
1293 				} else {
1294 					if (yych == '\'') goto yy94;
1295 					if (yych >= '-') goto yy95;
1296 				}
1297 			}
1298 		} else {
1299 			if (yych <= 'Z') {
1300 				if (yych <= '9') {
1301 					if (yych <= '.') goto yy96;
1302 					if (yych >= '0') goto yy97;
1303 				} else {
1304 					if (yych == ';') goto yy89;
1305 					if (yych >= 'A') goto yy99;
1306 				}
1307 			} else {
1308 				if (yych <= '^') {
1309 					if (yych <= '[') goto yy86;
1310 					if (yych <= '\\') goto yy101;
1311 					if (yych <= ']') goto yy102;
1312 				} else {
1313 					if (yych == '`') goto yy86;
1314 					if (yych <= 'z') goto yy99;
1315 				}
1316 			}
1317 		}
1318 yy86:
1319 		YYDEBUG(86, *YYCURSOR);
1320 		yyaccept = 0;
1321 		yych = *(YYMARKER = ++YYCURSOR);
1322 		goto yy105;
1323 yy87:
1324 		YYDEBUG(87, *YYCURSOR);
1325 		yyleng = YYCURSOR - SCNG(yy_text);
1326 #line 521 "Zend/zend_ini_scanner.l"
1327 		{ /* Get rest as section/offset value */
1328 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
1329 }
1330 #line 1331 "Zend/zend_ini_scanner.c"
1331 yy88:
1332 		YYDEBUG(88, *YYCURSOR);
1333 		yyaccept = 0;
1334 		yych = *(YYMARKER = ++YYCURSOR);
1335 		if (yybm[0+yych] & 128) {
1336 			goto yy131;
1337 		}
1338 		if (yych == '"') goto yy133;
1339 		if (yych == ']') goto yy134;
1340 		goto yy105;
1341 yy89:
1342 		YYDEBUG(89, *YYCURSOR);
1343 		++YYCURSOR;
1344 yy90:
1345 		YYDEBUG(90, *YYCURSOR);
1346 		yyleng = YYCURSOR - SCNG(yy_text);
1347 #line 603 "Zend/zend_ini_scanner.l"
1348 		{
1349 	return 0;
1350 }
1351 #line 1352 "Zend/zend_ini_scanner.c"
1352 yy91:
1353 		YYDEBUG(91, *YYCURSOR);
1354 		++YYCURSOR;
1355 yy92:
1356 		YYDEBUG(92, *YYCURSOR);
1357 		yyleng = YYCURSOR - SCNG(yy_text);
1358 #line 525 "Zend/zend_ini_scanner.l"
1359 		{ /* Double quoted '"' string start */
1360 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
1361 	return '"';
1362 }
1363 #line 1364 "Zend/zend_ini_scanner.c"
1364 yy93:
1365 		YYDEBUG(93, *YYCURSOR);
1366 		yych = *++YYCURSOR;
1367 		if (yych <= '\\') {
1368 			if (yych <= 0x00) goto yy90;
1369 			if (yych <= '[') goto yy104;
1370 			goto yy109;
1371 		} else {
1372 			if (yych == '{') goto yy129;
1373 			goto yy104;
1374 		}
1375 yy94:
1376 		YYDEBUG(94, *YYCURSOR);
1377 		yyaccept = 1;
1378 		yych = *(YYMARKER = ++YYCURSOR);
1379 		if (yybm[0+yych] & 64) {
1380 			goto yy125;
1381 		}
1382 		goto yy90;
1383 yy95:
1384 		YYDEBUG(95, *YYCURSOR);
1385 		yyaccept = 0;
1386 		yych = *(YYMARKER = ++YYCURSOR);
1387 		if (yych <= '/') goto yy105;
1388 		if (yych <= '9') goto yy123;
1389 		goto yy105;
1390 yy96:
1391 		YYDEBUG(96, *YYCURSOR);
1392 		yyaccept = 0;
1393 		yych = *(YYMARKER = ++YYCURSOR);
1394 		if (yych <= '/') goto yy105;
1395 		if (yych <= '9') goto yy121;
1396 		goto yy105;
1397 yy97:
1398 		YYDEBUG(97, *YYCURSOR);
1399 		yyaccept = 2;
1400 		yych = *(YYMARKER = ++YYCURSOR);
1401 		if (yych <= '\'') {
1402 			if (yych <= '\r') {
1403 				if (yych == '\n') goto yy98;
1404 				if (yych <= '\f') goto yy105;
1405 			} else {
1406 				if (yych == '"') goto yy98;
1407 				if (yych <= '&') goto yy105;
1408 			}
1409 		} else {
1410 			if (yych <= '9') {
1411 				if (yych == '.') goto yy117;
1412 				if (yych <= '/') goto yy105;
1413 				goto yy119;
1414 			} else {
1415 				if (yych <= ';') {
1416 					if (yych <= ':') goto yy105;
1417 				} else {
1418 					if (yych != ']') goto yy105;
1419 				}
1420 			}
1421 		}
1422 yy98:
1423 		YYDEBUG(98, *YYCURSOR);
1424 		yyleng = YYCURSOR - SCNG(yy_text);
1425 #line 499 "Zend/zend_ini_scanner.l"
1426 		{ /* Get number option value as string */
1427 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1428 }
1429 #line 1430 "Zend/zend_ini_scanner.c"
1430 yy99:
1431 		YYDEBUG(99, *YYCURSOR);
1432 		yyaccept = 3;
1433 		yych = *(YYMARKER = ++YYCURSOR);
1434 		if (yybm[0+yych] & 16) {
1435 			goto yy115;
1436 		}
1437 		if (yych <= '"') {
1438 			if (yych <= '\f') {
1439 				if (yych != '\n') goto yy105;
1440 			} else {
1441 				if (yych <= '\r') goto yy100;
1442 				if (yych <= '!') goto yy105;
1443 			}
1444 		} else {
1445 			if (yych <= ':') {
1446 				if (yych != '\'') goto yy105;
1447 			} else {
1448 				if (yych <= ';') goto yy100;
1449 				if (yych != ']') goto yy105;
1450 			}
1451 		}
1452 yy100:
1453 		YYDEBUG(100, *YYCURSOR);
1454 		yyleng = YYCURSOR - SCNG(yy_text);
1455 #line 495 "Zend/zend_ini_scanner.l"
1456 		{ /* Get constant option value */
1457 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1458 }
1459 #line 1460 "Zend/zend_ini_scanner.c"
1460 yy101:
1461 		YYDEBUG(101, *YYCURSOR);
1462 		yych = *++YYCURSOR;
1463 		goto yy104;
1464 yy102:
1465 		YYDEBUG(102, *YYCURSOR);
1466 		++YYCURSOR;
1467 yy103:
1468 		YYDEBUG(103, *YYCURSOR);
1469 		yyleng = YYCURSOR - SCNG(yy_text);
1470 #line 396 "Zend/zend_ini_scanner.l"
1471 		{ /* End of section or an option offset */
1472 	BEGIN(INITIAL);
1473 	return ']';
1474 }
1475 #line 1476 "Zend/zend_ini_scanner.c"
1476 yy104:
1477 		YYDEBUG(104, *YYCURSOR);
1478 		yyaccept = 0;
1479 		YYMARKER = ++YYCURSOR;
1480 		YYFILL(1);
1481 		yych = *YYCURSOR;
1482 yy105:
1483 		YYDEBUG(105, *YYCURSOR);
1484 		if (yybm[0+yych] & 2) {
1485 			goto yy104;
1486 		}
1487 		if (yych == '$') goto yy107;
1488 		if (yych != '\\') goto yy87;
1489 yy106:
1490 		YYDEBUG(106, *YYCURSOR);
1491 		++YYCURSOR;
1492 		YYFILL(1);
1493 		yych = *YYCURSOR;
1494 		goto yy104;
1495 yy107:
1496 		YYDEBUG(107, *YYCURSOR);
1497 		++YYCURSOR;
1498 		YYFILL(1);
1499 		yych = *YYCURSOR;
1500 		if (yych <= '\\') {
1501 			if (yych <= 0x00) goto yy108;
1502 			if (yych <= '[') goto yy104;
1503 			goto yy109;
1504 		} else {
1505 			if (yych != '{') goto yy104;
1506 		}
1507 yy108:
1508 		YYDEBUG(108, *YYCURSOR);
1509 		YYCURSOR = YYMARKER;
1510 		if (yyaccept <= 1) {
1511 			if (yyaccept <= 0) {
1512 				goto yy87;
1513 			} else {
1514 				goto yy90;
1515 			}
1516 		} else {
1517 			if (yyaccept <= 2) {
1518 				goto yy98;
1519 			} else {
1520 				goto yy100;
1521 			}
1522 		}
1523 yy109:
1524 		YYDEBUG(109, *YYCURSOR);
1525 		++YYCURSOR;
1526 		YYFILL(1);
1527 		yych = *YYCURSOR;
1528 		if (yybm[0+yych] & 4) {
1529 			goto yy110;
1530 		}
1531 		if (yych == '\\') goto yy112;
1532 		goto yy104;
1533 yy110:
1534 		YYDEBUG(110, *YYCURSOR);
1535 		++YYCURSOR;
1536 		YYFILL(1);
1537 		yych = *YYCURSOR;
1538 		YYDEBUG(111, *YYCURSOR);
1539 		if (yybm[0+yych] & 4) {
1540 			goto yy110;
1541 		}
1542 		if (yych == '\\') goto yy114;
1543 		goto yy104;
1544 yy112:
1545 		YYDEBUG(112, *YYCURSOR);
1546 		++YYCURSOR;
1547 		YYFILL(1);
1548 		yych = *YYCURSOR;
1549 		YYDEBUG(113, *YYCURSOR);
1550 		if (yybm[0+yych] & 4) {
1551 			goto yy110;
1552 		}
1553 		if (yych == '\\') goto yy112;
1554 		goto yy104;
1555 yy114:
1556 		YYDEBUG(114, *YYCURSOR);
1557 		++YYCURSOR;
1558 		YYFILL(1);
1559 		yych = *YYCURSOR;
1560 		if (yybm[0+yych] & 4) {
1561 			goto yy110;
1562 		}
1563 		if (yych == '\\') goto yy112;
1564 		goto yy104;
1565 yy115:
1566 		YYDEBUG(115, *YYCURSOR);
1567 		yyaccept = 3;
1568 		YYMARKER = ++YYCURSOR;
1569 		YYFILL(1);
1570 		yych = *YYCURSOR;
1571 		YYDEBUG(116, *YYCURSOR);
1572 		if (yybm[0+yych] & 16) {
1573 			goto yy115;
1574 		}
1575 		if (yych <= '$') {
1576 			if (yych <= '\r') {
1577 				if (yych == '\n') goto yy100;
1578 				if (yych <= '\f') goto yy104;
1579 				goto yy100;
1580 			} else {
1581 				if (yych == '"') goto yy100;
1582 				if (yych <= '#') goto yy104;
1583 				goto yy107;
1584 			}
1585 		} else {
1586 			if (yych <= ';') {
1587 				if (yych == '\'') goto yy100;
1588 				if (yych <= ':') goto yy104;
1589 				goto yy100;
1590 			} else {
1591 				if (yych <= '[') goto yy104;
1592 				if (yych <= '\\') goto yy106;
1593 				if (yych <= ']') goto yy100;
1594 				goto yy104;
1595 			}
1596 		}
1597 yy117:
1598 		YYDEBUG(117, *YYCURSOR);
1599 		yyaccept = 2;
1600 		YYMARKER = ++YYCURSOR;
1601 		YYFILL(1);
1602 		yych = *YYCURSOR;
1603 		YYDEBUG(118, *YYCURSOR);
1604 		if (yybm[0+yych] & 32) {
1605 			goto yy117;
1606 		}
1607 		if (yych <= '$') {
1608 			if (yych <= '\r') {
1609 				if (yych == '\n') goto yy98;
1610 				if (yych <= '\f') goto yy104;
1611 				goto yy98;
1612 			} else {
1613 				if (yych == '"') goto yy98;
1614 				if (yych <= '#') goto yy104;
1615 				goto yy107;
1616 			}
1617 		} else {
1618 			if (yych <= ';') {
1619 				if (yych == '\'') goto yy98;
1620 				if (yych <= ':') goto yy104;
1621 				goto yy98;
1622 			} else {
1623 				if (yych <= '[') goto yy104;
1624 				if (yych <= '\\') goto yy106;
1625 				if (yych <= ']') goto yy98;
1626 				goto yy104;
1627 			}
1628 		}
1629 yy119:
1630 		YYDEBUG(119, *YYCURSOR);
1631 		yyaccept = 2;
1632 		YYMARKER = ++YYCURSOR;
1633 		YYFILL(1);
1634 		yych = *YYCURSOR;
1635 		YYDEBUG(120, *YYCURSOR);
1636 		if (yych <= '\'') {
1637 			if (yych <= '!') {
1638 				if (yych <= '\n') {
1639 					if (yych <= '\t') goto yy104;
1640 					goto yy98;
1641 				} else {
1642 					if (yych == '\r') goto yy98;
1643 					goto yy104;
1644 				}
1645 			} else {
1646 				if (yych <= '#') {
1647 					if (yych <= '"') goto yy98;
1648 					goto yy104;
1649 				} else {
1650 					if (yych <= '$') goto yy107;
1651 					if (yych <= '&') goto yy104;
1652 					goto yy98;
1653 				}
1654 			}
1655 		} else {
1656 			if (yych <= ':') {
1657 				if (yych <= '.') {
1658 					if (yych <= '-') goto yy104;
1659 					goto yy117;
1660 				} else {
1661 					if (yych <= '/') goto yy104;
1662 					if (yych <= '9') goto yy119;
1663 					goto yy104;
1664 				}
1665 			} else {
1666 				if (yych <= '[') {
1667 					if (yych <= ';') goto yy98;
1668 					goto yy104;
1669 				} else {
1670 					if (yych <= '\\') goto yy106;
1671 					if (yych <= ']') goto yy98;
1672 					goto yy104;
1673 				}
1674 			}
1675 		}
1676 yy121:
1677 		YYDEBUG(121, *YYCURSOR);
1678 		yyaccept = 2;
1679 		YYMARKER = ++YYCURSOR;
1680 		YYFILL(1);
1681 		yych = *YYCURSOR;
1682 		YYDEBUG(122, *YYCURSOR);
1683 		if (yych <= '&') {
1684 			if (yych <= '\r') {
1685 				if (yych == '\n') goto yy98;
1686 				if (yych <= '\f') goto yy104;
1687 				goto yy98;
1688 			} else {
1689 				if (yych <= '"') {
1690 					if (yych <= '!') goto yy104;
1691 					goto yy98;
1692 				} else {
1693 					if (yych == '$') goto yy107;
1694 					goto yy104;
1695 				}
1696 			}
1697 		} else {
1698 			if (yych <= ':') {
1699 				if (yych <= '\'') goto yy98;
1700 				if (yych <= '/') goto yy104;
1701 				if (yych <= '9') goto yy121;
1702 				goto yy104;
1703 			} else {
1704 				if (yych <= '[') {
1705 					if (yych <= ';') goto yy98;
1706 					goto yy104;
1707 				} else {
1708 					if (yych <= '\\') goto yy106;
1709 					if (yych <= ']') goto yy98;
1710 					goto yy104;
1711 				}
1712 			}
1713 		}
1714 yy123:
1715 		YYDEBUG(123, *YYCURSOR);
1716 		yyaccept = 2;
1717 		YYMARKER = ++YYCURSOR;
1718 		YYFILL(1);
1719 		yych = *YYCURSOR;
1720 		YYDEBUG(124, *YYCURSOR);
1721 		if (yych <= '&') {
1722 			if (yych <= '\r') {
1723 				if (yych == '\n') goto yy98;
1724 				if (yych <= '\f') goto yy104;
1725 				goto yy98;
1726 			} else {
1727 				if (yych <= '"') {
1728 					if (yych <= '!') goto yy104;
1729 					goto yy98;
1730 				} else {
1731 					if (yych == '$') goto yy107;
1732 					goto yy104;
1733 				}
1734 			}
1735 		} else {
1736 			if (yych <= ':') {
1737 				if (yych <= '\'') goto yy98;
1738 				if (yych <= '/') goto yy104;
1739 				if (yych <= '9') goto yy123;
1740 				goto yy104;
1741 			} else {
1742 				if (yych <= '[') {
1743 					if (yych <= ';') goto yy98;
1744 					goto yy104;
1745 				} else {
1746 					if (yych <= '\\') goto yy106;
1747 					if (yych <= ']') goto yy98;
1748 					goto yy104;
1749 				}
1750 			}
1751 		}
1752 yy125:
1753 		YYDEBUG(125, *YYCURSOR);
1754 		++YYCURSOR;
1755 		YYFILL(1);
1756 		yych = *YYCURSOR;
1757 		YYDEBUG(126, *YYCURSOR);
1758 		if (yybm[0+yych] & 64) {
1759 			goto yy125;
1760 		}
1761 		YYDEBUG(127, *YYCURSOR);
1762 		++YYCURSOR;
1763 		YYDEBUG(128, *YYCURSOR);
1764 		yyleng = YYCURSOR - SCNG(yy_text);
1765 #line 368 "Zend/zend_ini_scanner.l"
1766 		{ /* Raw string */
1767 	/* Eat leading and trailing single quotes */
1768 	if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1769 		SCNG(yy_text)++;
1770 		yyleng = yyleng - 2;
1771 	}
1772 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
1773 }
1774 #line 1775 "Zend/zend_ini_scanner.c"
1775 yy129:
1776 		YYDEBUG(129, *YYCURSOR);
1777 		++YYCURSOR;
1778 		YYDEBUG(130, *YYCURSOR);
1779 		yyleng = YYCURSOR - SCNG(yy_text);
1780 #line 401 "Zend/zend_ini_scanner.l"
1781 		{ /* Variable start */
1782 	yy_push_state(ST_VARNAME TSRMLS_CC);
1783 	return TC_DOLLAR_CURLY;
1784 }
1785 #line 1786 "Zend/zend_ini_scanner.c"
1786 yy131:
1787 		YYDEBUG(131, *YYCURSOR);
1788 		yyaccept = 0;
1789 		YYMARKER = ++YYCURSOR;
1790 		YYFILL(1);
1791 		yych = *YYCURSOR;
1792 		YYDEBUG(132, *YYCURSOR);
1793 		if (yybm[0+yych] & 128) {
1794 			goto yy131;
1795 		}
1796 		if (yych <= '$') {
1797 			if (yych <= '\r') {
1798 				if (yych == '\n') goto yy87;
1799 				if (yych <= '\f') goto yy104;
1800 				goto yy87;
1801 			} else {
1802 				if (yych == '"') goto yy133;
1803 				if (yych <= '#') goto yy104;
1804 				goto yy107;
1805 			}
1806 		} else {
1807 			if (yych <= ';') {
1808 				if (yych == '\'') goto yy87;
1809 				if (yych <= ':') goto yy104;
1810 				goto yy87;
1811 			} else {
1812 				if (yych <= '[') goto yy104;
1813 				if (yych <= '\\') goto yy106;
1814 				if (yych <= ']') goto yy134;
1815 				goto yy104;
1816 			}
1817 		}
1818 yy133:
1819 		YYDEBUG(133, *YYCURSOR);
1820 		yych = *++YYCURSOR;
1821 		goto yy92;
1822 yy134:
1823 		YYDEBUG(134, *YYCURSOR);
1824 		++YYCURSOR;
1825 		yych = *YYCURSOR;
1826 		goto yy103;
1827 	}
1828 /* *********************************** */
1829 yyc_ST_RAW:
1830 	{
1831 		static const unsigned char yybm[] = {
1832 			 64,  64,  64,  64,  64,  64,  64,  64,
1833 			 64, 192,   0,  64,  64,   0,  64,  64,
1834 			 64,  64,  64,  64,  64,  64,  64,  64,
1835 			 64,  64,  64,  64,  64,  64,  64,  64,
1836 			192,  64,  64,  64,  64,  64,  64,  64,
1837 			 64,  64,  64,  64,  64,  64,  64,  64,
1838 			 64,  64,  64,  64,  64,  64,  64,  64,
1839 			 64,  64,  64,  64,  64,  64,  64,  64,
1840 			 64,  64,  64,  64,  64,  64,  64,  64,
1841 			 64,  64,  64,  64,  64,  64,  64,  64,
1842 			 64,  64,  64,  64,  64,  64,  64,  64,
1843 			 64,  64,  64,  64,  64,  64,  64,  64,
1844 			 64,  64,  64,  64,  64,  64,  64,  64,
1845 			 64,  64,  64,  64,  64,  64,  64,  64,
1846 			 64,  64,  64,  64,  64,  64,  64,  64,
1847 			 64,  64,  64,  64,  64,  64,  64,  64,
1848 			 64,  64,  64,  64,  64,  64,  64,  64,
1849 			 64,  64,  64,  64,  64,  64,  64,  64,
1850 			 64,  64,  64,  64,  64,  64,  64,  64,
1851 			 64,  64,  64,  64,  64,  64,  64,  64,
1852 			 64,  64,  64,  64,  64,  64,  64,  64,
1853 			 64,  64,  64,  64,  64,  64,  64,  64,
1854 			 64,  64,  64,  64,  64,  64,  64,  64,
1855 			 64,  64,  64,  64,  64,  64,  64,  64,
1856 			 64,  64,  64,  64,  64,  64,  64,  64,
1857 			 64,  64,  64,  64,  64,  64,  64,  64,
1858 			 64,  64,  64,  64,  64,  64,  64,  64,
1859 			 64,  64,  64,  64,  64,  64,  64,  64,
1860 			 64,  64,  64,  64,  64,  64,  64,  64,
1861 			 64,  64,  64,  64,  64,  64,  64,  64,
1862 			 64,  64,  64,  64,  64,  64,  64,  64,
1863 			 64,  64,  64,  64,  64,  64,  64,  64,
1864 		};
1865 		YYDEBUG(135, *YYCURSOR);
1866 		YYFILL(3);
1867 		yych = *YYCURSOR;
1868 		if (yych <= '\f') {
1869 			if (yych <= 0x08) {
1870 				if (yych >= 0x01) goto yy139;
1871 			} else {
1872 				if (yych <= '\t') goto yy141;
1873 				if (yych <= '\n') goto yy142;
1874 				goto yy139;
1875 			}
1876 		} else {
1877 			if (yych <= ' ') {
1878 				if (yych <= '\r') goto yy144;
1879 				if (yych <= 0x1F) goto yy139;
1880 				goto yy141;
1881 			} else {
1882 				if (yych == ';') goto yy145;
1883 				goto yy139;
1884 			}
1885 		}
1886 		YYDEBUG(137, *YYCURSOR);
1887 		++YYCURSOR;
1888 		YYDEBUG(138, *YYCURSOR);
1889 		yyleng = YYCURSOR - SCNG(yy_text);
1890 #line 598 "Zend/zend_ini_scanner.l"
1891 		{ /* End of option value (if EOF is reached before EOL */
1892 	BEGIN(INITIAL);
1893 	return END_OF_LINE;
1894 }
1895 #line 1896 "Zend/zend_ini_scanner.c"
1896 yy139:
1897 		YYDEBUG(139, *YYCURSOR);
1898 		++YYCURSOR;
1899 yy140:
1900 		YYDEBUG(140, *YYCURSOR);
1901 		yyleng = YYCURSOR - SCNG(yy_text);
1902 #line 448 "Zend/zend_ini_scanner.l"
1903 		{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
1904 	char *sc = NULL;
1905 	while (YYCURSOR < YYLIMIT) {
1906 		switch (*YYCURSOR) {
1907 			case '\n':
1908 			case '\r':
1909 				goto end_raw_value_chars;
1910 				break;
1911 			case ';':
1912 				if (sc == NULL) {
1913 					sc = YYCURSOR;
1914 				}
1915 				/* no break */
1916 			default:
1917 				YYCURSOR++;
1918 				break;
1919 		}
1920 	}
1921 end_raw_value_chars:
1922 	yyleng = YYCURSOR - SCNG(yy_text);
1923 
1924 	/* Eat trailing semicolons */
1925 	while (yytext[yyleng - 1] == ';') {
1926 		yyleng--;
1927 	}
1928 
1929 	/* Eat leading and trailing double quotes */
1930 	if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
1931 		SCNG(yy_text)++;
1932 		yyleng = yyleng - 2;
1933 	} else if (sc) {
1934 		YYCURSOR = sc;
1935 		yyleng = YYCURSOR - SCNG(yy_text);
1936 	}
1937 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
1938 }
1939 #line 1940 "Zend/zend_ini_scanner.c"
1940 yy141:
1941 		YYDEBUG(141, *YYCURSOR);
1942 		yyaccept = 0;
1943 		yych = *(YYMARKER = ++YYCURSOR);
1944 		if (yych <= '\r') {
1945 			if (yych <= 0x08) goto yy140;
1946 			if (yych <= '\n') goto yy153;
1947 			if (yych <= '\f') goto yy140;
1948 			goto yy153;
1949 		} else {
1950 			if (yych <= ' ') {
1951 				if (yych <= 0x1F) goto yy140;
1952 				goto yy153;
1953 			} else {
1954 				if (yych == ';') goto yy153;
1955 				goto yy140;
1956 			}
1957 		}
1958 yy142:
1959 		YYDEBUG(142, *YYCURSOR);
1960 		++YYCURSOR;
1961 yy143:
1962 		YYDEBUG(143, *YYCURSOR);
1963 		yyleng = YYCURSOR - SCNG(yy_text);
1964 #line 489 "Zend/zend_ini_scanner.l"
1965 		{ /* End of option value */
1966 	BEGIN(INITIAL);
1967 	SCNG(lineno)++;
1968 	return END_OF_LINE;
1969 }
1970 #line 1971 "Zend/zend_ini_scanner.c"
1971 yy144:
1972 		YYDEBUG(144, *YYCURSOR);
1973 		yych = *++YYCURSOR;
1974 		if (yych == '\n') goto yy151;
1975 		goto yy143;
1976 yy145:
1977 		YYDEBUG(145, *YYCURSOR);
1978 		yyaccept = 1;
1979 		yych = *(YYMARKER = ++YYCURSOR);
1980 		goto yy147;
1981 yy146:
1982 		YYDEBUG(146, *YYCURSOR);
1983 		++YYCURSOR;
1984 		YYFILL(2);
1985 		yych = *YYCURSOR;
1986 yy147:
1987 		YYDEBUG(147, *YYCURSOR);
1988 		if (yybm[0+yych] & 64) {
1989 			goto yy146;
1990 		}
1991 		if (yych >= '\r') goto yy150;
1992 yy148:
1993 		YYDEBUG(148, *YYCURSOR);
1994 		++YYCURSOR;
1995 yy149:
1996 		YYDEBUG(149, *YYCURSOR);
1997 		yyleng = YYCURSOR - SCNG(yy_text);
1998 #line 585 "Zend/zend_ini_scanner.l"
1999 		{ /* Comment */
2000 	BEGIN(INITIAL);
2001 	SCNG(lineno)++;
2002 	return END_OF_LINE;
2003 }
2004 #line 2005 "Zend/zend_ini_scanner.c"
2005 yy150:
2006 		YYDEBUG(150, *YYCURSOR);
2007 		yych = *++YYCURSOR;
2008 		if (yych == '\n') goto yy148;
2009 		goto yy149;
2010 yy151:
2011 		YYDEBUG(151, *YYCURSOR);
2012 		yych = *++YYCURSOR;
2013 		goto yy143;
2014 yy152:
2015 		YYDEBUG(152, *YYCURSOR);
2016 		yyaccept = 2;
2017 		YYMARKER = ++YYCURSOR;
2018 		YYFILL(2);
2019 		yych = *YYCURSOR;
2020 yy153:
2021 		YYDEBUG(153, *YYCURSOR);
2022 		if (yybm[0+yych] & 128) {
2023 			goto yy152;
2024 		}
2025 		if (yych <= '\f') {
2026 			if (yych == '\n') goto yy151;
2027 		} else {
2028 			if (yych <= '\r') goto yy155;
2029 			if (yych == ';') goto yy146;
2030 		}
2031 		YYDEBUG(154, *YYCURSOR);
2032 		yyleng = YYCURSOR - SCNG(yy_text);
2033 #line 575 "Zend/zend_ini_scanner.l"
2034 		{
2035 	/* eat whitespace */
2036 	goto restart;
2037 }
2038 #line 2039 "Zend/zend_ini_scanner.c"
2039 yy155:
2040 		YYDEBUG(155, *YYCURSOR);
2041 		++YYCURSOR;
2042 		if ((yych = *YYCURSOR) == '\n') goto yy151;
2043 		goto yy143;
2044 	}
2045 /* *********************************** */
2046 yyc_ST_SECTION_RAW:
2047 	{
2048 		static const unsigned char yybm[] = {
2049 			128, 128, 128, 128, 128, 128, 128, 128,
2050 			128, 192,   0, 128, 128,   0, 128, 128,
2051 			128, 128, 128, 128, 128, 128, 128, 128,
2052 			128, 128, 128, 128, 128, 128, 128, 128,
2053 			192, 128, 128, 128, 128, 128, 128, 128,
2054 			128, 128, 128, 128, 128, 128, 128, 128,
2055 			128, 128, 128, 128, 128, 128, 128, 128,
2056 			128, 128, 128, 128, 128, 128, 128, 128,
2057 			128, 128, 128, 128, 128, 128, 128, 128,
2058 			128, 128, 128, 128, 128, 128, 128, 128,
2059 			128, 128, 128, 128, 128, 128, 128, 128,
2060 			128, 128, 128, 128, 128,   0, 128, 128,
2061 			128, 128, 128, 128, 128, 128, 128, 128,
2062 			128, 128, 128, 128, 128, 128, 128, 128,
2063 			128, 128, 128, 128, 128, 128, 128, 128,
2064 			128, 128, 128, 128, 128, 128, 128, 128,
2065 			128, 128, 128, 128, 128, 128, 128, 128,
2066 			128, 128, 128, 128, 128, 128, 128, 128,
2067 			128, 128, 128, 128, 128, 128, 128, 128,
2068 			128, 128, 128, 128, 128, 128, 128, 128,
2069 			128, 128, 128, 128, 128, 128, 128, 128,
2070 			128, 128, 128, 128, 128, 128, 128, 128,
2071 			128, 128, 128, 128, 128, 128, 128, 128,
2072 			128, 128, 128, 128, 128, 128, 128, 128,
2073 			128, 128, 128, 128, 128, 128, 128, 128,
2074 			128, 128, 128, 128, 128, 128, 128, 128,
2075 			128, 128, 128, 128, 128, 128, 128, 128,
2076 			128, 128, 128, 128, 128, 128, 128, 128,
2077 			128, 128, 128, 128, 128, 128, 128, 128,
2078 			128, 128, 128, 128, 128, 128, 128, 128,
2079 			128, 128, 128, 128, 128, 128, 128, 128,
2080 			128, 128, 128, 128, 128, 128, 128, 128,
2081 		};
2082 		YYDEBUG(156, *YYCURSOR);
2083 		YYFILL(3);
2084 		yych = *YYCURSOR;
2085 		if (yych <= '\f') {
2086 			if (yych == '\n') goto yy160;
2087 		} else {
2088 			if (yych <= '\r') goto yy160;
2089 			if (yych == ']') goto yy162;
2090 		}
2091 		YYDEBUG(158, *YYCURSOR);
2092 		++YYCURSOR;
2093 		yych = *YYCURSOR;
2094 		goto yy169;
2095 yy159:
2096 		YYDEBUG(159, *YYCURSOR);
2097 		yyleng = YYCURSOR - SCNG(yy_text);
2098 #line 485 "Zend/zend_ini_scanner.l"
2099 		{ /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
2100 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
2101 }
2102 #line 2103 "Zend/zend_ini_scanner.c"
2103 yy160:
2104 		YYDEBUG(160, *YYCURSOR);
2105 		++YYCURSOR;
2106 		YYDEBUG(161, *YYCURSOR);
2107 		yyleng = YYCURSOR - SCNG(yy_text);
2108 #line 603 "Zend/zend_ini_scanner.l"
2109 		{
2110 	return 0;
2111 }
2112 #line 2113 "Zend/zend_ini_scanner.c"
2113 yy162:
2114 		YYDEBUG(162, *YYCURSOR);
2115 		++YYCURSOR;
2116 		yych = *YYCURSOR;
2117 		goto yy165;
2118 yy163:
2119 		YYDEBUG(163, *YYCURSOR);
2120 		yyleng = YYCURSOR - SCNG(yy_text);
2121 #line 377 "Zend/zend_ini_scanner.l"
2122 		{ /* End of section */
2123 	BEGIN(INITIAL);
2124 	SCNG(lineno)++;
2125 	return ']';
2126 }
2127 #line 2128 "Zend/zend_ini_scanner.c"
2128 yy164:
2129 		YYDEBUG(164, *YYCURSOR);
2130 		++YYCURSOR;
2131 		YYFILL(2);
2132 		yych = *YYCURSOR;
2133 yy165:
2134 		YYDEBUG(165, *YYCURSOR);
2135 		if (yybm[0+yych] & 64) {
2136 			goto yy164;
2137 		}
2138 		if (yych == '\n') goto yy166;
2139 		if (yych == '\r') goto yy167;
2140 		goto yy163;
2141 yy166:
2142 		YYDEBUG(166, *YYCURSOR);
2143 		yych = *++YYCURSOR;
2144 		goto yy163;
2145 yy167:
2146 		YYDEBUG(167, *YYCURSOR);
2147 		yych = *++YYCURSOR;
2148 		if (yych == '\n') goto yy166;
2149 		goto yy163;
2150 yy168:
2151 		YYDEBUG(168, *YYCURSOR);
2152 		++YYCURSOR;
2153 		YYFILL(1);
2154 		yych = *YYCURSOR;
2155 yy169:
2156 		YYDEBUG(169, *YYCURSOR);
2157 		if (yybm[0+yych] & 128) {
2158 			goto yy168;
2159 		}
2160 		goto yy159;
2161 	}
2162 /* *********************************** */
2163 yyc_ST_SECTION_VALUE:
2164 	{
2165 		static const unsigned char yybm[] = {
2166 			132, 132, 132, 132, 132, 132, 132, 132,
2167 			132, 134, 128, 132, 132, 128, 132, 132,
2168 			132, 132, 132, 132, 132, 132, 132, 132,
2169 			132, 132, 132, 132, 132, 132, 132, 132,
2170 			134, 132, 128, 132, 136, 132, 132,   0,
2171 			132, 132, 132, 132, 132, 132, 132, 132,
2172 			228, 228, 228, 228, 228, 228, 228, 228,
2173 			228, 228, 132, 128, 132, 132, 132, 132,
2174 			132, 164, 164, 164, 164, 164, 164, 164,
2175 			164, 164, 164, 164, 164, 164, 164, 164,
2176 			164, 164, 164, 164, 164, 164, 164, 164,
2177 			164, 164, 164, 132, 144, 128, 132, 164,
2178 			132, 164, 164, 164, 164, 164, 164, 164,
2179 			164, 164, 164, 164, 164, 164, 164, 164,
2180 			164, 164, 164, 164, 164, 164, 164, 164,
2181 			164, 164, 164, 132, 132, 132, 132, 132,
2182 			132, 132, 132, 132, 132, 132, 132, 132,
2183 			132, 132, 132, 132, 132, 132, 132, 132,
2184 			132, 132, 132, 132, 132, 132, 132, 132,
2185 			132, 132, 132, 132, 132, 132, 132, 132,
2186 			132, 132, 132, 132, 132, 132, 132, 132,
2187 			132, 132, 132, 132, 132, 132, 132, 132,
2188 			132, 132, 132, 132, 132, 132, 132, 132,
2189 			132, 132, 132, 132, 132, 132, 132, 132,
2190 			132, 132, 132, 132, 132, 132, 132, 132,
2191 			132, 132, 132, 132, 132, 132, 132, 132,
2192 			132, 132, 132, 132, 132, 132, 132, 132,
2193 			132, 132, 132, 132, 132, 132, 132, 132,
2194 			132, 132, 132, 132, 132, 132, 132, 132,
2195 			132, 132, 132, 132, 132, 132, 132, 132,
2196 			132, 132, 132, 132, 132, 132, 132, 132,
2197 			132, 132, 132, 132, 132, 132, 132, 132,
2198 		};
2199 		YYDEBUG(170, *YYCURSOR);
2200 		YYFILL(3);
2201 		yych = *YYCURSOR;
2202 		if (yych <= '-') {
2203 			if (yych <= ' ') {
2204 				if (yych <= '\n') {
2205 					if (yych <= 0x08) goto yy172;
2206 					if (yych <= '\t') goto yy174;
2207 					goto yy175;
2208 				} else {
2209 					if (yych == '\r') goto yy175;
2210 					if (yych >= ' ') goto yy174;
2211 				}
2212 			} else {
2213 				if (yych <= '$') {
2214 					if (yych == '"') goto yy177;
2215 					if (yych >= '$') goto yy179;
2216 				} else {
2217 					if (yych == '\'') goto yy180;
2218 					if (yych >= '-') goto yy181;
2219 				}
2220 			}
2221 		} else {
2222 			if (yych <= 'Z') {
2223 				if (yych <= '9') {
2224 					if (yych <= '.') goto yy182;
2225 					if (yych >= '0') goto yy183;
2226 				} else {
2227 					if (yych == ';') goto yy175;
2228 					if (yych >= 'A') goto yy185;
2229 				}
2230 			} else {
2231 				if (yych <= '^') {
2232 					if (yych <= '[') goto yy172;
2233 					if (yych <= '\\') goto yy187;
2234 					if (yych <= ']') goto yy188;
2235 				} else {
2236 					if (yych == '`') goto yy172;
2237 					if (yych <= 'z') goto yy185;
2238 				}
2239 			}
2240 		}
2241 yy172:
2242 		YYDEBUG(172, *YYCURSOR);
2243 		yyaccept = 0;
2244 		yych = *(YYMARKER = ++YYCURSOR);
2245 		goto yy195;
2246 yy173:
2247 		YYDEBUG(173, *YYCURSOR);
2248 		yyleng = YYCURSOR - SCNG(yy_text);
2249 #line 521 "Zend/zend_ini_scanner.l"
2250 		{ /* Get rest as section/offset value */
2251 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
2252 }
2253 #line 2254 "Zend/zend_ini_scanner.c"
2254 yy174:
2255 		YYDEBUG(174, *YYCURSOR);
2256 		yyaccept = 0;
2257 		yych = *(YYMARKER = ++YYCURSOR);
2258 		if (yych <= 0x1F) {
2259 			if (yych == '\t') goto yy221;
2260 			goto yy195;
2261 		} else {
2262 			if (yych <= ' ') goto yy221;
2263 			if (yych == '"') goto yy223;
2264 			goto yy195;
2265 		}
2266 yy175:
2267 		YYDEBUG(175, *YYCURSOR);
2268 		++YYCURSOR;
2269 yy176:
2270 		YYDEBUG(176, *YYCURSOR);
2271 		yyleng = YYCURSOR - SCNG(yy_text);
2272 #line 603 "Zend/zend_ini_scanner.l"
2273 		{
2274 	return 0;
2275 }
2276 #line 2277 "Zend/zend_ini_scanner.c"
2277 yy177:
2278 		YYDEBUG(177, *YYCURSOR);
2279 		++YYCURSOR;
2280 yy178:
2281 		YYDEBUG(178, *YYCURSOR);
2282 		yyleng = YYCURSOR - SCNG(yy_text);
2283 #line 525 "Zend/zend_ini_scanner.l"
2284 		{ /* Double quoted '"' string start */
2285 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
2286 	return '"';
2287 }
2288 #line 2289 "Zend/zend_ini_scanner.c"
2289 yy179:
2290 		YYDEBUG(179, *YYCURSOR);
2291 		yych = *++YYCURSOR;
2292 		if (yych <= '\\') {
2293 			if (yych <= 0x00) goto yy176;
2294 			if (yych <= '[') goto yy194;
2295 			goto yy199;
2296 		} else {
2297 			if (yych == '{') goto yy219;
2298 			goto yy194;
2299 		}
2300 yy180:
2301 		YYDEBUG(180, *YYCURSOR);
2302 		yyaccept = 1;
2303 		yych = *(YYMARKER = ++YYCURSOR);
2304 		if (yybm[0+yych] & 128) {
2305 			goto yy215;
2306 		}
2307 		goto yy176;
2308 yy181:
2309 		YYDEBUG(181, *YYCURSOR);
2310 		yyaccept = 0;
2311 		yych = *(YYMARKER = ++YYCURSOR);
2312 		if (yych <= '/') goto yy195;
2313 		if (yych <= '9') goto yy213;
2314 		goto yy195;
2315 yy182:
2316 		YYDEBUG(182, *YYCURSOR);
2317 		yyaccept = 0;
2318 		yych = *(YYMARKER = ++YYCURSOR);
2319 		if (yych <= '/') goto yy195;
2320 		if (yych <= '9') goto yy211;
2321 		goto yy195;
2322 yy183:
2323 		YYDEBUG(183, *YYCURSOR);
2324 		yyaccept = 2;
2325 		yych = *(YYMARKER = ++YYCURSOR);
2326 		if (yych <= '\'') {
2327 			if (yych <= '\r') {
2328 				if (yych == '\n') goto yy184;
2329 				if (yych <= '\f') goto yy195;
2330 			} else {
2331 				if (yych == '"') goto yy184;
2332 				if (yych <= '&') goto yy195;
2333 			}
2334 		} else {
2335 			if (yych <= '9') {
2336 				if (yych == '.') goto yy207;
2337 				if (yych <= '/') goto yy195;
2338 				goto yy209;
2339 			} else {
2340 				if (yych <= ';') {
2341 					if (yych <= ':') goto yy195;
2342 				} else {
2343 					if (yych != ']') goto yy195;
2344 				}
2345 			}
2346 		}
2347 yy184:
2348 		YYDEBUG(184, *YYCURSOR);
2349 		yyleng = YYCURSOR - SCNG(yy_text);
2350 #line 499 "Zend/zend_ini_scanner.l"
2351 		{ /* Get number option value as string */
2352 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2353 }
2354 #line 2355 "Zend/zend_ini_scanner.c"
2355 yy185:
2356 		YYDEBUG(185, *YYCURSOR);
2357 		yyaccept = 3;
2358 		yych = *(YYMARKER = ++YYCURSOR);
2359 		if (yybm[0+yych] & 32) {
2360 			goto yy205;
2361 		}
2362 		if (yych <= '"') {
2363 			if (yych <= '\f') {
2364 				if (yych != '\n') goto yy195;
2365 			} else {
2366 				if (yych <= '\r') goto yy186;
2367 				if (yych <= '!') goto yy195;
2368 			}
2369 		} else {
2370 			if (yych <= ':') {
2371 				if (yych != '\'') goto yy195;
2372 			} else {
2373 				if (yych <= ';') goto yy186;
2374 				if (yych != ']') goto yy195;
2375 			}
2376 		}
2377 yy186:
2378 		YYDEBUG(186, *YYCURSOR);
2379 		yyleng = YYCURSOR - SCNG(yy_text);
2380 #line 495 "Zend/zend_ini_scanner.l"
2381 		{ /* Get constant option value */
2382 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2383 }
2384 #line 2385 "Zend/zend_ini_scanner.c"
2385 yy187:
2386 		YYDEBUG(187, *YYCURSOR);
2387 		yych = *++YYCURSOR;
2388 		goto yy194;
2389 yy188:
2390 		YYDEBUG(188, *YYCURSOR);
2391 		++YYCURSOR;
2392 		yych = *YYCURSOR;
2393 		goto yy191;
2394 yy189:
2395 		YYDEBUG(189, *YYCURSOR);
2396 		yyleng = YYCURSOR - SCNG(yy_text);
2397 #line 377 "Zend/zend_ini_scanner.l"
2398 		{ /* End of section */
2399 	BEGIN(INITIAL);
2400 	SCNG(lineno)++;
2401 	return ']';
2402 }
2403 #line 2404 "Zend/zend_ini_scanner.c"
2404 yy190:
2405 		YYDEBUG(190, *YYCURSOR);
2406 		++YYCURSOR;
2407 		YYFILL(2);
2408 		yych = *YYCURSOR;
2409 yy191:
2410 		YYDEBUG(191, *YYCURSOR);
2411 		if (yybm[0+yych] & 2) {
2412 			goto yy190;
2413 		}
2414 		if (yych == '\n') goto yy192;
2415 		if (yych == '\r') goto yy193;
2416 		goto yy189;
2417 yy192:
2418 		YYDEBUG(192, *YYCURSOR);
2419 		yych = *++YYCURSOR;
2420 		goto yy189;
2421 yy193:
2422 		YYDEBUG(193, *YYCURSOR);
2423 		yych = *++YYCURSOR;
2424 		if (yych == '\n') goto yy192;
2425 		goto yy189;
2426 yy194:
2427 		YYDEBUG(194, *YYCURSOR);
2428 		yyaccept = 0;
2429 		YYMARKER = ++YYCURSOR;
2430 		YYFILL(1);
2431 		yych = *YYCURSOR;
2432 yy195:
2433 		YYDEBUG(195, *YYCURSOR);
2434 		if (yybm[0+yych] & 4) {
2435 			goto yy194;
2436 		}
2437 		if (yych == '$') goto yy197;
2438 		if (yych != '\\') goto yy173;
2439 yy196:
2440 		YYDEBUG(196, *YYCURSOR);
2441 		++YYCURSOR;
2442 		YYFILL(1);
2443 		yych = *YYCURSOR;
2444 		goto yy194;
2445 yy197:
2446 		YYDEBUG(197, *YYCURSOR);
2447 		++YYCURSOR;
2448 		YYFILL(1);
2449 		yych = *YYCURSOR;
2450 		if (yych <= '\\') {
2451 			if (yych <= 0x00) goto yy198;
2452 			if (yych <= '[') goto yy194;
2453 			goto yy199;
2454 		} else {
2455 			if (yych != '{') goto yy194;
2456 		}
2457 yy198:
2458 		YYDEBUG(198, *YYCURSOR);
2459 		YYCURSOR = YYMARKER;
2460 		if (yyaccept <= 1) {
2461 			if (yyaccept <= 0) {
2462 				goto yy173;
2463 			} else {
2464 				goto yy176;
2465 			}
2466 		} else {
2467 			if (yyaccept <= 2) {
2468 				goto yy184;
2469 			} else {
2470 				goto yy186;
2471 			}
2472 		}
2473 yy199:
2474 		YYDEBUG(199, *YYCURSOR);
2475 		++YYCURSOR;
2476 		YYFILL(1);
2477 		yych = *YYCURSOR;
2478 		if (yybm[0+yych] & 8) {
2479 			goto yy200;
2480 		}
2481 		if (yych == '\\') goto yy202;
2482 		goto yy194;
2483 yy200:
2484 		YYDEBUG(200, *YYCURSOR);
2485 		++YYCURSOR;
2486 		YYFILL(1);
2487 		yych = *YYCURSOR;
2488 		YYDEBUG(201, *YYCURSOR);
2489 		if (yybm[0+yych] & 8) {
2490 			goto yy200;
2491 		}
2492 		if (yych == '\\') goto yy204;
2493 		goto yy194;
2494 yy202:
2495 		YYDEBUG(202, *YYCURSOR);
2496 		++YYCURSOR;
2497 		YYFILL(1);
2498 		yych = *YYCURSOR;
2499 		YYDEBUG(203, *YYCURSOR);
2500 		if (yybm[0+yych] & 8) {
2501 			goto yy200;
2502 		}
2503 		if (yych == '\\') goto yy202;
2504 		goto yy194;
2505 yy204:
2506 		YYDEBUG(204, *YYCURSOR);
2507 		++YYCURSOR;
2508 		YYFILL(1);
2509 		yych = *YYCURSOR;
2510 		if (yybm[0+yych] & 8) {
2511 			goto yy200;
2512 		}
2513 		if (yych == '\\') goto yy202;
2514 		goto yy194;
2515 yy205:
2516 		YYDEBUG(205, *YYCURSOR);
2517 		yyaccept = 3;
2518 		YYMARKER = ++YYCURSOR;
2519 		YYFILL(1);
2520 		yych = *YYCURSOR;
2521 		YYDEBUG(206, *YYCURSOR);
2522 		if (yybm[0+yych] & 32) {
2523 			goto yy205;
2524 		}
2525 		if (yych <= '$') {
2526 			if (yych <= '\r') {
2527 				if (yych == '\n') goto yy186;
2528 				if (yych <= '\f') goto yy194;
2529 				goto yy186;
2530 			} else {
2531 				if (yych == '"') goto yy186;
2532 				if (yych <= '#') goto yy194;
2533 				goto yy197;
2534 			}
2535 		} else {
2536 			if (yych <= ';') {
2537 				if (yych == '\'') goto yy186;
2538 				if (yych <= ':') goto yy194;
2539 				goto yy186;
2540 			} else {
2541 				if (yych <= '[') goto yy194;
2542 				if (yych <= '\\') goto yy196;
2543 				if (yych <= ']') goto yy186;
2544 				goto yy194;
2545 			}
2546 		}
2547 yy207:
2548 		YYDEBUG(207, *YYCURSOR);
2549 		yyaccept = 2;
2550 		YYMARKER = ++YYCURSOR;
2551 		YYFILL(1);
2552 		yych = *YYCURSOR;
2553 		YYDEBUG(208, *YYCURSOR);
2554 		if (yybm[0+yych] & 64) {
2555 			goto yy207;
2556 		}
2557 		if (yych <= '$') {
2558 			if (yych <= '\r') {
2559 				if (yych == '\n') goto yy184;
2560 				if (yych <= '\f') goto yy194;
2561 				goto yy184;
2562 			} else {
2563 				if (yych == '"') goto yy184;
2564 				if (yych <= '#') goto yy194;
2565 				goto yy197;
2566 			}
2567 		} else {
2568 			if (yych <= ';') {
2569 				if (yych == '\'') goto yy184;
2570 				if (yych <= ':') goto yy194;
2571 				goto yy184;
2572 			} else {
2573 				if (yych <= '[') goto yy194;
2574 				if (yych <= '\\') goto yy196;
2575 				if (yych <= ']') goto yy184;
2576 				goto yy194;
2577 			}
2578 		}
2579 yy209:
2580 		YYDEBUG(209, *YYCURSOR);
2581 		yyaccept = 2;
2582 		YYMARKER = ++YYCURSOR;
2583 		YYFILL(1);
2584 		yych = *YYCURSOR;
2585 		YYDEBUG(210, *YYCURSOR);
2586 		if (yych <= '\'') {
2587 			if (yych <= '!') {
2588 				if (yych <= '\n') {
2589 					if (yych <= '\t') goto yy194;
2590 					goto yy184;
2591 				} else {
2592 					if (yych == '\r') goto yy184;
2593 					goto yy194;
2594 				}
2595 			} else {
2596 				if (yych <= '#') {
2597 					if (yych <= '"') goto yy184;
2598 					goto yy194;
2599 				} else {
2600 					if (yych <= '$') goto yy197;
2601 					if (yych <= '&') goto yy194;
2602 					goto yy184;
2603 				}
2604 			}
2605 		} else {
2606 			if (yych <= ':') {
2607 				if (yych <= '.') {
2608 					if (yych <= '-') goto yy194;
2609 					goto yy207;
2610 				} else {
2611 					if (yych <= '/') goto yy194;
2612 					if (yych <= '9') goto yy209;
2613 					goto yy194;
2614 				}
2615 			} else {
2616 				if (yych <= '[') {
2617 					if (yych <= ';') goto yy184;
2618 					goto yy194;
2619 				} else {
2620 					if (yych <= '\\') goto yy196;
2621 					if (yych <= ']') goto yy184;
2622 					goto yy194;
2623 				}
2624 			}
2625 		}
2626 yy211:
2627 		YYDEBUG(211, *YYCURSOR);
2628 		yyaccept = 2;
2629 		YYMARKER = ++YYCURSOR;
2630 		YYFILL(1);
2631 		yych = *YYCURSOR;
2632 		YYDEBUG(212, *YYCURSOR);
2633 		if (yych <= '&') {
2634 			if (yych <= '\r') {
2635 				if (yych == '\n') goto yy184;
2636 				if (yych <= '\f') goto yy194;
2637 				goto yy184;
2638 			} else {
2639 				if (yych <= '"') {
2640 					if (yych <= '!') goto yy194;
2641 					goto yy184;
2642 				} else {
2643 					if (yych == '$') goto yy197;
2644 					goto yy194;
2645 				}
2646 			}
2647 		} else {
2648 			if (yych <= ':') {
2649 				if (yych <= '\'') goto yy184;
2650 				if (yych <= '/') goto yy194;
2651 				if (yych <= '9') goto yy211;
2652 				goto yy194;
2653 			} else {
2654 				if (yych <= '[') {
2655 					if (yych <= ';') goto yy184;
2656 					goto yy194;
2657 				} else {
2658 					if (yych <= '\\') goto yy196;
2659 					if (yych <= ']') goto yy184;
2660 					goto yy194;
2661 				}
2662 			}
2663 		}
2664 yy213:
2665 		YYDEBUG(213, *YYCURSOR);
2666 		yyaccept = 2;
2667 		YYMARKER = ++YYCURSOR;
2668 		YYFILL(1);
2669 		yych = *YYCURSOR;
2670 		YYDEBUG(214, *YYCURSOR);
2671 		if (yych <= '&') {
2672 			if (yych <= '\r') {
2673 				if (yych == '\n') goto yy184;
2674 				if (yych <= '\f') goto yy194;
2675 				goto yy184;
2676 			} else {
2677 				if (yych <= '"') {
2678 					if (yych <= '!') goto yy194;
2679 					goto yy184;
2680 				} else {
2681 					if (yych == '$') goto yy197;
2682 					goto yy194;
2683 				}
2684 			}
2685 		} else {
2686 			if (yych <= ':') {
2687 				if (yych <= '\'') goto yy184;
2688 				if (yych <= '/') goto yy194;
2689 				if (yych <= '9') goto yy213;
2690 				goto yy194;
2691 			} else {
2692 				if (yych <= '[') {
2693 					if (yych <= ';') goto yy184;
2694 					goto yy194;
2695 				} else {
2696 					if (yych <= '\\') goto yy196;
2697 					if (yych <= ']') goto yy184;
2698 					goto yy194;
2699 				}
2700 			}
2701 		}
2702 yy215:
2703 		YYDEBUG(215, *YYCURSOR);
2704 		++YYCURSOR;
2705 		YYFILL(1);
2706 		yych = *YYCURSOR;
2707 		YYDEBUG(216, *YYCURSOR);
2708 		if (yybm[0+yych] & 128) {
2709 			goto yy215;
2710 		}
2711 		YYDEBUG(217, *YYCURSOR);
2712 		++YYCURSOR;
2713 		YYDEBUG(218, *YYCURSOR);
2714 		yyleng = YYCURSOR - SCNG(yy_text);
2715 #line 368 "Zend/zend_ini_scanner.l"
2716 		{ /* Raw string */
2717 	/* Eat leading and trailing single quotes */
2718 	if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
2719 		SCNG(yy_text)++;
2720 		yyleng = yyleng - 2;
2721 	}
2722 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
2723 }
2724 #line 2725 "Zend/zend_ini_scanner.c"
2725 yy219:
2726 		YYDEBUG(219, *YYCURSOR);
2727 		++YYCURSOR;
2728 		YYDEBUG(220, *YYCURSOR);
2729 		yyleng = YYCURSOR - SCNG(yy_text);
2730 #line 401 "Zend/zend_ini_scanner.l"
2731 		{ /* Variable start */
2732 	yy_push_state(ST_VARNAME TSRMLS_CC);
2733 	return TC_DOLLAR_CURLY;
2734 }
2735 #line 2736 "Zend/zend_ini_scanner.c"
2736 yy221:
2737 		YYDEBUG(221, *YYCURSOR);
2738 		yyaccept = 0;
2739 		YYMARKER = ++YYCURSOR;
2740 		YYFILL(1);
2741 		yych = *YYCURSOR;
2742 		YYDEBUG(222, *YYCURSOR);
2743 		if (yych <= '"') {
2744 			if (yych <= '\f') {
2745 				if (yych <= 0x08) goto yy194;
2746 				if (yych <= '\t') goto yy221;
2747 				if (yych <= '\n') goto yy173;
2748 				goto yy194;
2749 			} else {
2750 				if (yych <= 0x1F) {
2751 					if (yych <= '\r') goto yy173;
2752 					goto yy194;
2753 				} else {
2754 					if (yych <= ' ') goto yy221;
2755 					if (yych <= '!') goto yy194;
2756 				}
2757 			}
2758 		} else {
2759 			if (yych <= ':') {
2760 				if (yych <= '$') {
2761 					if (yych <= '#') goto yy194;
2762 					goto yy197;
2763 				} else {
2764 					if (yych == '\'') goto yy173;
2765 					goto yy194;
2766 				}
2767 			} else {
2768 				if (yych <= '[') {
2769 					if (yych <= ';') goto yy173;
2770 					goto yy194;
2771 				} else {
2772 					if (yych <= '\\') goto yy196;
2773 					if (yych <= ']') goto yy173;
2774 					goto yy194;
2775 				}
2776 			}
2777 		}
2778 yy223:
2779 		YYDEBUG(223, *YYCURSOR);
2780 		++YYCURSOR;
2781 		yych = *YYCURSOR;
2782 		goto yy178;
2783 	}
2784 /* *********************************** */
2785 yyc_ST_VALUE:
2786 	{
2787 		static const unsigned char yybm[] = {
2788 			160, 162, 162, 162, 162, 162, 162, 162,
2789 			162, 176, 128, 162, 162, 128, 162, 162,
2790 			162, 162, 162, 162, 162, 162, 162, 162,
2791 			162, 162, 162, 162, 162, 162, 162, 162,
2792 			176, 160, 160, 162, 168, 162, 160,  32,
2793 			160, 160, 162, 162, 162, 162, 162, 162,
2794 			230, 230, 230, 230, 230, 230, 230, 230,
2795 			230, 230, 162, 160, 162, 160, 162, 162,
2796 			162, 166, 166, 166, 166, 166, 166, 166,
2797 			166, 166, 166, 166, 166, 166, 166, 166,
2798 			166, 166, 166, 166, 166, 166, 166, 166,
2799 			166, 166, 166, 162, 162, 162, 162, 166,
2800 			162, 166, 166, 166, 166, 166, 166, 166,
2801 			166, 166, 166, 166, 166, 166, 166, 166,
2802 			166, 166, 166, 166, 166, 166, 166, 166,
2803 			166, 166, 166, 162, 160, 162, 160, 162,
2804 			162, 162, 162, 162, 162, 162, 162, 162,
2805 			162, 162, 162, 162, 162, 162, 162, 162,
2806 			162, 162, 162, 162, 162, 162, 162, 162,
2807 			162, 162, 162, 162, 162, 162, 162, 162,
2808 			162, 162, 162, 162, 162, 162, 162, 162,
2809 			162, 162, 162, 162, 162, 162, 162, 162,
2810 			162, 162, 162, 162, 162, 162, 162, 162,
2811 			162, 162, 162, 162, 162, 162, 162, 162,
2812 			162, 162, 162, 162, 162, 162, 162, 162,
2813 			162, 162, 162, 162, 162, 162, 162, 162,
2814 			162, 162, 162, 162, 162, 162, 162, 162,
2815 			162, 162, 162, 162, 162, 162, 162, 162,
2816 			162, 162, 162, 162, 162, 162, 162, 162,
2817 			162, 162, 162, 162, 162, 162, 162, 162,
2818 			162, 162, 162, 162, 162, 162, 162, 162,
2819 			162, 162, 162, 162, 162, 162, 162, 162,
2820 		};
2821 		YYDEBUG(224, *YYCURSOR);
2822 		YYFILL(6);
2823 		yych = *YYCURSOR;
2824 		YYDEBUG(-1, yych);
2825 		switch (yych) {
2826 		case 0x00:	goto yy226;
2827 		case '\t':
2828 		case ' ':	goto yy230;
2829 		case '\n':	goto yy232;
2830 		case '\r':	goto yy234;
2831 		case '!':
2832 		case '&':
2833 		case '(':
2834 		case ')':
2835 		case '|':
2836 		case '~':	goto yy235;
2837 		case '"':	goto yy237;
2838 		case '$':	goto yy239;
2839 		case '\'':	goto yy240;
2840 		case '-':	goto yy241;
2841 		case '.':	goto yy242;
2842 		case '0':
2843 		case '1':
2844 		case '2':
2845 		case '3':
2846 		case '4':
2847 		case '5':
2848 		case '6':
2849 		case '7':
2850 		case '8':
2851 		case '9':	goto yy243;
2852 		case ';':	goto yy245;
2853 		case '=':	goto yy246;
2854 		case 'A':
2855 		case 'B':
2856 		case 'C':
2857 		case 'D':
2858 		case 'E':
2859 		case 'G':
2860 		case 'H':
2861 		case 'I':
2862 		case 'J':
2863 		case 'K':
2864 		case 'L':
2865 		case 'M':
2866 		case 'P':
2867 		case 'Q':
2868 		case 'R':
2869 		case 'S':
2870 		case 'U':
2871 		case 'V':
2872 		case 'W':
2873 		case 'X':
2874 		case 'Z':
2875 		case '_':
2876 		case 'a':
2877 		case 'b':
2878 		case 'c':
2879 		case 'd':
2880 		case 'e':
2881 		case 'g':
2882 		case 'h':
2883 		case 'i':
2884 		case 'j':
2885 		case 'k':
2886 		case 'l':
2887 		case 'm':
2888 		case 'p':
2889 		case 'q':
2890 		case 'r':
2891 		case 's':
2892 		case 'u':
2893 		case 'v':
2894 		case 'w':
2895 		case 'x':
2896 		case 'z':	goto yy248;
2897 		case 'F':
2898 		case 'f':	goto yy250;
2899 		case 'N':
2900 		case 'n':	goto yy251;
2901 		case 'O':
2902 		case 'o':	goto yy252;
2903 		case 'T':
2904 		case 't':	goto yy253;
2905 		case 'Y':
2906 		case 'y':	goto yy254;
2907 		default:	goto yy228;
2908 		}
2909 yy226:
2910 		YYDEBUG(226, *YYCURSOR);
2911 		++YYCURSOR;
2912 yy227:
2913 		YYDEBUG(227, *YYCURSOR);
2914 		yyleng = YYCURSOR - SCNG(yy_text);
2915 #line 598 "Zend/zend_ini_scanner.l"
2916 		{ /* End of option value (if EOF is reached before EOL */
2917 	BEGIN(INITIAL);
2918 	return END_OF_LINE;
2919 }
2920 #line 2921 "Zend/zend_ini_scanner.c"
2921 yy228:
2922 		YYDEBUG(228, *YYCURSOR);
2923 		yyaccept = 0;
2924 		yych = *(YYMARKER = ++YYCURSOR);
2925 		goto yy256;
2926 yy229:
2927 		YYDEBUG(229, *YYCURSOR);
2928 		yyleng = YYCURSOR - SCNG(yy_text);
2929 #line 517 "Zend/zend_ini_scanner.l"
2930 		{ /* Get everything else as option/offset value */
2931 	RETURN_TOKEN(TC_STRING, yytext, yyleng);
2932 }
2933 #line 2934 "Zend/zend_ini_scanner.c"
2934 yy230:
2935 		YYDEBUG(230, *YYCURSOR);
2936 		yyaccept = 1;
2937 		yych = *(YYMARKER = ++YYCURSOR);
2938 		goto yy306;
2939 yy231:
2940 		YYDEBUG(231, *YYCURSOR);
2941 		yyleng = YYCURSOR - SCNG(yy_text);
2942 #line 571 "Zend/zend_ini_scanner.l"
2943 		{
2944 	RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2945 }
2946 #line 2947 "Zend/zend_ini_scanner.c"
2947 yy232:
2948 		YYDEBUG(232, *YYCURSOR);
2949 		++YYCURSOR;
2950 yy233:
2951 		YYDEBUG(233, *YYCURSOR);
2952 		yyleng = YYCURSOR - SCNG(yy_text);
2953 #line 489 "Zend/zend_ini_scanner.l"
2954 		{ /* End of option value */
2955 	BEGIN(INITIAL);
2956 	SCNG(lineno)++;
2957 	return END_OF_LINE;
2958 }
2959 #line 2960 "Zend/zend_ini_scanner.c"
2960 yy234:
2961 		YYDEBUG(234, *YYCURSOR);
2962 		yych = *++YYCURSOR;
2963 		if (yych == '\n') goto yy304;
2964 		goto yy233;
2965 yy235:
2966 		YYDEBUG(235, *YYCURSOR);
2967 		++YYCURSOR;
2968 		yych = *YYCURSOR;
2969 		goto yy303;
2970 yy236:
2971 		YYDEBUG(236, *YYCURSOR);
2972 		yyleng = YYCURSOR - SCNG(yy_text);
2973 #line 507 "Zend/zend_ini_scanner.l"
2974 		{ /* Boolean operators */
2975 	return yytext[0];
2976 }
2977 #line 2978 "Zend/zend_ini_scanner.c"
2978 yy237:
2979 		YYDEBUG(237, *YYCURSOR);
2980 		++YYCURSOR;
2981 yy238:
2982 		YYDEBUG(238, *YYCURSOR);
2983 		yyleng = YYCURSOR - SCNG(yy_text);
2984 #line 525 "Zend/zend_ini_scanner.l"
2985 		{ /* Double quoted '"' string start */
2986 	yy_push_state(ST_DOUBLE_QUOTES TSRMLS_CC);
2987 	return '"';
2988 }
2989 #line 2990 "Zend/zend_ini_scanner.c"
2990 yy239:
2991 		YYDEBUG(239, *YYCURSOR);
2992 		yych = *++YYCURSOR;
2993 		if (yych <= '\\') {
2994 			if (yych <= 0x00) goto yy227;
2995 			if (yych <= '[') goto yy255;
2996 			goto yy262;
2997 		} else {
2998 			if (yych == '{') goto yy300;
2999 			goto yy255;
3000 		}
3001 yy240:
3002 		YYDEBUG(240, *YYCURSOR);
3003 		yyaccept = 2;
3004 		yych = *(YYMARKER = ++YYCURSOR);
3005 		if (yybm[0+yych] & 128) {
3006 			goto yy296;
3007 		}
3008 		goto yy227;
3009 yy241:
3010 		YYDEBUG(241, *YYCURSOR);
3011 		yyaccept = 0;
3012 		yych = *(YYMARKER = ++YYCURSOR);
3013 		if (yych <= '/') goto yy256;
3014 		if (yych <= '9') goto yy294;
3015 		goto yy256;
3016 yy242:
3017 		YYDEBUG(242, *YYCURSOR);
3018 		yyaccept = 0;
3019 		yych = *(YYMARKER = ++YYCURSOR);
3020 		if (yych <= '/') goto yy256;
3021 		if (yych <= '9') goto yy292;
3022 		goto yy256;
3023 yy243:
3024 		YYDEBUG(243, *YYCURSOR);
3025 		yyaccept = 3;
3026 		yych = *(YYMARKER = ++YYCURSOR);
3027 		if (yych <= '.') {
3028 			if (yych <= '\r') {
3029 				if (yych <= 0x08) {
3030 					if (yych >= 0x01) goto yy256;
3031 				} else {
3032 					if (yych <= '\n') goto yy244;
3033 					if (yych <= '\f') goto yy256;
3034 				}
3035 			} else {
3036 				if (yych <= '%') {
3037 					if (yych <= 0x1F) goto yy256;
3038 					if (yych >= '#') goto yy256;
3039 				} else {
3040 					if (yych <= ')') goto yy244;
3041 					if (yych <= '-') goto yy256;
3042 					goto yy288;
3043 				}
3044 			}
3045 		} else {
3046 			if (yych <= '<') {
3047 				if (yych <= '9') {
3048 					if (yych <= '/') goto yy256;
3049 					goto yy290;
3050 				} else {
3051 					if (yych != ';') goto yy256;
3052 				}
3053 			} else {
3054 				if (yych <= '|') {
3055 					if (yych <= '=') goto yy244;
3056 					if (yych <= '{') goto yy256;
3057 				} else {
3058 					if (yych != '~') goto yy256;
3059 				}
3060 			}
3061 		}
3062 yy244:
3063 		YYDEBUG(244, *YYCURSOR);
3064 		yyleng = YYCURSOR - SCNG(yy_text);
3065 #line 499 "Zend/zend_ini_scanner.l"
3066 		{ /* Get number option value as string */
3067 	RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
3068 }
3069 #line 3070 "Zend/zend_ini_scanner.c"
3070 yy245:
3071 		YYDEBUG(245, *YYCURSOR);
3072 		yyaccept = 2;
3073 		yych = *(YYMARKER = ++YYCURSOR);
3074 		goto yy284;
3075 yy246:
3076 		YYDEBUG(246, *YYCURSOR);
3077 		++YYCURSOR;
3078 		YYDEBUG(247, *YYCURSOR);
3079 		yyleng = YYCURSOR - SCNG(yy_text);
3080 #line 511 "Zend/zend_ini_scanner.l"
3081 		{ /* Make = used in option value to trigger error */
3082 	yyless(0);
3083 	BEGIN(INITIAL);
3084 	return END_OF_LINE;
3085 }
3086 #line 3087 "Zend/zend_ini_scanner.c"
3087 yy248:
3088 		YYDEBUG(248, *YYCURSOR);
3089 		yyaccept = 4;
3090 		yych = *(YYMARKER = ++YYCURSOR);
3091 		if (yybm[0+yych] & 4) {
3092 			goto yy257;
3093 		}
3094 		if (yych <= ')') {
3095 			if (yych <= '\f') {
3096 				if (yych <= 0x00) goto yy249;
3097 				if (yych <= 0x08) goto yy256;
3098 				if (yych >= '\v') goto yy256;
3099 			} else {
3100 				if (yych <= 0x1F) {
3101 					if (yych >= 0x0E) goto yy256;
3102 				} else {
3103 					if (yych <= '"') goto yy249;
3104 					if (yych <= '%') goto yy256;
3105 				}
3106 			}
3107 		} else {
3108 			if (yych <= '=') {
3109 				if (yych == ';') goto yy249;
3110 				if (yych <= '<') goto yy256;
3111 			} else {
3112 				if (yych <= '|') {
3113 					if (yych <= '{') goto yy256;
3114 				} else {
3115 					if (yych != '~') goto yy256;
3116 				}
3117 			}
3118 		}
3119 yy249:
3120 		YYDEBUG(249, *YYCURSOR);
3121 		yyleng = YYCURSOR - SCNG(yy_text);
3122 #line 495 "Zend/zend_ini_scanner.l"
3123 		{ /* Get constant option value */
3124 	RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
3125 }
3126 #line 3127 "Zend/zend_ini_scanner.c"
3127 yy250:
3128 		YYDEBUG(250, *YYCURSOR);
3129 		yyaccept = 4;
3130 		yych = *(YYMARKER = ++YYCURSOR);
3131 		if (yych <= '<') {
3132 			if (yych <= '"') {
3133 				if (yych <= '\n') {
3134 					if (yych <= 0x00) goto yy249;
3135 					if (yych <= 0x08) goto yy256;
3136 					goto yy249;
3137 				} else {
3138 					if (yych == '\r') goto yy249;
3139 					if (yych <= 0x1F) goto yy256;
3140 					goto yy249;
3141 				}
3142 			} else {
3143 				if (yych <= '/') {
3144 					if (yych <= '%') goto yy256;
3145 					if (yych <= ')') goto yy249;
3146 					goto yy256;
3147 				} else {
3148 					if (yych <= '9') goto yy257;
3149 					if (yych == ';') goto yy249;
3150 					goto yy256;
3151 				}
3152 			}
3153 		} else {
3154 			if (yych <= '`') {
3155 				if (yych <= 'A') {
3156 					if (yych <= '=') goto yy249;
3157 					if (yych <= '@') goto yy256;
3158 					goto yy280;
3159 				} else {
3160 					if (yych <= 'Z') goto yy257;
3161 					if (yych == '_') goto yy257;
3162 					goto yy256;
3163 				}
3164 			} else {
3165 				if (yych <= '{') {
3166 					if (yych <= 'a') goto yy280;
3167 					if (yych <= 'z') goto yy257;
3168 					goto yy256;
3169 				} else {
3170 					if (yych == '}') goto yy256;
3171 					if (yych <= '~') goto yy249;
3172 					goto yy256;
3173 				}
3174 			}
3175 		}
3176 yy251:
3177 		YYDEBUG(251, *YYCURSOR);
3178 		yyaccept = 4;
3179 		yych = *(YYMARKER = ++YYCURSOR);
3180 		if (yych <= 'N') {
3181 			if (yych <= '%') {
3182 				if (yych <= '\f') {
3183 					if (yych <= 0x00) goto yy249;
3184 					if (yych <= 0x08) goto yy256;
3185 					if (yych <= '\n') goto yy249;
3186 					goto yy256;
3187 				} else {
3188 					if (yych <= '\r') goto yy249;
3189 					if (yych <= 0x1F) goto yy256;
3190 					if (yych <= '"') goto yy249;
3191 					goto yy256;
3192 				}
3193 			} else {
3194 				if (yych <= ':') {
3195 					if (yych <= ')') goto yy249;
3196 					if (yych <= '/') goto yy256;
3197 					if (yych <= '9') goto yy257;
3198 					goto yy256;
3199 				} else {
3200 					if (yych <= '<') {
3201 						if (yych <= ';') goto yy249;
3202 						goto yy256;
3203 					} else {
3204 						if (yych <= '=') goto yy249;
3205 						if (yych <= '@') goto yy256;
3206 						goto yy257;
3207 					}
3208 				}
3209 			}
3210 		} else {
3211 			if (yych <= 'n') {
3212 				if (yych <= 'Z') {
3213 					if (yych <= 'O') goto yy276;
3214 					if (yych == 'U') goto yy277;
3215 					goto yy257;
3216 				} else {
3217 					if (yych == '_') goto yy257;
3218 					if (yych <= '`') goto yy256;
3219 					goto yy257;
3220 				}
3221 			} else {
3222 				if (yych <= 'z') {
3223 					if (yych <= 'o') goto yy276;
3224 					if (yych == 'u') goto yy277;
3225 					goto yy257;
3226 				} else {
3227 					if (yych <= '|') {
3228 						if (yych <= '{') goto yy256;
3229 						goto yy249;
3230 					} else {
3231 						if (yych == '~') goto yy249;
3232 						goto yy256;
3233 					}
3234 				}
3235 			}
3236 		}
3237 yy252:
3238 		YYDEBUG(252, *YYCURSOR);
3239 		yyaccept = 4;
3240 		yych = *(YYMARKER = ++YYCURSOR);
3241 		if (yych <= 'E') {
3242 			if (yych <= '%') {
3243 				if (yych <= '\f') {
3244 					if (yych <= 0x00) goto yy249;
3245 					if (yych <= 0x08) goto yy256;
3246 					if (yych <= '\n') goto yy249;
3247 					goto yy256;
3248 				} else {
3249 					if (yych <= '\r') goto yy249;
3250 					if (yych <= 0x1F) goto yy256;
3251 					if (yych <= '"') goto yy249;
3252 					goto yy256;
3253 				}
3254 			} else {
3255 				if (yych <= ':') {
3256 					if (yych <= ')') goto yy249;
3257 					if (yych <= '/') goto yy256;
3258 					if (yych <= '9') goto yy257;
3259 					goto yy256;
3260 				} else {
3261 					if (yych <= '<') {
3262 						if (yych <= ';') goto yy249;
3263 						goto yy256;
3264 					} else {
3265 						if (yych <= '=') goto yy249;
3266 						if (yych <= '@') goto yy256;
3267 						goto yy257;
3268 					}
3269 				}
3270 			}
3271 		} else {
3272 			if (yych <= 'e') {
3273 				if (yych <= 'Z') {
3274 					if (yych <= 'F') goto yy271;
3275 					if (yych == 'N') goto yy265;
3276 					goto yy257;
3277 				} else {
3278 					if (yych == '_') goto yy257;
3279 					if (yych <= '`') goto yy256;
3280 					goto yy257;
3281 				}
3282 			} else {
3283 				if (yych <= 'z') {
3284 					if (yych <= 'f') goto yy271;
3285 					if (yych == 'n') goto yy265;
3286 					goto yy257;
3287 				} else {
3288 					if (yych <= '|') {
3289 						if (yych <= '{') goto yy256;
3290 						goto yy249;
3291 					} else {
3292 						if (yych == '~') goto yy249;
3293 						goto yy256;
3294 					}
3295 				}
3296 			}
3297 		}
3298 yy253:
3299 		YYDEBUG(253, *YYCURSOR);
3300 		yyaccept = 4;
3301 		yych = *(YYMARKER = ++YYCURSOR);
3302 		if (yych <= '=') {
3303 			if (yych <= '"') {
3304 				if (yych <= '\n') {
3305 					if (yych <= 0x00) goto yy249;
3306 					if (yych <= 0x08) goto yy256;
3307 					goto yy249;
3308 				} else {
3309 					if (yych == '\r') goto yy249;
3310 					if (yych <= 0x1F) goto yy256;
3311 					goto yy249;
3312 				}
3313 			} else {
3314 				if (yych <= '9') {
3315 					if (yych <= '%') goto yy256;
3316 					if (yych <= ')') goto yy249;
3317 					if (yych <= '/') goto yy256;
3318 					goto yy257;
3319 				} else {
3320 					if (yych == ';') goto yy249;
3321 					if (yych <= '<') goto yy256;
3322 					goto yy249;
3323 				}
3324 			}
3325 		} else {
3326 			if (yych <= '`') {
3327 				if (yych <= 'R') {
3328 					if (yych <= '@') goto yy256;
3329 					if (yych <= 'Q') goto yy257;
3330 					goto yy269;
3331 				} else {
3332 					if (yych <= 'Z') goto yy257;
3333 					if (yych == '_') goto yy257;
3334 					goto yy256;
3335 				}
3336 			} else {
3337 				if (yych <= '{') {
3338 					if (yych == 'r') goto yy269;
3339 					if (yych <= 'z') goto yy257;
3340 					goto yy256;
3341 				} else {
3342 					if (yych == '}') goto yy256;
3343 					if (yych <= '~') goto yy249;
3344 					goto yy256;
3345 				}
3346 			}
3347 		}
3348 yy254:
3349 		YYDEBUG(254, *YYCURSOR);
3350 		yyaccept = 4;
3351 		yych = *(YYMARKER = ++YYCURSOR);
3352 		if (yych <= '=') {
3353 			if (yych <= '"') {
3354 				if (yych <= '\n') {
3355 					if (yych <= 0x00) goto yy249;
3356 					if (yych <= 0x08) goto yy256;
3357 					goto yy249;
3358 				} else {
3359 					if (yych == '\r') goto yy249;
3360 					if (yych <= 0x1F) goto yy256;
3361 					goto yy249;
3362 				}
3363 			} else {
3364 				if (yych <= '9') {
3365 					if (yych <= '%') goto yy256;
3366 					if (yych <= ')') goto yy249;
3367 					if (yych <= '/') goto yy256;
3368 					goto yy257;
3369 				} else {
3370 					if (yych == ';') goto yy249;
3371 					if (yych <= '<') goto yy256;
3372 					goto yy249;
3373 				}
3374 			}
3375 		} else {
3376 			if (yych <= '`') {
3377 				if (yych <= 'E') {
3378 					if (yych <= '@') goto yy256;
3379 					if (yych <= 'D') goto yy257;
3380 					goto yy259;
3381 				} else {
3382 					if (yych <= 'Z') goto yy257;
3383 					if (yych == '_') goto yy257;
3384 					goto yy256;
3385 				}
3386 			} else {
3387 				if (yych <= '{') {
3388 					if (yych == 'e') goto yy259;
3389 					if (yych <= 'z') goto yy257;
3390 					goto yy256;
3391 				} else {
3392 					if (yych == '}') goto yy256;
3393 					if (yych <= '~') goto yy249;
3394 					goto yy256;
3395 				}
3396 			}
3397 		}
3398 yy255:
3399 		YYDEBUG(255, *YYCURSOR);
3400 		yyaccept = 0;
3401 		YYMARKER = ++YYCURSOR;
3402 		YYFILL(1);
3403 		yych = *YYCURSOR;
3404 yy256:
3405 		YYDEBUG(256, *YYCURSOR);
3406 		if (yybm[0+yych] & 2) {
3407 			goto yy255;
3408 		}
3409 		if (yych == '$') goto yy260;
3410 		goto yy229;
3411 yy257:
3412 		YYDEBUG(257, *YYCURSOR);
3413 		yyaccept = 4;
3414 		YYMARKER = ++YYCURSOR;
3415 		YYFILL(1);
3416 		yych = *YYCURSOR;
3417 		YYDEBUG(258, *YYCURSOR);
3418 		if (yybm[0+yych] & 4) {
3419 			goto yy257;
3420 		}
3421 		if (yych <= '%') {
3422 			if (yych <= '\r') {
3423 				if (yych <= 0x08) {
3424 					if (yych <= 0x00) goto yy249;
3425 					goto yy255;
3426 				} else {
3427 					if (yych <= '\n') goto yy249;
3428 					if (yych <= '\f') goto yy255;
3429 					goto yy249;
3430 				}
3431 			} else {
3432 				if (yych <= '"') {
3433 					if (yych <= 0x1F) goto yy255;
3434 					goto yy249;
3435 				} else {
3436 					if (yych == '$') goto yy260;
3437 					goto yy255;
3438 				}
3439 			}
3440 		} else {
3441 			if (yych <= '=') {
3442 				if (yych <= ':') {
3443 					if (yych <= ')') goto yy249;
3444 					goto yy255;
3445 				} else {
3446 					if (yych == '<') goto yy255;
3447 					goto yy249;
3448 				}
3449 			} else {
3450 				if (yych <= '|') {
3451 					if (yych <= '{') goto yy255;
3452 					goto yy249;
3453 				} else {
3454 					if (yych == '~') goto yy249;
3455 					goto yy255;
3456 				}
3457 			}
3458 		}
3459 yy259:
3460 		YYDEBUG(259, *YYCURSOR);
3461 		yyaccept = 4;
3462 		yych = *(YYMARKER = ++YYCURSOR);
3463 		if (yych <= '=') {
3464 			if (yych <= '"') {
3465 				if (yych <= '\n') {
3466 					if (yych <= 0x00) goto yy249;
3467 					if (yych <= 0x08) goto yy256;
3468 					goto yy249;
3469 				} else {
3470 					if (yych == '\r') goto yy249;
3471 					if (yych <= 0x1F) goto yy256;
3472 					goto yy249;
3473 				}
3474 			} else {
3475 				if (yych <= '9') {
3476 					if (yych <= '%') goto yy256;
3477 					if (yych <= ')') goto yy249;
3478 					if (yych <= '/') goto yy256;
3479 					goto yy257;
3480 				} else {
3481 					if (yych == ';') goto yy249;
3482 					if (yych <= '<') goto yy256;
3483 					goto yy249;
3484 				}
3485 			}
3486 		} else {
3487 			if (yych <= '`') {
3488 				if (yych <= 'S') {
3489 					if (yych <= '@') goto yy256;
3490 					if (yych <= 'R') goto yy257;
3491 					goto yy265;
3492 				} else {
3493 					if (yych <= 'Z') goto yy257;
3494 					if (yych == '_') goto yy257;
3495 					goto yy256;
3496 				}
3497 			} else {
3498 				if (yych <= '{') {
3499 					if (yych == 's') goto yy265;
3500 					if (yych <= 'z') goto yy257;
3501 					goto yy256;
3502 				} else {
3503 					if (yych == '}') goto yy256;
3504 					if (yych <= '~') goto yy249;
3505 					goto yy256;
3506 				}
3507 			}
3508 		}
3509 yy260:
3510 		YYDEBUG(260, *YYCURSOR);
3511 		++YYCURSOR;
3512 		YYFILL(1);
3513 		yych = *YYCURSOR;
3514 		if (yych <= '\\') {
3515 			if (yych <= 0x00) goto yy261;
3516 			if (yych <= '[') goto yy255;
3517 			goto yy262;
3518 		} else {
3519 			if (yych != '{') goto yy255;
3520 		}
3521 yy261:
3522 		YYDEBUG(261, *YYCURSOR);
3523 		YYCURSOR = YYMARKER;
3524 		if (yyaccept <= 3) {
3525 			if (yyaccept <= 1) {
3526 				if (yyaccept <= 0) {
3527 					goto yy229;
3528 				} else {
3529 					goto yy231;
3530 				}
3531 			} else {
3532 				if (yyaccept <= 2) {
3533 					goto yy227;
3534 				} else {
3535 					goto yy244;
3536 				}
3537 			}
3538 		} else {
3539 			if (yyaccept <= 5) {
3540 				if (yyaccept <= 4) {
3541 					goto yy249;
3542 				} else {
3543 					goto yy266;
3544 				}
3545 			} else {
3546 				goto yy273;
3547 			}
3548 		}
3549 yy262:
3550 		YYDEBUG(262, *YYCURSOR);
3551 		++YYCURSOR;
3552 		YYFILL(1);
3553 		yych = *YYCURSOR;
3554 		if (yybm[0+yych] & 8) {
3555 			goto yy263;
3556 		}
3557 		goto yy255;
3558 yy263:
3559 		YYDEBUG(263, *YYCURSOR);
3560 		++YYCURSOR;
3561 		YYFILL(1);
3562 		yych = *YYCURSOR;
3563 		YYDEBUG(264, *YYCURSOR);
3564 		if (yybm[0+yych] & 8) {
3565 			goto yy263;
3566 		}
3567 		if (yych <= 0x00) goto yy229;
3568 		if (yych == '\\') goto yy262;
3569 		goto yy255;
3570 yy265:
3571 		YYDEBUG(265, *YYCURSOR);
3572 		yyaccept = 5;
3573 		yych = *(YYMARKER = ++YYCURSOR);
3574 		if (yybm[0+yych] & 16) {
3575 			goto yy267;
3576 		}
3577 		if (yych <= ';') {
3578 			if (yych <= ' ') {
3579 				if (yych <= '\n') {
3580 					if (yych <= 0x00) goto yy266;
3581 					if (yych <= '\t') goto yy256;
3582 				} else {
3583 					if (yych != '\r') goto yy256;
3584 				}
3585 			} else {
3586 				if (yych <= ')') {
3587 					if (yych <= '"') goto yy266;
3588 					if (yych <= '%') goto yy256;
3589 				} else {
3590 					if (yych <= '/') goto yy256;
3591 					if (yych <= '9') goto yy257;
3592 					if (yych <= ':') goto yy256;
3593 				}
3594 			}
3595 		} else {
3596 			if (yych <= '_') {
3597 				if (yych <= '@') {
3598 					if (yych != '=') goto yy256;
3599 				} else {
3600 					if (yych <= 'Z') goto yy257;
3601 					if (yych <= '^') goto yy256;
3602 					goto yy257;
3603 				}
3604 			} else {
3605 				if (yych <= '{') {
3606 					if (yych <= '`') goto yy256;
3607 					if (yych <= 'z') goto yy257;
3608 					goto yy256;
3609 				} else {
3610 					if (yych == '}') goto yy256;
3611 					if (yych >= 0x7F) goto yy256;
3612 				}
3613 			}
3614 		}
3615 yy266:
3616 		YYDEBUG(266, *YYCURSOR);
3617 		yyleng = YYCURSOR - SCNG(yy_text);
3618 #line 421 "Zend/zend_ini_scanner.l"
3619 		{ /* TRUE value (when used outside option value/offset this causes parse error!) */
3620 	RETURN_TOKEN(BOOL_TRUE, "1", 1);
3621 }
3622 #line 3623 "Zend/zend_ini_scanner.c"
3623 yy267:
3624 		YYDEBUG(267, *YYCURSOR);
3625 		++YYCURSOR;
3626 		YYFILL(1);
3627 		yych = *YYCURSOR;
3628 		YYDEBUG(268, *YYCURSOR);
3629 		if (yybm[0+yych] & 16) {
3630 			goto yy267;
3631 		}
3632 		goto yy266;
3633 yy269:
3634 		YYDEBUG(269, *YYCURSOR);
3635 		yyaccept = 4;
3636 		yych = *(YYMARKER = ++YYCURSOR);
3637 		if (yych <= '=') {
3638 			if (yych <= '"') {
3639 				if (yych <= '\n') {
3640 					if (yych <= 0x00) goto yy249;
3641 					if (yych <= 0x08) goto yy256;
3642 					goto yy249;
3643 				} else {
3644 					if (yych == '\r') goto yy249;
3645 					if (yych <= 0x1F) goto yy256;
3646 					goto yy249;
3647 				}
3648 			} else {
3649 				if (yych <= '9') {
3650 					if (yych <= '%') goto yy256;
3651 					if (yych <= ')') goto yy249;
3652 					if (yych <= '/') goto yy256;
3653 					goto yy257;
3654 				} else {
3655 					if (yych == ';') goto yy249;
3656 					if (yych <= '<') goto yy256;
3657 					goto yy249;
3658 				}
3659 			}
3660 		} else {
3661 			if (yych <= '`') {
3662 				if (yych <= 'U') {
3663 					if (yych <= '@') goto yy256;
3664 					if (yych <= 'T') goto yy257;
3665 				} else {
3666 					if (yych <= 'Z') goto yy257;
3667 					if (yych == '_') goto yy257;
3668 					goto yy256;
3669 				}
3670 			} else {
3671 				if (yych <= '{') {
3672 					if (yych == 'u') goto yy270;
3673 					if (yych <= 'z') goto yy257;
3674 					goto yy256;
3675 				} else {
3676 					if (yych == '}') goto yy256;
3677 					if (yych <= '~') goto yy249;
3678 					goto yy256;
3679 				}
3680 			}
3681 		}
3682 yy270:
3683 		YYDEBUG(270, *YYCURSOR);
3684 		yyaccept = 4;
3685 		yych = *(YYMARKER = ++YYCURSOR);
3686 		if (yych <= '=') {
3687 			if (yych <= '"') {
3688 				if (yych <= '\n') {
3689 					if (yych <= 0x00) goto yy249;
3690 					if (yych <= 0x08) goto yy256;
3691 					goto yy249;
3692 				} else {
3693 					if (yych == '\r') goto yy249;
3694 					if (yych <= 0x1F) goto yy256;
3695 					goto yy249;
3696 				}
3697 			} else {
3698 				if (yych <= '9') {
3699 					if (yych <= '%') goto yy256;
3700 					if (yych <= ')') goto yy249;
3701 					if (yych <= '/') goto yy256;
3702 					goto yy257;
3703 				} else {
3704 					if (yych == ';') goto yy249;
3705 					if (yych <= '<') goto yy256;
3706 					goto yy249;
3707 				}
3708 			}
3709 		} else {
3710 			if (yych <= '`') {
3711 				if (yych <= 'E') {
3712 					if (yych <= '@') goto yy256;
3713 					if (yych <= 'D') goto yy257;
3714 					goto yy265;
3715 				} else {
3716 					if (yych <= 'Z') goto yy257;
3717 					if (yych == '_') goto yy257;
3718 					goto yy256;
3719 				}
3720 			} else {
3721 				if (yych <= '{') {
3722 					if (yych == 'e') goto yy265;
3723 					if (yych <= 'z') goto yy257;
3724 					goto yy256;
3725 				} else {
3726 					if (yych == '}') goto yy256;
3727 					if (yych <= '~') goto yy249;
3728 					goto yy256;
3729 				}
3730 			}
3731 		}
3732 yy271:
3733 		YYDEBUG(271, *YYCURSOR);
3734 		yyaccept = 4;
3735 		yych = *(YYMARKER = ++YYCURSOR);
3736 		if (yych <= '=') {
3737 			if (yych <= '"') {
3738 				if (yych <= '\n') {
3739 					if (yych <= 0x00) goto yy249;
3740 					if (yych <= 0x08) goto yy256;
3741 					goto yy249;
3742 				} else {
3743 					if (yych == '\r') goto yy249;
3744 					if (yych <= 0x1F) goto yy256;
3745 					goto yy249;
3746 				}
3747 			} else {
3748 				if (yych <= '9') {
3749 					if (yych <= '%') goto yy256;
3750 					if (yych <= ')') goto yy249;
3751 					if (yych <= '/') goto yy256;
3752 					goto yy257;
3753 				} else {
3754 					if (yych == ';') goto yy249;
3755 					if (yych <= '<') goto yy256;
3756 					goto yy249;
3757 				}
3758 			}
3759 		} else {
3760 			if (yych <= '`') {
3761 				if (yych <= 'F') {
3762 					if (yych <= '@') goto yy256;
3763 					if (yych <= 'E') goto yy257;
3764 				} else {
3765 					if (yych <= 'Z') goto yy257;
3766 					if (yych == '_') goto yy257;
3767 					goto yy256;
3768 				}
3769 			} else {
3770 				if (yych <= '{') {
3771 					if (yych == 'f') goto yy272;
3772 					if (yych <= 'z') goto yy257;
3773 					goto yy256;
3774 				} else {
3775 					if (yych == '}') goto yy256;
3776 					if (yych <= '~') goto yy249;
3777 					goto yy256;
3778 				}
3779 			}
3780 		}
3781 yy272:
3782 		YYDEBUG(272, *YYCURSOR);
3783 		yyaccept = 6;
3784 		yych = *(YYMARKER = ++YYCURSOR);
3785 		if (yybm[0+yych] & 4) {
3786 			goto yy257;
3787 		}
3788 		if (yych <= '%') {
3789 			if (yych <= '\f') {
3790 				if (yych <= 0x08) {
3791 					if (yych >= 0x01) goto yy256;
3792 				} else {
3793 					if (yych <= '\t') goto yy274;
3794 					if (yych >= '\v') goto yy256;
3795 				}
3796 			} else {
3797 				if (yych <= 0x1F) {
3798 					if (yych >= 0x0E) goto yy256;
3799 				} else {
3800 					if (yych <= ' ') goto yy274;
3801 					if (yych >= '#') goto yy256;
3802 				}
3803 			}
3804 		} else {
3805 			if (yych <= '=') {
3806 				if (yych <= ':') {
3807 					if (yych >= '*') goto yy256;
3808 				} else {
3809 					if (yych == '<') goto yy256;
3810 				}
3811 			} else {
3812 				if (yych <= '|') {
3813 					if (yych <= '{') goto yy256;
3814 				} else {
3815 					if (yych != '~') goto yy256;
3816 				}
3817 			}
3818 		}
3819 yy273:
3820 		YYDEBUG(273, *YYCURSOR);
3821 		yyleng = YYCURSOR - SCNG(yy_text);
3822 #line 425 "Zend/zend_ini_scanner.l"
3823 		{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
3824 	RETURN_TOKEN(BOOL_FALSE, "", 0);
3825 }
3826 #line 3827 "Zend/zend_ini_scanner.c"
3827 yy274:
3828 		YYDEBUG(274, *YYCURSOR);
3829 		++YYCURSOR;
3830 		YYFILL(1);
3831 		yych = *YYCURSOR;
3832 		YYDEBUG(275, *YYCURSOR);
3833 		if (yych == '\t') goto yy274;
3834 		if (yych == ' ') goto yy274;
3835 		goto yy273;
3836 yy276:
3837 		YYDEBUG(276, *YYCURSOR);
3838 		yyaccept = 6;
3839 		yych = *(YYMARKER = ++YYCURSOR);
3840 		if (yych <= '<') {
3841 			if (yych <= ' ') {
3842 				if (yych <= '\n') {
3843 					if (yych <= 0x00) goto yy273;
3844 					if (yych <= 0x08) goto yy256;
3845 					if (yych <= '\t') goto yy274;
3846 					goto yy273;
3847 				} else {
3848 					if (yych == '\r') goto yy273;
3849 					if (yych <= 0x1F) goto yy256;
3850 					goto yy274;
3851 				}
3852 			} else {
3853 				if (yych <= '/') {
3854 					if (yych <= '"') goto yy273;
3855 					if (yych <= '%') goto yy256;
3856 					if (yych <= ')') goto yy273;
3857 					goto yy256;
3858 				} else {
3859 					if (yych <= '9') goto yy257;
3860 					if (yych == ';') goto yy273;
3861 					goto yy256;
3862 				}
3863 			}
3864 		} else {
3865 			if (yych <= '`') {
3866 				if (yych <= 'N') {
3867 					if (yych <= '=') goto yy273;
3868 					if (yych <= '@') goto yy256;
3869 					if (yych <= 'M') goto yy257;
3870 					goto yy279;
3871 				} else {
3872 					if (yych <= 'Z') goto yy257;
3873 					if (yych == '_') goto yy257;
3874 					goto yy256;
3875 				}
3876 			} else {
3877 				if (yych <= '{') {
3878 					if (yych == 'n') goto yy279;
3879 					if (yych <= 'z') goto yy257;
3880 					goto yy256;
3881 				} else {
3882 					if (yych == '}') goto yy256;
3883 					if (yych <= '~') goto yy273;
3884 					goto yy256;
3885 				}
3886 			}
3887 		}
3888 yy277:
3889 		YYDEBUG(277, *YYCURSOR);
3890 		yyaccept = 4;
3891 		yych = *(YYMARKER = ++YYCURSOR);
3892 		if (yych <= '=') {
3893 			if (yych <= '"') {
3894 				if (yych <= '\n') {
3895 					if (yych <= 0x00) goto yy249;
3896 					if (yych <= 0x08) goto yy256;
3897 					goto yy249;
3898 				} else {
3899 					if (yych == '\r') goto yy249;
3900 					if (yych <= 0x1F) goto yy256;
3901 					goto yy249;
3902 				}
3903 			} else {
3904 				if (yych <= '9') {
3905 					if (yych <= '%') goto yy256;
3906 					if (yych <= ')') goto yy249;
3907 					if (yych <= '/') goto yy256;
3908 					goto yy257;
3909 				} else {
3910 					if (yych == ';') goto yy249;
3911 					if (yych <= '<') goto yy256;
3912 					goto yy249;
3913 				}
3914 			}
3915 		} else {
3916 			if (yych <= '`') {
3917 				if (yych <= 'L') {
3918 					if (yych <= '@') goto yy256;
3919 					if (yych <= 'K') goto yy257;
3920 				} else {
3921 					if (yych <= 'Z') goto yy257;
3922 					if (yych == '_') goto yy257;
3923 					goto yy256;
3924 				}
3925 			} else {
3926 				if (yych <= '{') {
3927 					if (yych == 'l') goto yy278;
3928 					if (yych <= 'z') goto yy257;
3929 					goto yy256;
3930 				} else {
3931 					if (yych == '}') goto yy256;
3932 					if (yych <= '~') goto yy249;
3933 					goto yy256;
3934 				}
3935 			}
3936 		}
3937 yy278:
3938 		YYDEBUG(278, *YYCURSOR);
3939 		yyaccept = 4;
3940 		yych = *(YYMARKER = ++YYCURSOR);
3941 		if (yych <= '=') {
3942 			if (yych <= '"') {
3943 				if (yych <= '\n') {
3944 					if (yych <= 0x00) goto yy249;
3945 					if (yych <= 0x08) goto yy256;
3946 					goto yy249;
3947 				} else {
3948 					if (yych == '\r') goto yy249;
3949 					if (yych <= 0x1F) goto yy256;
3950 					goto yy249;
3951 				}
3952 			} else {
3953 				if (yych <= '9') {
3954 					if (yych <= '%') goto yy256;
3955 					if (yych <= ')') goto yy249;
3956 					if (yych <= '/') goto yy256;
3957 					goto yy257;
3958 				} else {
3959 					if (yych == ';') goto yy249;
3960 					if (yych <= '<') goto yy256;
3961 					goto yy249;
3962 				}
3963 			}
3964 		} else {
3965 			if (yych <= '`') {
3966 				if (yych <= 'L') {
3967 					if (yych <= '@') goto yy256;
3968 					if (yych <= 'K') goto yy257;
3969 					goto yy272;
3970 				} else {
3971 					if (yych <= 'Z') goto yy257;
3972 					if (yych == '_') goto yy257;
3973 					goto yy256;
3974 				}
3975 			} else {
3976 				if (yych <= '{') {
3977 					if (yych == 'l') goto yy272;
3978 					if (yych <= 'z') goto yy257;
3979 					goto yy256;
3980 				} else {
3981 					if (yych == '}') goto yy256;
3982 					if (yych <= '~') goto yy249;
3983 					goto yy256;
3984 				}
3985 			}
3986 		}
3987 yy279:
3988 		YYDEBUG(279, *YYCURSOR);
3989 		yyaccept = 4;
3990 		yych = *(YYMARKER = ++YYCURSOR);
3991 		if (yych <= '=') {
3992 			if (yych <= '"') {
3993 				if (yych <= '\n') {
3994 					if (yych <= 0x00) goto yy249;
3995 					if (yych <= 0x08) goto yy256;
3996 					goto yy249;
3997 				} else {
3998 					if (yych == '\r') goto yy249;
3999 					if (yych <= 0x1F) goto yy256;
4000 					goto yy249;
4001 				}
4002 			} else {
4003 				if (yych <= '9') {
4004 					if (yych <= '%') goto yy256;
4005 					if (yych <= ')') goto yy249;
4006 					if (yych <= '/') goto yy256;
4007 					goto yy257;
4008 				} else {
4009 					if (yych == ';') goto yy249;
4010 					if (yych <= '<') goto yy256;
4011 					goto yy249;
4012 				}
4013 			}
4014 		} else {
4015 			if (yych <= '`') {
4016 				if (yych <= 'E') {
4017 					if (yych <= '@') goto yy256;
4018 					if (yych <= 'D') goto yy257;
4019 					goto yy272;
4020 				} else {
4021 					if (yych <= 'Z') goto yy257;
4022 					if (yych == '_') goto yy257;
4023 					goto yy256;
4024 				}
4025 			} else {
4026 				if (yych <= '{') {
4027 					if (yych == 'e') goto yy272;
4028 					if (yych <= 'z') goto yy257;
4029 					goto yy256;
4030 				} else {
4031 					if (yych == '}') goto yy256;
4032 					if (yych <= '~') goto yy249;
4033 					goto yy256;
4034 				}
4035 			}
4036 		}
4037 yy280:
4038 		YYDEBUG(280, *YYCURSOR);
4039 		yyaccept = 4;
4040 		yych = *(YYMARKER = ++YYCURSOR);
4041 		if (yych <= '=') {
4042 			if (yych <= '"') {
4043 				if (yych <= '\n') {
4044 					if (yych <= 0x00) goto yy249;
4045 					if (yych <= 0x08) goto yy256;
4046 					goto yy249;
4047 				} else {
4048 					if (yych == '\r') goto yy249;
4049 					if (yych <= 0x1F) goto yy256;
4050 					goto yy249;
4051 				}
4052 			} else {
4053 				if (yych <= '9') {
4054 					if (yych <= '%') goto yy256;
4055 					if (yych <= ')') goto yy249;
4056 					if (yych <= '/') goto yy256;
4057 					goto yy257;
4058 				} else {
4059 					if (yych == ';') goto yy249;
4060 					if (yych <= '<') goto yy256;
4061 					goto yy249;
4062 				}
4063 			}
4064 		} else {
4065 			if (yych <= '`') {
4066 				if (yych <= 'L') {
4067 					if (yych <= '@') goto yy256;
4068 					if (yych <= 'K') goto yy257;
4069 				} else {
4070 					if (yych <= 'Z') goto yy257;
4071 					if (yych == '_') goto yy257;
4072 					goto yy256;
4073 				}
4074 			} else {
4075 				if (yych <= '{') {
4076 					if (yych == 'l') goto yy281;
4077 					if (yych <= 'z') goto yy257;
4078 					goto yy256;
4079 				} else {
4080 					if (yych == '}') goto yy256;
4081 					if (yych <= '~') goto yy249;
4082 					goto yy256;
4083 				}
4084 			}
4085 		}
4086 yy281:
4087 		YYDEBUG(281, *YYCURSOR);
4088 		yyaccept = 4;
4089 		yych = *(YYMARKER = ++YYCURSOR);
4090 		if (yych <= '=') {
4091 			if (yych <= '"') {
4092 				if (yych <= '\n') {
4093 					if (yych <= 0x00) goto yy249;
4094 					if (yych <= 0x08) goto yy256;
4095 					goto yy249;
4096 				} else {
4097 					if (yych == '\r') goto yy249;
4098 					if (yych <= 0x1F) goto yy256;
4099 					goto yy249;
4100 				}
4101 			} else {
4102 				if (yych <= '9') {
4103 					if (yych <= '%') goto yy256;
4104 					if (yych <= ')') goto yy249;
4105 					if (yych <= '/') goto yy256;
4106 					goto yy257;
4107 				} else {
4108 					if (yych == ';') goto yy249;
4109 					if (yych <= '<') goto yy256;
4110 					goto yy249;
4111 				}
4112 			}
4113 		} else {
4114 			if (yych <= '`') {
4115 				if (yych <= 'S') {
4116 					if (yych <= '@') goto yy256;
4117 					if (yych <= 'R') goto yy257;
4118 				} else {
4119 					if (yych <= 'Z') goto yy257;
4120 					if (yych == '_') goto yy257;
4121 					goto yy256;
4122 				}
4123 			} else {
4124 				if (yych <= '{') {
4125 					if (yych == 's') goto yy282;
4126 					if (yych <= 'z') goto yy257;
4127 					goto yy256;
4128 				} else {
4129 					if (yych == '}') goto yy256;
4130 					if (yych <= '~') goto yy249;
4131 					goto yy256;
4132 				}
4133 			}
4134 		}
4135 yy282:
4136 		YYDEBUG(282, *YYCURSOR);
4137 		yyaccept = 4;
4138 		yych = *(YYMARKER = ++YYCURSOR);
4139 		if (yych <= '=') {
4140 			if (yych <= '"') {
4141 				if (yych <= '\n') {
4142 					if (yych <= 0x00) goto yy249;
4143 					if (yych <= 0x08) goto yy256;
4144 					goto yy249;
4145 				} else {
4146 					if (yych == '\r') goto yy249;
4147 					if (yych <= 0x1F) goto yy256;
4148 					goto yy249;
4149 				}
4150 			} else {
4151 				if (yych <= '9') {
4152 					if (yych <= '%') goto yy256;
4153 					if (yych <= ')') goto yy249;
4154 					if (yych <= '/') goto yy256;
4155 					goto yy257;
4156 				} else {
4157 					if (yych == ';') goto yy249;
4158 					if (yych <= '<') goto yy256;
4159 					goto yy249;
4160 				}
4161 			}
4162 		} else {
4163 			if (yych <= '`') {
4164 				if (yych <= 'E') {
4165 					if (yych <= '@') goto yy256;
4166 					if (yych <= 'D') goto yy257;
4167 					goto yy272;
4168 				} else {
4169 					if (yych <= 'Z') goto yy257;
4170 					if (yych == '_') goto yy257;
4171 					goto yy256;
4172 				}
4173 			} else {
4174 				if (yych <= '{') {
4175 					if (yych == 'e') goto yy272;
4176 					if (yych <= 'z') goto yy257;
4177 					goto yy256;
4178 				} else {
4179 					if (yych == '}') goto yy256;
4180 					if (yych <= '~') goto yy249;
4181 					goto yy256;
4182 				}
4183 			}
4184 		}
4185 yy283:
4186 		YYDEBUG(283, *YYCURSOR);
4187 		++YYCURSOR;
4188 		YYFILL(2);
4189 		yych = *YYCURSOR;
4190 yy284:
4191 		YYDEBUG(284, *YYCURSOR);
4192 		if (yybm[0+yych] & 32) {
4193 			goto yy283;
4194 		}
4195 		if (yych >= '\r') goto yy287;
4196 yy285:
4197 		YYDEBUG(285, *YYCURSOR);
4198 		++YYCURSOR;
4199 yy286:
4200 		YYDEBUG(286, *YYCURSOR);
4201 		yyleng = YYCURSOR - SCNG(yy_text);
4202 #line 585 "Zend/zend_ini_scanner.l"
4203 		{ /* Comment */
4204 	BEGIN(INITIAL);
4205 	SCNG(lineno)++;
4206 	return END_OF_LINE;
4207 }
4208 #line 4209 "Zend/zend_ini_scanner.c"
4209 yy287:
4210 		YYDEBUG(287, *YYCURSOR);
4211 		yych = *++YYCURSOR;
4212 		if (yych == '\n') goto yy285;
4213 		goto yy286;
4214 yy288:
4215 		YYDEBUG(288, *YYCURSOR);
4216 		yyaccept = 3;
4217 		YYMARKER = ++YYCURSOR;
4218 		YYFILL(1);
4219 		yych = *YYCURSOR;
4220 		YYDEBUG(289, *YYCURSOR);
4221 		if (yybm[0+yych] & 64) {
4222 			goto yy288;
4223 		}
4224 		if (yych <= '%') {
4225 			if (yych <= '\r') {
4226 				if (yych <= 0x08) {
4227 					if (yych <= 0x00) goto yy244;
4228 					goto yy255;
4229 				} else {
4230 					if (yych <= '\n') goto yy244;
4231 					if (yych <= '\f') goto yy255;
4232 					goto yy244;
4233 				}
4234 			} else {
4235 				if (yych <= '"') {
4236 					if (yych <= 0x1F) goto yy255;
4237 					goto yy244;
4238 				} else {
4239 					if (yych == '$') goto yy260;
4240 					goto yy255;
4241 				}
4242 			}
4243 		} else {
4244 			if (yych <= '=') {
4245 				if (yych <= ':') {
4246 					if (yych <= ')') goto yy244;
4247 					goto yy255;
4248 				} else {
4249 					if (yych == '<') goto yy255;
4250 					goto yy244;
4251 				}
4252 			} else {
4253 				if (yych <= '|') {
4254 					if (yych <= '{') goto yy255;
4255 					goto yy244;
4256 				} else {
4257 					if (yych == '~') goto yy244;
4258 					goto yy255;
4259 				}
4260 			}
4261 		}
4262 yy290:
4263 		YYDEBUG(290, *YYCURSOR);
4264 		yyaccept = 3;
4265 		YYMARKER = ++YYCURSOR;
4266 		YYFILL(1);
4267 		yych = *YYCURSOR;
4268 		YYDEBUG(291, *YYCURSOR);
4269 		if (yych <= '-') {
4270 			if (yych <= 0x1F) {
4271 				if (yych <= '\n') {
4272 					if (yych <= 0x00) goto yy244;
4273 					if (yych <= 0x08) goto yy255;
4274 					goto yy244;
4275 				} else {
4276 					if (yych == '\r') goto yy244;
4277 					goto yy255;
4278 				}
4279 			} else {
4280 				if (yych <= '$') {
4281 					if (yych <= '"') goto yy244;
4282 					if (yych <= '#') goto yy255;
4283 					goto yy260;
4284 				} else {
4285 					if (yych <= '%') goto yy255;
4286 					if (yych <= ')') goto yy244;
4287 					goto yy255;
4288 				}
4289 			}
4290 		} else {
4291 			if (yych <= '<') {
4292 				if (yych <= '9') {
4293 					if (yych <= '.') goto yy288;
4294 					if (yych <= '/') goto yy255;
4295 					goto yy290;
4296 				} else {
4297 					if (yych == ';') goto yy244;
4298 					goto yy255;
4299 				}
4300 			} else {
4301 				if (yych <= '|') {
4302 					if (yych <= '=') goto yy244;
4303 					if (yych <= '{') goto yy255;
4304 					goto yy244;
4305 				} else {
4306 					if (yych == '~') goto yy244;
4307 					goto yy255;
4308 				}
4309 			}
4310 		}
4311 yy292:
4312 		YYDEBUG(292, *YYCURSOR);
4313 		yyaccept = 3;
4314 		YYMARKER = ++YYCURSOR;
4315 		YYFILL(1);
4316 		yych = *YYCURSOR;
4317 		YYDEBUG(293, *YYCURSOR);
4318 		if (yych <= ')') {
4319 			if (yych <= '\r') {
4320 				if (yych <= 0x08) {
4321 					if (yych <= 0x00) goto yy244;
4322 					goto yy255;
4323 				} else {
4324 					if (yych <= '\n') goto yy244;
4325 					if (yych <= '\f') goto yy255;
4326 					goto yy244;
4327 				}
4328 			} else {
4329 				if (yych <= '#') {
4330 					if (yych <= 0x1F) goto yy255;
4331 					if (yych <= '"') goto yy244;
4332 					goto yy255;
4333 				} else {
4334 					if (yych <= '$') goto yy260;
4335 					if (yych <= '%') goto yy255;
4336 					goto yy244;
4337 				}
4338 			}
4339 		} else {
4340 			if (yych <= '<') {
4341 				if (yych <= '9') {
4342 					if (yych <= '/') goto yy255;
4343 					goto yy292;
4344 				} else {
4345 					if (yych == ';') goto yy244;
4346 					goto yy255;
4347 				}
4348 			} else {
4349 				if (yych <= '|') {
4350 					if (yych <= '=') goto yy244;
4351 					if (yych <= '{') goto yy255;
4352 					goto yy244;
4353 				} else {
4354 					if (yych == '~') goto yy244;
4355 					goto yy255;
4356 				}
4357 			}
4358 		}
4359 yy294:
4360 		YYDEBUG(294, *YYCURSOR);
4361 		yyaccept = 3;
4362 		YYMARKER = ++YYCURSOR;
4363 		YYFILL(1);
4364 		yych = *YYCURSOR;
4365 		YYDEBUG(295, *YYCURSOR);
4366 		if (yych <= ')') {
4367 			if (yych <= '\r') {
4368 				if (yych <= 0x08) {
4369 					if (yych <= 0x00) goto yy244;
4370 					goto yy255;
4371 				} else {
4372 					if (yych <= '\n') goto yy244;
4373 					if (yych <= '\f') goto yy255;
4374 					goto yy244;
4375 				}
4376 			} else {
4377 				if (yych <= '#') {
4378 					if (yych <= 0x1F) goto yy255;
4379 					if (yych <= '"') goto yy244;
4380 					goto yy255;
4381 				} else {
4382 					if (yych <= '$') goto yy260;
4383 					if (yych <= '%') goto yy255;
4384 					goto yy244;
4385 				}
4386 			}
4387 		} else {
4388 			if (yych <= '<') {
4389 				if (yych <= '9') {
4390 					if (yych <= '/') goto yy255;
4391 					goto yy294;
4392 				} else {
4393 					if (yych == ';') goto yy244;
4394 					goto yy255;
4395 				}
4396 			} else {
4397 				if (yych <= '|') {
4398 					if (yych <= '=') goto yy244;
4399 					if (yych <= '{') goto yy255;
4400 					goto yy244;
4401 				} else {
4402 					if (yych == '~') goto yy244;
4403 					goto yy255;
4404 				}
4405 			}
4406 		}
4407 yy296:
4408 		YYDEBUG(296, *YYCURSOR);
4409 		++YYCURSOR;
4410 		YYFILL(1);
4411 		yych = *YYCURSOR;
4412 		YYDEBUG(297, *YYCURSOR);
4413 		if (yybm[0+yych] & 128) {
4414 			goto yy296;
4415 		}
4416 		YYDEBUG(298, *YYCURSOR);
4417 		++YYCURSOR;
4418 		YYDEBUG(299, *YYCURSOR);
4419 		yyleng = YYCURSOR - SCNG(yy_text);
4420 #line 368 "Zend/zend_ini_scanner.l"
4421 		{ /* Raw string */
4422 	/* Eat leading and trailing single quotes */
4423 	if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
4424 		SCNG(yy_text)++;
4425 		yyleng = yyleng - 2;
4426 	}
4427 	RETURN_TOKEN(TC_RAW, yytext, yyleng);
4428 }
4429 #line 4430 "Zend/zend_ini_scanner.c"
4430 yy300:
4431 		YYDEBUG(300, *YYCURSOR);
4432 		++YYCURSOR;
4433 		YYDEBUG(301, *YYCURSOR);
4434 		yyleng = YYCURSOR - SCNG(yy_text);
4435 #line 401 "Zend/zend_ini_scanner.l"
4436 		{ /* Variable start */
4437 	yy_push_state(ST_VARNAME TSRMLS_CC);
4438 	return TC_DOLLAR_CURLY;
4439 }
4440 #line 4441 "Zend/zend_ini_scanner.c"
4441 yy302:
4442 		YYDEBUG(302, *YYCURSOR);
4443 		++YYCURSOR;
4444 		YYFILL(1);
4445 		yych = *YYCURSOR;
4446 yy303:
4447 		YYDEBUG(303, *YYCURSOR);
4448 		if (yych == '\t') goto yy302;
4449 		if (yych == ' ') goto yy302;
4450 		goto yy236;
4451 yy304:
4452 		YYDEBUG(304, *YYCURSOR);
4453 		yych = *++YYCURSOR;
4454 		goto yy233;
4455 yy305:
4456 		YYDEBUG(305, *YYCURSOR);
4457 		yyaccept = 1;
4458 		YYMARKER = ++YYCURSOR;
4459 		YYFILL(2);
4460 		yych = *YYCURSOR;
4461 yy306:
4462 		YYDEBUG(306, *YYCURSOR);
4463 		if (yych <= 0x1F) {
4464 			if (yych <= '\n') {
4465 				if (yych <= 0x08) goto yy231;
4466 				if (yych <= '\t') goto yy305;
4467 				goto yy304;
4468 			} else {
4469 				if (yych == '\r') goto yy308;
4470 				goto yy231;
4471 			}
4472 		} else {
4473 			if (yych <= '"') {
4474 				if (yych <= ' ') goto yy305;
4475 				if (yych <= '!') goto yy231;
4476 			} else {
4477 				if (yych == ';') goto yy283;
4478 				goto yy231;
4479 			}
4480 		}
4481 		YYDEBUG(307, *YYCURSOR);
4482 		yych = *++YYCURSOR;
4483 		goto yy238;
4484 yy308:
4485 		YYDEBUG(308, *YYCURSOR);
4486 		++YYCURSOR;
4487 		if ((yych = *YYCURSOR) == '\n') goto yy304;
4488 		goto yy233;
4489 	}
4490 /* *********************************** */
4491 yyc_ST_VARNAME:
4492 	{
4493 		static const unsigned char yybm[] = {
4494 			128, 128, 128, 128, 128, 128, 128, 128,
4495 			128,   0,   0, 128, 128,   0, 128, 128,
4496 			128, 128, 128, 128, 128, 128, 128, 128,
4497 			128, 128, 128, 128, 128, 128, 128, 128,
4498 			128,   0,   0, 128,   0, 128,   0, 128,
4499 			  0,   0, 128, 128, 128, 128, 128, 128,
4500 			128, 128, 128, 128, 128, 128, 128, 128,
4501 			128, 128, 128,   0, 128,   0, 128, 128,
4502 			128, 128, 128, 128, 128, 128, 128, 128,
4503 			128, 128, 128, 128, 128, 128, 128, 128,
4504 			128, 128, 128, 128, 128, 128, 128, 128,
4505 			128, 128, 128,   0, 128, 128, 128, 128,
4506 			128, 128, 128, 128, 128, 128, 128, 128,
4507 			128, 128, 128, 128, 128, 128, 128, 128,
4508 			128, 128, 128, 128, 128, 128, 128, 128,
4509 			128, 128, 128,   0,   0,   0,   0, 128,
4510 			128, 128, 128, 128, 128, 128, 128, 128,
4511 			128, 128, 128, 128, 128, 128, 128, 128,
4512 			128, 128, 128, 128, 128, 128, 128, 128,
4513 			128, 128, 128, 128, 128, 128, 128, 128,
4514 			128, 128, 128, 128, 128, 128, 128, 128,
4515 			128, 128, 128, 128, 128, 128, 128, 128,
4516 			128, 128, 128, 128, 128, 128, 128, 128,
4517 			128, 128, 128, 128, 128, 128, 128, 128,
4518 			128, 128, 128, 128, 128, 128, 128, 128,
4519 			128, 128, 128, 128, 128, 128, 128, 128,
4520 			128, 128, 128, 128, 128, 128, 128, 128,
4521 			128, 128, 128, 128, 128, 128, 128, 128,
4522 			128, 128, 128, 128, 128, 128, 128, 128,
4523 			128, 128, 128, 128, 128, 128, 128, 128,
4524 			128, 128, 128, 128, 128, 128, 128, 128,
4525 			128, 128, 128, 128, 128, 128, 128, 128,
4526 		};
4527 		YYDEBUG(309, *YYCURSOR);
4528 		YYFILL(2);
4529 		yych = *YYCURSOR;
4530 		if (yych <= '\'') {
4531 			if (yych <= ' ') {
4532 				if (yych <= '\n') {
4533 					if (yych >= '\t') goto yy313;
4534 				} else {
4535 					if (yych == '\r') goto yy313;
4536 				}
4537 			} else {
4538 				if (yych <= '$') {
4539 					if (yych != '#') goto yy313;
4540 				} else {
4541 					if (yych == '&') goto yy313;
4542 				}
4543 			}
4544 		} else {
4545 			if (yych <= 'Z') {
4546 				if (yych <= ';') {
4547 					if (yych <= ')') goto yy313;
4548 					if (yych >= ';') goto yy313;
4549 				} else {
4550 					if (yych == '=') goto yy313;
4551 				}
4552 			} else {
4553 				if (yych <= '|') {
4554 					if (yych <= '[') goto yy313;
4555 					if (yych >= '{') goto yy313;
4556 				} else {
4557 					if (yych <= '}') goto yy315;
4558 					if (yych <= '~') goto yy313;
4559 				}
4560 			}
4561 		}
4562 		YYDEBUG(311, *YYCURSOR);
4563 		++YYCURSOR;
4564 		yych = *YYCURSOR;
4565 		goto yy318;
4566 yy312:
4567 		YYDEBUG(312, *YYCURSOR);
4568 		yyleng = YYCURSOR - SCNG(yy_text);
4569 #line 406 "Zend/zend_ini_scanner.l"
4570 		{ /* Variable name */
4571 	/* Eat leading whitespace */
4572 	EAT_LEADING_WHITESPACE();
4573 
4574 	/* Eat trailing whitespace */
4575 	EAT_TRAILING_WHITESPACE();
4576 
4577 	RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
4578 }
4579 #line 4580 "Zend/zend_ini_scanner.c"
4580 yy313:
4581 		YYDEBUG(313, *YYCURSOR);
4582 		++YYCURSOR;
4583 		YYDEBUG(314, *YYCURSOR);
4584 		yyleng = YYCURSOR - SCNG(yy_text);
4585 #line 603 "Zend/zend_ini_scanner.l"
4586 		{
4587 	return 0;
4588 }
4589 #line 4590 "Zend/zend_ini_scanner.c"
4590 yy315:
4591 		YYDEBUG(315, *YYCURSOR);
4592 		++YYCURSOR;
4593 		YYDEBUG(316, *YYCURSOR);
4594 		yyleng = YYCURSOR - SCNG(yy_text);
4595 #line 416 "Zend/zend_ini_scanner.l"
4596 		{ /* Variable end */
4597 	yy_pop_state(TSRMLS_C);
4598 	return '}';
4599 }
4600 #line 4601 "Zend/zend_ini_scanner.c"
4601 yy317:
4602 		YYDEBUG(317, *YYCURSOR);
4603 		++YYCURSOR;
4604 		YYFILL(1);
4605 		yych = *YYCURSOR;
4606 yy318:
4607 		YYDEBUG(318, *YYCURSOR);
4608 		if (yybm[0+yych] & 128) {
4609 			goto yy317;
4610 		}
4611 		goto yy312;
4612 	}
4613 }
4614 #line 607 "Zend/zend_ini_scanner.l"
4615 
4616 }
4617