1 <?php
2 /**
3 * Smarty Internal Plugin Templateparser
4 *
5 * This is the template parser.
6 * It is generated from the internal.templateparser.y file
7 * @package Smarty
8 * @subpackage Compiler
9 * @author Uwe Tews
10 */
12 class TP_yyToken implements ArrayAccess
13 {
14 public $string = '';
15 public $metadata = array();
17 function __construct($s, $m = array())
18 {
19 if ($s instanceof TP_yyToken) {
20 $this->string = $s->string;
21 $this->metadata = $s->metadata;
22 } else {
23 $this->string = (string) $s;
24 if ($m instanceof TP_yyToken) {
25 $this->metadata = $m->metadata;
26 } elseif (is_array($m)) {
27 $this->metadata = $m;
28 }
29 }
30 }
32 function __toString()
33 {
34 return $this->_string;
35 }
37 function offsetExists($offset)
38 {
39 return isset($this->metadata[$offset]);
40 }
42 function offsetGet($offset)
43 {
44 return $this->metadata[$offset];
45 }
47 function offsetSet($offset, $value)
48 {
49 if ($offset === null) {
50 if (isset($value[0])) {
51 $x = ($value instanceof TP_yyToken) ?
52 $value->metadata : $value;
53 $this->metadata = array_merge($this->metadata, $x);
54 return;
55 }
56 $offset = count($this->metadata);
57 }
58 if ($value === null) {
59 return;
60 }
61 if ($value instanceof TP_yyToken) {
62 if ($value->metadata) {
63 $this->metadata[$offset] = $value->metadata;
64 }
65 } elseif ($value) {
66 $this->metadata[$offset] = $value;
67 }
68 }
70 function offsetUnset($offset)
71 {
72 unset($this->metadata[$offset]);
73 }
74 }
76 class TP_yyStackEntry
77 {
78 public $stateno; /* The state-number */
79 public $major; /* The major token value. This is the code
80 ** number for the token at this stack level */
81 public $minor; /* The user-supplied minor token value. This
82 ** is the value of the token */
83 };
86 #line 12 "smarty_internal_templateparser.y"
87 class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php"
88 {
89 #line 14 "smarty_internal_templateparser.y"
91 const Err1 = "Security error: Call to private object member not allowed";
92 const Err2 = "Security error: Call to dynamic object member not allowed";
93 const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
94 // states whether the parse was successful or not
95 public $successful = true;
96 public $retvalue = 0;
97 private $lex;
98 private $internalError = false;
100 function __construct($lex, $compiler) {
101 $this->lex = $lex;
102 $this->compiler = $compiler;
103 $this->smarty = $this->compiler->smarty;
104 $this->template = $this->compiler->template;
105 $this->compiler->has_variable_string = false;
106 $this->compiler->prefix_code = array();
107 $this->prefix_number = 0;
108 $this->block_nesting_level = 0;
109 if ($this->security = isset($this->smarty->security_policy)) {
110 $this->php_handling = $this->smarty->security_policy->php_handling;
111 } else {
112 $this->php_handling = $this->smarty->php_handling;
113 }
114 $this->is_xml = false;
115 $this->asp_tags = (ini_get('asp_tags') != '0');
116 $this->current_buffer = $this->root_buffer = new _smarty_template_buffer($this);
117 }
119 public static function escape_start_tag($tag_text) {
120 $tag = preg_replace('/\A<\?(.*)\z/', '<<?php ?>?\1', $tag_text, -1 , $count); //Escape tag
121 return $tag;
122 }
124 public static function escape_end_tag($tag_text) {
125 return '?<?php ?>>';
126 }
128 public function compileVariable($variable) {
129 if (strpos($variable,'(') == 0) {
130 // not a variable variable
131 $var = trim($variable,'\'');
132 $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable($var, null, true, false)->nocache;
133 $this->template->properties['variables'][$var] = $this->compiler->tag_nocache|$this->compiler->nocache;
134 }
135 // return '(isset($_smarty_tpl->tpl_vars['. $variable .'])?$_smarty_tpl->tpl_vars['. $variable .']->value:$_smarty_tpl->getVariable('. $variable .')->value)';
136 return '$_smarty_tpl->tpl_vars['. $variable .']->value';
137 }
138 #line 131 "smarty_internal_templateparser.php"
140 const TP_VERT = 1;
141 const TP_COLON = 2;
142 const TP_COMMENT = 3;
143 const TP_PHPSTARTTAG = 4;
144 const TP_PHPENDTAG = 5;
145 const TP_ASPSTARTTAG = 6;
146 const TP_ASPENDTAG = 7;
147 const TP_FAKEPHPSTARTTAG = 8;
148 const TP_XMLTAG = 9;
149 const TP_OTHER = 10;
150 const TP_LINEBREAK = 11;
151 const TP_LITERALSTART = 12;
152 const TP_LITERALEND = 13;
153 const TP_LITERAL = 14;
154 const TP_LDEL = 15;
155 const TP_RDEL = 16;
156 const TP_DOLLAR = 17;
157 const TP_ID = 18;
158 const TP_EQUAL = 19;
159 const TP_PTR = 20;
160 const TP_LDELIF = 21;
161 const TP_LDELFOR = 22;
162 const TP_SEMICOLON = 23;
163 const TP_INCDEC = 24;
164 const TP_TO = 25;
165 const TP_STEP = 26;
166 const TP_LDELFOREACH = 27;
167 const TP_SPACE = 28;
168 const TP_AS = 29;
169 const TP_APTR = 30;
170 const TP_LDELSETFILTER = 31;
171 const TP_SMARTYBLOCKCHILD = 32;
172 const TP_LDELSLASH = 33;
173 const TP_INTEGER = 34;
174 const TP_COMMA = 35;
175 const TP_OPENP = 36;
176 const TP_CLOSEP = 37;
177 const TP_MATH = 38;
178 const TP_UNIMATH = 39;
179 const TP_ANDSYM = 40;
180 const TP_ISIN = 41;
181 const TP_ISDIVBY = 42;
182 const TP_ISNOTDIVBY = 43;
183 const TP_ISEVEN = 44;
184 const TP_ISNOTEVEN = 45;
185 const TP_ISEVENBY = 46;
186 const TP_ISNOTEVENBY = 47;
187 const TP_ISODD = 48;
188 const TP_ISNOTODD = 49;
189 const TP_ISODDBY = 50;
190 const TP_ISNOTODDBY = 51;
191 const TP_INSTANCEOF = 52;
192 const TP_QMARK = 53;
193 const TP_NOT = 54;
194 const TP_TYPECAST = 55;
195 const TP_HEX = 56;
196 const TP_DOT = 57;
197 const TP_SINGLEQUOTESTRING = 58;
198 const TP_DOUBLECOLON = 59;
199 const TP_AT = 60;
200 const TP_HATCH = 61;
201 const TP_OPENB = 62;
202 const TP_CLOSEB = 63;
203 const TP_EQUALS = 64;
204 const TP_NOTEQUALS = 65;
205 const TP_GREATERTHAN = 66;
206 const TP_LESSTHAN = 67;
207 const TP_GREATEREQUAL = 68;
208 const TP_LESSEQUAL = 69;
209 const TP_IDENTITY = 70;
210 const TP_NONEIDENTITY = 71;
211 const TP_MOD = 72;
212 const TP_LAND = 73;
213 const TP_LOR = 74;
214 const TP_LXOR = 75;
215 const TP_QUOTE = 76;
216 const TP_BACKTICK = 77;
217 const TP_DOLLARID = 78;
218 const YY_NO_ACTION = 590;
219 const YY_ACCEPT_ACTION = 589;
220 const YY_ERROR_ACTION = 588;
222 const YY_SZ_ACTTAB = 2393;
223 static public $yy_action = array(
224 /* 0 */ 211, 316, 317, 319, 318, 315, 314, 310, 309, 311,
225 /* 10 */ 312, 313, 320, 189, 304, 161, 38, 589, 95, 265,
226 /* 20 */ 317, 319, 7, 106, 289, 37, 26, 30, 146, 283,
227 /* 30 */ 10, 285, 250, 286, 238, 280, 287, 49, 48, 46,
228 /* 40 */ 45, 20, 29, 365, 366, 28, 32, 373, 374, 15,
229 /* 50 */ 11, 328, 323, 322, 324, 327, 231, 211, 4, 189,
230 /* 60 */ 329, 332, 211, 382, 383, 384, 385, 381, 380, 376,
231 /* 70 */ 375, 377, 281, 378, 379, 211, 360, 450, 180, 251,
232 /* 80 */ 117, 144, 196, 74, 135, 260, 17, 451, 26, 30,
233 /* 90 */ 307, 283, 299, 361, 35, 158, 225, 368, 362, 451,
234 /* 100 */ 343, 30, 30, 226, 44, 203, 285, 4, 47, 203,
235 /* 110 */ 218, 259, 49, 48, 46, 45, 20, 29, 365, 366,
236 /* 120 */ 28, 32, 373, 374, 15, 11, 351, 108, 176, 334,
237 /* 130 */ 144, 193, 337, 23, 129, 134, 371, 289, 382, 383,
238 /* 140 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379,
239 /* 150 */ 211, 360, 372, 26, 203, 142, 283, 31, 68, 122,
240 /* 160 */ 242, 26, 109, 353, 283, 346, 454, 299, 361, 25,
241 /* 170 */ 185, 225, 368, 362, 30, 343, 239, 30, 454, 289,
242 /* 180 */ 4, 41, 26, 143, 165, 283, 4, 49, 48, 46,
243 /* 190 */ 45, 20, 29, 365, 366, 28, 32, 373, 374, 15,
244 /* 200 */ 11, 101, 160, 144, 26, 208, 34, 283, 31, 144,
245 /* 210 */ 8, 289, 4, 382, 383, 384, 385, 381, 380, 376,
246 /* 220 */ 375, 377, 281, 378, 379, 211, 360, 227, 203, 357,
247 /* 230 */ 142, 197, 19, 73, 135, 144, 211, 302, 9, 158,
248 /* 240 */ 340, 26, 299, 361, 283, 158, 225, 368, 362, 228,
249 /* 250 */ 343, 294, 30, 6, 331, 235, 330, 221, 195, 337,
250 /* 260 */ 126, 240, 49, 48, 46, 45, 20, 29, 365, 366,
251 /* 270 */ 28, 32, 373, 374, 15, 11, 211, 16, 129, 244,
252 /* 280 */ 249, 219, 208, 192, 337, 302, 228, 8, 382, 383,
253 /* 290 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379,
254 /* 300 */ 163, 211, 107, 188, 105, 40, 40, 266, 277, 289,
255 /* 310 */ 241, 232, 289, 49, 48, 46, 45, 20, 29, 365,
256 /* 320 */ 366, 28, 32, 373, 374, 15, 11, 211, 168, 203,
257 /* 330 */ 40, 2, 278, 167, 175, 244, 242, 289, 350, 382,
258 /* 340 */ 383, 384, 385, 381, 380, 376, 375, 377, 281, 378,
259 /* 350 */ 379, 191, 47, 184, 204, 234, 169, 198, 287, 386,
260 /* 360 */ 203, 203, 289, 124, 49, 48, 46, 45, 20, 29,
261 /* 370 */ 365, 366, 28, 32, 373, 374, 15, 11, 211, 204,
262 /* 380 */ 182, 26, 26, 26, 283, 212, 224, 118, 131, 289,
263 /* 390 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281,
264 /* 400 */ 378, 379, 370, 172, 244, 270, 204, 130, 211, 164,
265 /* 410 */ 26, 287, 289, 229, 178, 49, 48, 46, 45, 20,
266 /* 420 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 204,
267 /* 430 */ 364, 298, 5, 26, 100, 30, 247, 148, 148, 99,
268 /* 440 */ 159, 382, 383, 384, 385, 381, 380, 376, 375, 377,
269 /* 450 */ 281, 378, 379, 211, 354, 370, 360, 174, 26, 369,
270 /* 460 */ 142, 283, 360, 73, 135, 158, 157, 123, 24, 155,
271 /* 470 */ 135, 30, 299, 361, 211, 190, 225, 368, 362, 272,
272 /* 480 */ 343, 252, 225, 368, 362, 343, 343, 222, 223, 306,
273 /* 490 */ 49, 48, 46, 45, 20, 29, 365, 366, 28, 32,
274 /* 500 */ 373, 374, 15, 11, 129, 43, 236, 9, 269, 258,
275 /* 510 */ 199, 133, 33, 14, 202, 103, 382, 383, 384, 385,
276 /* 520 */ 381, 380, 376, 375, 377, 281, 378, 379, 211, 360,
277 /* 530 */ 370, 170, 262, 142, 360, 36, 73, 135, 151, 141,
278 /* 540 */ 289, 245, 135, 276, 211, 299, 361, 211, 44, 225,
279 /* 550 */ 368, 362, 287, 343, 225, 368, 362, 119, 343, 295,
280 /* 560 */ 216, 267, 282, 296, 211, 49, 48, 46, 45, 20,
281 /* 570 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 284,
282 /* 580 */ 181, 223, 333, 138, 302, 236, 297, 6, 127, 289,
283 /* 590 */ 116, 382, 383, 384, 385, 381, 380, 376, 375, 377,
284 /* 600 */ 281, 378, 379, 211, 360, 370, 177, 94, 142, 303,
285 /* 610 */ 292, 54, 122, 139, 162, 289, 150, 261, 264, 293,
286 /* 620 */ 299, 361, 30, 289, 225, 368, 362, 287, 343, 30,
287 /* 630 */ 287, 30, 132, 300, 308, 287, 158, 211, 30, 334,
288 /* 640 */ 49, 48, 46, 45, 20, 29, 365, 366, 28, 32,
289 /* 650 */ 373, 374, 15, 11, 211, 204, 166, 12, 275, 287,
290 /* 660 */ 273, 248, 342, 98, 97, 113, 382, 383, 384, 385,
291 /* 670 */ 381, 380, 376, 375, 377, 281, 378, 379, 370, 370,
292 /* 680 */ 370, 110, 18, 321, 324, 324, 324, 324, 324, 324,
293 /* 690 */ 246, 49, 48, 46, 45, 20, 29, 365, 366, 28,
294 /* 700 */ 32, 373, 374, 15, 11, 211, 324, 324, 324, 324,
295 /* 710 */ 324, 324, 324, 324, 112, 136, 104, 382, 383, 384,
296 /* 720 */ 385, 381, 380, 376, 375, 377, 281, 378, 379, 370,
297 /* 730 */ 370, 370, 324, 324, 324, 324, 324, 324, 324, 324,
298 /* 740 */ 324, 256, 49, 48, 46, 45, 20, 29, 365, 366,
299 /* 750 */ 28, 32, 373, 374, 15, 11, 211, 324, 324, 324,
300 /* 760 */ 324, 324, 324, 324, 324, 324, 324, 324, 382, 383,
301 /* 770 */ 384, 385, 381, 380, 376, 375, 377, 281, 378, 379,
302 /* 780 */ 351, 324, 324, 30, 324, 324, 324, 324, 324, 324,
303 /* 790 */ 324, 324, 324, 49, 48, 46, 45, 20, 29, 365,
304 /* 800 */ 366, 28, 32, 373, 374, 15, 11, 211, 324, 324,
305 /* 810 */ 324, 324, 324, 324, 324, 324, 324, 355, 324, 382,
306 /* 820 */ 383, 384, 385, 381, 380, 376, 375, 377, 281, 378,
307 /* 830 */ 379, 324, 324, 324, 324, 324, 324, 324, 324, 324,
308 /* 840 */ 324, 324, 324, 324, 49, 48, 46, 45, 20, 29,
309 /* 850 */ 365, 366, 28, 32, 373, 374, 15, 11, 324, 324,
310 /* 860 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 257,
311 /* 870 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281,
312 /* 880 */ 378, 379, 211, 324, 324, 324, 194, 360, 211, 288,
313 /* 890 */ 255, 145, 324, 352, 336, 135, 324, 200, 42, 22,
314 /* 900 */ 27, 30, 30, 341, 7, 106, 30, 225, 368, 362,
315 /* 910 */ 146, 343, 324, 203, 250, 286, 238, 324, 211, 49,
316 /* 920 */ 48, 46, 45, 20, 29, 365, 366, 28, 32, 373,
317 /* 930 */ 374, 15, 11, 305, 324, 324, 324, 324, 324, 47,
318 /* 940 */ 324, 324, 324, 324, 324, 382, 383, 384, 385, 381,
319 /* 950 */ 380, 376, 375, 377, 281, 378, 379, 211, 324, 359,
320 /* 960 */ 39, 349, 360, 326, 348, 291, 156, 324, 352, 344,
321 /* 970 */ 135, 324, 201, 42, 324, 30, 30, 30, 324, 7,
322 /* 980 */ 106, 30, 225, 368, 362, 146, 343, 324, 324, 250,
323 /* 990 */ 286, 238, 324, 324, 49, 48, 46, 45, 20, 29,
324 /* 1000 */ 365, 366, 28, 32, 373, 374, 15, 11, 211, 324,
325 /* 1010 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
326 /* 1020 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281,
327 /* 1030 */ 378, 379, 324, 324, 358, 39, 349, 324, 324, 324,
328 /* 1040 */ 324, 324, 324, 324, 324, 49, 48, 46, 45, 20,
329 /* 1050 */ 29, 365, 366, 28, 32, 373, 374, 15, 11, 324,
330 /* 1060 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
331 /* 1070 */ 324, 382, 383, 384, 385, 381, 380, 376, 375, 377,
332 /* 1080 */ 281, 378, 379, 324, 49, 48, 46, 45, 20, 29,
333 /* 1090 */ 365, 366, 28, 32, 373, 374, 15, 11, 324, 324,
334 /* 1100 */ 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
335 /* 1110 */ 382, 383, 384, 385, 381, 380, 376, 375, 377, 281,
336 /* 1120 */ 378, 379, 324, 324, 324, 324, 38, 324, 140, 207,
337 /* 1130 */ 324, 360, 7, 106, 290, 147, 324, 356, 146, 135,
338 /* 1140 */ 324, 324, 250, 286, 238, 230, 30, 13, 367, 30,
339 /* 1150 */ 51, 225, 368, 362, 324, 343, 360, 324, 324, 324,
340 /* 1160 */ 152, 324, 324, 324, 135, 50, 52, 301, 237, 363,
341 /* 1170 */ 324, 360, 105, 1, 254, 154, 225, 368, 362, 135,
342 /* 1180 */ 343, 324, 38, 324, 140, 214, 324, 96, 7, 106,
343 /* 1190 */ 279, 225, 368, 362, 146, 343, 347, 345, 250, 286,
344 /* 1200 */ 238, 230, 30, 13, 274, 324, 51, 338, 30, 30,
345 /* 1210 */ 360, 324, 324, 324, 121, 324, 30, 53, 135, 30,
346 /* 1220 */ 211, 50, 52, 301, 237, 363, 299, 361, 105, 1,
347 /* 1230 */ 225, 368, 362, 211, 343, 453, 324, 268, 38, 324,
348 /* 1240 */ 128, 214, 324, 96, 7, 106, 253, 453, 339, 30,
349 /* 1250 */ 146, 335, 233, 324, 250, 286, 238, 230, 30, 3,
350 /* 1260 */ 30, 324, 51, 30, 271, 324, 360, 324, 4, 324,
351 /* 1270 */ 142, 47, 324, 84, 135, 324, 30, 50, 52, 301,
352 /* 1280 */ 237, 363, 299, 361, 105, 1, 225, 368, 362, 324,
353 /* 1290 */ 343, 144, 324, 324, 38, 324, 125, 92, 324, 96,
354 /* 1300 */ 7, 106, 324, 324, 324, 324, 146, 324, 324, 324,
355 /* 1310 */ 250, 286, 238, 230, 324, 13, 324, 324, 51, 324,
356 /* 1320 */ 324, 324, 360, 324, 324, 324, 142, 324, 324, 89,
357 /* 1330 */ 135, 324, 211, 50, 52, 301, 237, 363, 299, 361,
358 /* 1340 */ 105, 1, 225, 368, 362, 324, 343, 456, 324, 324,
359 /* 1350 */ 38, 324, 126, 214, 324, 96, 7, 106, 324, 456,
360 /* 1360 */ 243, 324, 146, 324, 324, 324, 250, 286, 238, 230,
361 /* 1370 */ 324, 21, 324, 324, 51, 324, 324, 324, 360, 324,
362 /* 1380 */ 324, 324, 142, 47, 324, 87, 135, 324, 211, 50,
363 /* 1390 */ 52, 301, 237, 363, 299, 361, 105, 1, 225, 368,
364 /* 1400 */ 362, 324, 343, 456, 324, 324, 38, 324, 140, 210,
365 /* 1410 */ 324, 96, 7, 106, 324, 456, 324, 324, 146, 324,
366 /* 1420 */ 324, 324, 250, 286, 238, 230, 324, 13, 324, 324,
367 /* 1430 */ 51, 324, 324, 324, 360, 324, 324, 324, 142, 47,
368 /* 1440 */ 324, 63, 135, 324, 211, 50, 52, 301, 237, 363,
369 /* 1450 */ 299, 361, 105, 1, 225, 368, 362, 324, 343, 325,
370 /* 1460 */ 324, 324, 38, 324, 137, 214, 324, 96, 7, 106,
371 /* 1470 */ 324, 30, 324, 324, 146, 324, 324, 324, 250, 286,
372 /* 1480 */ 238, 230, 324, 13, 324, 324, 51, 324, 324, 324,
373 /* 1490 */ 360, 324, 324, 324, 142, 47, 324, 80, 135, 324,
374 /* 1500 */ 324, 50, 52, 301, 237, 363, 299, 361, 105, 1,
375 /* 1510 */ 225, 368, 362, 324, 343, 324, 324, 324, 38, 324,
376 /* 1520 */ 140, 206, 324, 96, 7, 106, 324, 324, 324, 324,
377 /* 1530 */ 146, 324, 324, 324, 250, 286, 238, 220, 324, 13,
378 /* 1540 */ 324, 324, 51, 324, 324, 324, 360, 324, 324, 324,
379 /* 1550 */ 114, 324, 324, 75, 135, 324, 324, 50, 52, 301,
380 /* 1560 */ 237, 363, 299, 361, 105, 1, 225, 368, 362, 324,
381 /* 1570 */ 343, 324, 324, 324, 38, 324, 140, 205, 324, 96,
382 /* 1580 */ 7, 106, 324, 324, 324, 324, 146, 324, 324, 324,
383 /* 1590 */ 250, 286, 238, 230, 324, 13, 324, 324, 51, 324,
384 /* 1600 */ 324, 324, 360, 324, 324, 324, 142, 324, 324, 77,
385 /* 1610 */ 135, 324, 324, 50, 52, 301, 237, 363, 299, 361,
386 /* 1620 */ 105, 1, 225, 368, 362, 324, 343, 324, 324, 324,
387 /* 1630 */ 38, 324, 140, 209, 324, 96, 7, 106, 324, 324,
388 /* 1640 */ 324, 324, 146, 324, 324, 324, 250, 286, 238, 230,
389 /* 1650 */ 324, 13, 324, 324, 51, 324, 324, 324, 360, 324,
390 /* 1660 */ 324, 324, 142, 324, 324, 85, 135, 324, 324, 50,
391 /* 1670 */ 52, 301, 237, 363, 299, 361, 105, 1, 225, 368,
392 /* 1680 */ 362, 324, 343, 324, 324, 324, 38, 324, 126, 213,
393 /* 1690 */ 324, 96, 7, 106, 324, 324, 324, 324, 146, 324,
394 /* 1700 */ 324, 324, 250, 286, 238, 230, 324, 21, 324, 324,
395 /* 1710 */ 51, 324, 324, 324, 360, 324, 324, 324, 142, 324,
396 /* 1720 */ 324, 71, 135, 324, 324, 50, 52, 301, 237, 363,
397 /* 1730 */ 299, 361, 105, 324, 225, 368, 362, 324, 343, 324,
398 /* 1740 */ 324, 324, 38, 324, 126, 214, 324, 96, 7, 106,
399 /* 1750 */ 324, 324, 324, 324, 146, 324, 324, 324, 250, 286,
400 /* 1760 */ 238, 230, 324, 21, 102, 186, 51, 324, 324, 324,
401 /* 1770 */ 324, 324, 324, 324, 289, 324, 324, 22, 27, 324,
402 /* 1780 */ 499, 50, 52, 301, 237, 363, 324, 499, 105, 499,
403 /* 1790 */ 499, 203, 499, 499, 324, 324, 324, 324, 324, 499,
404 /* 1800 */ 4, 499, 324, 96, 324, 324, 324, 324, 324, 324,
405 /* 1810 */ 324, 324, 324, 360, 324, 324, 499, 117, 324, 324,
406 /* 1820 */ 74, 135, 324, 144, 324, 324, 324, 499, 324, 299,
407 /* 1830 */ 361, 324, 324, 225, 368, 362, 324, 343, 360, 324,
408 /* 1840 */ 324, 499, 142, 324, 324, 66, 135, 324, 263, 324,
409 /* 1850 */ 324, 324, 324, 324, 299, 361, 324, 324, 225, 368,
410 /* 1860 */ 362, 324, 343, 324, 360, 324, 324, 324, 142, 324,
411 /* 1870 */ 324, 79, 135, 324, 360, 324, 324, 324, 149, 324,
412 /* 1880 */ 299, 361, 135, 360, 225, 368, 362, 142, 343, 324,
413 /* 1890 */ 81, 135, 324, 324, 225, 368, 362, 324, 343, 299,
414 /* 1900 */ 361, 324, 324, 225, 368, 362, 324, 343, 324, 324,
415 /* 1910 */ 324, 360, 324, 324, 324, 115, 324, 324, 83, 135,
416 /* 1920 */ 324, 324, 360, 324, 324, 324, 142, 299, 361, 72,
417 /* 1930 */ 135, 225, 368, 362, 324, 343, 324, 324, 299, 361,
418 /* 1940 */ 324, 324, 225, 368, 362, 324, 343, 324, 360, 324,
419 /* 1950 */ 324, 324, 142, 324, 324, 70, 135, 324, 360, 324,
420 /* 1960 */ 324, 324, 153, 324, 299, 361, 135, 360, 225, 368,
421 /* 1970 */ 362, 142, 343, 324, 68, 135, 324, 324, 225, 368,
422 /* 1980 */ 362, 324, 343, 299, 361, 324, 324, 225, 368, 362,
423 /* 1990 */ 324, 343, 324, 324, 324, 360, 324, 324, 324, 142,
424 /* 2000 */ 324, 324, 90, 135, 324, 324, 360, 324, 324, 324,
425 /* 2010 */ 142, 299, 361, 86, 135, 225, 368, 362, 324, 343,
426 /* 2020 */ 324, 324, 299, 361, 324, 324, 225, 368, 362, 324,
427 /* 2030 */ 343, 324, 360, 194, 183, 324, 142, 324, 324, 91,
428 /* 2040 */ 135, 324, 324, 289, 324, 324, 22, 27, 299, 361,
429 /* 2050 */ 324, 360, 225, 368, 362, 142, 343, 324, 61, 135,
430 /* 2060 */ 203, 324, 324, 324, 194, 171, 324, 299, 361, 324,
431 /* 2070 */ 324, 225, 368, 362, 289, 343, 324, 22, 27, 360,
432 /* 2080 */ 324, 324, 324, 142, 324, 324, 88, 135, 324, 324,
433 /* 2090 */ 360, 203, 324, 324, 142, 299, 361, 69, 135, 225,
434 /* 2100 */ 368, 362, 324, 343, 324, 324, 299, 361, 324, 324,
435 /* 2110 */ 225, 368, 362, 324, 343, 324, 360, 194, 179, 324,
436 /* 2120 */ 142, 324, 324, 76, 135, 324, 324, 289, 324, 324,
437 /* 2130 */ 22, 27, 299, 361, 324, 360, 225, 368, 362, 142,
438 /* 2140 */ 343, 324, 65, 135, 203, 324, 324, 324, 194, 187,
439 /* 2150 */ 324, 299, 361, 324, 324, 225, 368, 362, 289, 343,
440 /* 2160 */ 324, 22, 27, 360, 324, 324, 324, 111, 324, 324,
441 /* 2170 */ 64, 135, 324, 324, 360, 203, 324, 324, 142, 299,
442 /* 2180 */ 361, 62, 135, 225, 368, 362, 324, 343, 324, 324,
443 /* 2190 */ 299, 361, 324, 324, 225, 368, 362, 324, 343, 324,
444 /* 2200 */ 360, 194, 173, 324, 142, 324, 324, 82, 135, 324,
445 /* 2210 */ 324, 289, 324, 324, 22, 27, 299, 361, 324, 360,
446 /* 2220 */ 225, 368, 362, 142, 343, 324, 60, 135, 203, 324,
447 /* 2230 */ 324, 324, 324, 324, 324, 299, 361, 324, 324, 225,
448 /* 2240 */ 368, 362, 324, 343, 324, 324, 324, 360, 324, 324,
449 /* 2250 */ 324, 93, 324, 324, 57, 120, 324, 324, 360, 324,
450 /* 2260 */ 324, 324, 142, 299, 361, 58, 135, 225, 368, 362,
451 /* 2270 */ 324, 343, 324, 324, 299, 361, 324, 324, 225, 368,
452 /* 2280 */ 362, 324, 343, 324, 360, 324, 324, 324, 142, 324,
453 /* 2290 */ 324, 59, 135, 324, 324, 324, 324, 324, 324, 324,
454 /* 2300 */ 299, 361, 324, 360, 225, 368, 362, 93, 343, 324,
455 /* 2310 */ 55, 120, 324, 324, 324, 324, 324, 324, 324, 299,
456 /* 2320 */ 361, 324, 324, 215, 368, 362, 324, 343, 324, 324,
457 /* 2330 */ 324, 360, 324, 324, 324, 142, 324, 324, 56, 135,
458 /* 2340 */ 324, 324, 360, 324, 324, 324, 142, 299, 361, 78,
459 /* 2350 */ 135, 225, 368, 362, 324, 343, 324, 324, 299, 361,
460 /* 2360 */ 324, 324, 225, 368, 362, 324, 343, 324, 360, 324,
461 /* 2370 */ 324, 324, 142, 324, 324, 67, 135, 324, 324, 324,
462 /* 2380 */ 324, 324, 324, 324, 299, 361, 324, 324, 217, 368,
463 /* 2390 */ 362, 324, 343,
464 );
465 static public $yy_lookahead = array(
466 /* 0 */ 1, 82, 83, 84, 3, 4, 5, 6, 7, 8,
467 /* 10 */ 9, 10, 11, 12, 18, 89, 15, 80, 81, 82,
468 /* 20 */ 83, 84, 21, 22, 98, 26, 15, 28, 27, 18,
469 /* 30 */ 19, 116, 31, 32, 33, 24, 110, 38, 39, 40,
470 /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
471 /* 50 */ 51, 4, 5, 6, 7, 8, 60, 1, 36, 12,
472 /* 60 */ 13, 14, 1, 64, 65, 66, 67, 68, 69, 70,
473 /* 70 */ 71, 72, 73, 74, 75, 1, 83, 16, 88, 57,
474 /* 80 */ 87, 59, 88, 90, 91, 63, 30, 16, 15, 28,
475 /* 90 */ 16, 18, 99, 100, 19, 20, 103, 104, 105, 28,
476 /* 100 */ 107, 28, 28, 30, 2, 115, 116, 36, 52, 115,
477 /* 110 */ 117, 118, 38, 39, 40, 41, 42, 43, 44, 45,
478 /* 120 */ 46, 47, 48, 49, 50, 51, 83, 88, 89, 109,
479 /* 130 */ 59, 111, 112, 15, 59, 17, 18, 98, 64, 65,
480 /* 140 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
481 /* 150 */ 1, 83, 34, 15, 115, 87, 18, 19, 90, 91,
482 /* 160 */ 92, 15, 119, 120, 18, 16, 16, 99, 100, 19,
483 /* 170 */ 89, 103, 104, 105, 28, 107, 30, 28, 28, 98,
484 /* 180 */ 36, 15, 15, 17, 18, 18, 36, 38, 39, 40,
485 /* 190 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
486 /* 200 */ 51, 88, 89, 59, 15, 57, 30, 18, 19, 59,
487 /* 210 */ 62, 98, 36, 64, 65, 66, 67, 68, 69, 70,
488 /* 220 */ 71, 72, 73, 74, 75, 1, 83, 60, 115, 16,
489 /* 230 */ 87, 97, 15, 90, 91, 59, 1, 24, 19, 20,
490 /* 240 */ 16, 15, 99, 100, 18, 20, 103, 104, 105, 60,
491 /* 250 */ 107, 16, 28, 36, 84, 20, 86, 114, 111, 112,
492 /* 260 */ 17, 18, 38, 39, 40, 41, 42, 43, 44, 45,
493 /* 270 */ 46, 47, 48, 49, 50, 51, 1, 2, 59, 91,
494 /* 280 */ 92, 93, 57, 111, 112, 24, 60, 62, 64, 65,
495 /* 290 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
496 /* 300 */ 89, 1, 88, 89, 61, 35, 35, 37, 37, 98,
497 /* 310 */ 17, 18, 98, 38, 39, 40, 41, 42, 43, 44,
498 /* 320 */ 45, 46, 47, 48, 49, 50, 51, 1, 89, 115,
499 /* 330 */ 35, 35, 37, 88, 88, 91, 92, 98, 77, 64,
500 /* 340 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
501 /* 350 */ 75, 23, 52, 89, 115, 29, 108, 97, 110, 63,
502 /* 360 */ 115, 115, 98, 35, 38, 39, 40, 41, 42, 43,
503 /* 370 */ 44, 45, 46, 47, 48, 49, 50, 51, 1, 115,
504 /* 380 */ 89, 15, 15, 15, 18, 18, 18, 95, 17, 98,
505 /* 390 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
506 /* 400 */ 74, 75, 110, 89, 91, 92, 115, 36, 1, 108,
507 /* 410 */ 15, 110, 98, 18, 108, 38, 39, 40, 41, 42,
508 /* 420 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 115,
509 /* 430 */ 106, 106, 36, 15, 97, 28, 18, 113, 113, 108,
510 /* 440 */ 95, 64, 65, 66, 67, 68, 69, 70, 71, 72,
511 /* 450 */ 73, 74, 75, 1, 77, 110, 83, 108, 15, 18,
512 /* 460 */ 87, 18, 83, 90, 91, 20, 87, 17, 19, 91,
513 /* 470 */ 91, 28, 99, 100, 1, 23, 103, 104, 105, 100,
514 /* 480 */ 107, 103, 103, 104, 105, 107, 107, 114, 2, 16,
515 /* 490 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
516 /* 500 */ 48, 49, 50, 51, 59, 19, 57, 19, 37, 61,
517 /* 510 */ 18, 17, 53, 2, 18, 95, 64, 65, 66, 67,
518 /* 520 */ 68, 69, 70, 71, 72, 73, 74, 75, 1, 83,
519 /* 530 */ 110, 89, 63, 87, 83, 25, 90, 91, 87, 17,
520 /* 540 */ 98, 18, 91, 16, 1, 99, 100, 1, 2, 103,
521 /* 550 */ 104, 105, 110, 107, 103, 104, 105, 18, 107, 16,
522 /* 560 */ 114, 61, 16, 34, 1, 38, 39, 40, 41, 42,
523 /* 570 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 16,
524 /* 580 */ 89, 2, 18, 17, 24, 57, 34, 36, 17, 98,
525 /* 590 */ 95, 64, 65, 66, 67, 68, 69, 70, 71, 72,
526 /* 600 */ 73, 74, 75, 1, 83, 110, 89, 18, 87, 18,
527 /* 610 */ 16, 90, 91, 92, 89, 98, 96, 16, 16, 16,
528 /* 620 */ 99, 100, 28, 98, 103, 104, 105, 110, 107, 28,
529 /* 630 */ 110, 28, 18, 18, 98, 110, 20, 1, 28, 109,
530 /* 640 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
531 /* 650 */ 48, 49, 50, 51, 1, 115, 108, 28, 113, 110,
532 /* 660 */ 28, 94, 112, 95, 95, 95, 64, 65, 66, 67,
533 /* 670 */ 68, 69, 70, 71, 72, 73, 74, 75, 110, 110,
534 /* 680 */ 110, 85, 94, 13, 121, 121, 121, 121, 121, 121,
535 /* 690 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
536 /* 700 */ 47, 48, 49, 50, 51, 1, 121, 121, 121, 121,
537 /* 710 */ 121, 121, 121, 121, 95, 95, 95, 64, 65, 66,
538 /* 720 */ 67, 68, 69, 70, 71, 72, 73, 74, 75, 110,
539 /* 730 */ 110, 110, 121, 121, 121, 121, 121, 121, 121, 121,
540 /* 740 */ 121, 37, 38, 39, 40, 41, 42, 43, 44, 45,
541 /* 750 */ 46, 47, 48, 49, 50, 51, 1, 121, 121, 121,
542 /* 760 */ 121, 121, 121, 121, 121, 121, 121, 121, 64, 65,
543 /* 770 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
544 /* 780 */ 83, 121, 121, 28, 121, 121, 121, 121, 121, 121,
545 /* 790 */ 121, 121, 121, 38, 39, 40, 41, 42, 43, 44,
546 /* 800 */ 45, 46, 47, 48, 49, 50, 51, 1, 121, 121,
547 /* 810 */ 121, 121, 121, 121, 121, 121, 121, 120, 121, 64,
548 /* 820 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
549 /* 830 */ 75, 121, 121, 121, 121, 121, 121, 121, 121, 121,
550 /* 840 */ 121, 121, 121, 121, 38, 39, 40, 41, 42, 43,
551 /* 850 */ 44, 45, 46, 47, 48, 49, 50, 51, 121, 121,
552 /* 860 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 63,
553 /* 870 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
554 /* 880 */ 74, 75, 1, 121, 121, 121, 88, 83, 1, 16,
555 /* 890 */ 16, 87, 121, 10, 16, 91, 121, 16, 15, 101,
556 /* 900 */ 102, 28, 28, 16, 21, 22, 28, 103, 104, 105,
557 /* 910 */ 27, 107, 121, 115, 31, 32, 33, 121, 1, 38,
558 /* 920 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
559 /* 930 */ 49, 50, 51, 16, 121, 121, 121, 121, 121, 52,
560 /* 940 */ 121, 121, 121, 121, 121, 64, 65, 66, 67, 68,
561 /* 950 */ 69, 70, 71, 72, 73, 74, 75, 1, 121, 76,
562 /* 960 */ 77, 78, 83, 16, 16, 16, 87, 121, 10, 16,
563 /* 970 */ 91, 121, 16, 15, 121, 28, 28, 28, 121, 21,
564 /* 980 */ 22, 28, 103, 104, 105, 27, 107, 121, 121, 31,
565 /* 990 */ 32, 33, 121, 121, 38, 39, 40, 41, 42, 43,
566 /* 1000 */ 44, 45, 46, 47, 48, 49, 50, 51, 1, 121,
567 /* 1010 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
568 /* 1020 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
569 /* 1030 */ 74, 75, 121, 121, 76, 77, 78, 121, 121, 121,
570 /* 1040 */ 121, 121, 121, 121, 121, 38, 39, 40, 41, 42,
571 /* 1050 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 121,
572 /* 1060 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
573 /* 1070 */ 121, 64, 65, 66, 67, 68, 69, 70, 71, 72,
574 /* 1080 */ 73, 74, 75, 121, 38, 39, 40, 41, 42, 43,
575 /* 1090 */ 44, 45, 46, 47, 48, 49, 50, 51, 121, 121,
576 /* 1100 */ 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
577 /* 1110 */ 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
578 /* 1120 */ 74, 75, 121, 121, 121, 121, 15, 121, 17, 18,
579 /* 1130 */ 121, 83, 21, 22, 16, 87, 121, 16, 27, 91,
580 /* 1140 */ 121, 121, 31, 32, 33, 34, 28, 36, 100, 28,
581 /* 1150 */ 39, 103, 104, 105, 121, 107, 83, 121, 121, 121,
582 /* 1160 */ 87, 121, 121, 121, 91, 54, 55, 56, 57, 58,
583 /* 1170 */ 121, 83, 61, 62, 63, 87, 103, 104, 105, 91,
584 /* 1180 */ 107, 121, 15, 121, 17, 18, 121, 76, 21, 22,
585 /* 1190 */ 16, 103, 104, 105, 27, 107, 16, 16, 31, 32,
586 /* 1200 */ 33, 34, 28, 36, 16, 121, 39, 16, 28, 28,
587 /* 1210 */ 83, 121, 121, 121, 87, 121, 28, 90, 91, 28,
588 /* 1220 */ 1, 54, 55, 56, 57, 58, 99, 100, 61, 62,
589 /* 1230 */ 103, 104, 105, 1, 107, 16, 121, 16, 15, 121,
590 /* 1240 */ 17, 18, 121, 76, 21, 22, 16, 28, 16, 28,
591 /* 1250 */ 27, 16, 20, 121, 31, 32, 33, 34, 28, 36,
592 /* 1260 */ 28, 121, 39, 28, 16, 121, 83, 121, 36, 121,
593 /* 1270 */ 87, 52, 121, 90, 91, 121, 28, 54, 55, 56,
594 /* 1280 */ 57, 58, 99, 100, 61, 62, 103, 104, 105, 121,
595 /* 1290 */ 107, 59, 121, 121, 15, 121, 17, 18, 121, 76,
596 /* 1300 */ 21, 22, 121, 121, 121, 121, 27, 121, 121, 121,
597 /* 1310 */ 31, 32, 33, 34, 121, 36, 121, 121, 39, 121,
598 /* 1320 */ 121, 121, 83, 121, 121, 121, 87, 121, 121, 90,
599 /* 1330 */ 91, 121, 1, 54, 55, 56, 57, 58, 99, 100,
600 /* 1340 */ 61, 62, 103, 104, 105, 121, 107, 16, 121, 121,
601 /* 1350 */ 15, 121, 17, 18, 121, 76, 21, 22, 121, 28,
602 /* 1360 */ 29, 121, 27, 121, 121, 121, 31, 32, 33, 34,
603 /* 1370 */ 121, 36, 121, 121, 39, 121, 121, 121, 83, 121,
604 /* 1380 */ 121, 121, 87, 52, 121, 90, 91, 121, 1, 54,
605 /* 1390 */ 55, 56, 57, 58, 99, 100, 61, 62, 103, 104,
606 /* 1400 */ 105, 121, 107, 16, 121, 121, 15, 121, 17, 18,
607 /* 1410 */ 121, 76, 21, 22, 121, 28, 121, 121, 27, 121,
608 /* 1420 */ 121, 121, 31, 32, 33, 34, 121, 36, 121, 121,
609 /* 1430 */ 39, 121, 121, 121, 83, 121, 121, 121, 87, 52,
610 /* 1440 */ 121, 90, 91, 121, 1, 54, 55, 56, 57, 58,
611 /* 1450 */ 99, 100, 61, 62, 103, 104, 105, 121, 107, 16,
612 /* 1460 */ 121, 121, 15, 121, 17, 18, 121, 76, 21, 22,
613 /* 1470 */ 121, 28, 121, 121, 27, 121, 121, 121, 31, 32,
614 /* 1480 */ 33, 34, 121, 36, 121, 121, 39, 121, 121, 121,
615 /* 1490 */ 83, 121, 121, 121, 87, 52, 121, 90, 91, 121,
616 /* 1500 */ 121, 54, 55, 56, 57, 58, 99, 100, 61, 62,
617 /* 1510 */ 103, 104, 105, 121, 107, 121, 121, 121, 15, 121,
618 /* 1520 */ 17, 18, 121, 76, 21, 22, 121, 121, 121, 121,
619 /* 1530 */ 27, 121, 121, 121, 31, 32, 33, 34, 121, 36,
620 /* 1540 */ 121, 121, 39, 121, 121, 121, 83, 121, 121, 121,
621 /* 1550 */ 87, 121, 121, 90, 91, 121, 121, 54, 55, 56,
622 /* 1560 */ 57, 58, 99, 100, 61, 62, 103, 104, 105, 121,
623 /* 1570 */ 107, 121, 121, 121, 15, 121, 17, 18, 121, 76,
624 /* 1580 */ 21, 22, 121, 121, 121, 121, 27, 121, 121, 121,
625 /* 1590 */ 31, 32, 33, 34, 121, 36, 121, 121, 39, 121,
626 /* 1600 */ 121, 121, 83, 121, 121, 121, 87, 121, 121, 90,
627 /* 1610 */ 91, 121, 121, 54, 55, 56, 57, 58, 99, 100,
628 /* 1620 */ 61, 62, 103, 104, 105, 121, 107, 121, 121, 121,
629 /* 1630 */ 15, 121, 17, 18, 121, 76, 21, 22, 121, 121,
630 /* 1640 */ 121, 121, 27, 121, 121, 121, 31, 32, 33, 34,
631 /* 1650 */ 121, 36, 121, 121, 39, 121, 121, 121, 83, 121,
632 /* 1660 */ 121, 121, 87, 121, 121, 90, 91, 121, 121, 54,
633 /* 1670 */ 55, 56, 57, 58, 99, 100, 61, 62, 103, 104,
634 /* 1680 */ 105, 121, 107, 121, 121, 121, 15, 121, 17, 18,
635 /* 1690 */ 121, 76, 21, 22, 121, 121, 121, 121, 27, 121,
636 /* 1700 */ 121, 121, 31, 32, 33, 34, 121, 36, 121, 121,
637 /* 1710 */ 39, 121, 121, 121, 83, 121, 121, 121, 87, 121,
638 /* 1720 */ 121, 90, 91, 121, 121, 54, 55, 56, 57, 58,
639 /* 1730 */ 99, 100, 61, 121, 103, 104, 105, 121, 107, 121,
640 /* 1740 */ 121, 121, 15, 121, 17, 18, 121, 76, 21, 22,
641 /* 1750 */ 121, 121, 121, 121, 27, 121, 121, 121, 31, 32,
642 /* 1760 */ 33, 34, 121, 36, 88, 89, 39, 121, 121, 121,
643 /* 1770 */ 121, 121, 121, 121, 98, 121, 121, 101, 102, 121,
644 /* 1780 */ 16, 54, 55, 56, 57, 58, 121, 23, 61, 25,
645 /* 1790 */ 26, 115, 28, 29, 121, 121, 121, 121, 121, 35,
646 /* 1800 */ 36, 37, 121, 76, 121, 121, 121, 121, 121, 121,
647 /* 1810 */ 121, 121, 121, 83, 121, 121, 52, 87, 121, 121,
648 /* 1820 */ 90, 91, 121, 59, 121, 121, 121, 63, 121, 99,
649 /* 1830 */ 100, 121, 121, 103, 104, 105, 121, 107, 83, 121,
650 /* 1840 */ 121, 77, 87, 121, 121, 90, 91, 121, 118, 121,
651 /* 1850 */ 121, 121, 121, 121, 99, 100, 121, 121, 103, 104,
652 /* 1860 */ 105, 121, 107, 121, 83, 121, 121, 121, 87, 121,
653 /* 1870 */ 121, 90, 91, 121, 83, 121, 121, 121, 87, 121,
654 /* 1880 */ 99, 100, 91, 83, 103, 104, 105, 87, 107, 121,
655 /* 1890 */ 90, 91, 121, 121, 103, 104, 105, 121, 107, 99,
656 /* 1900 */ 100, 121, 121, 103, 104, 105, 121, 107, 121, 121,
657 /* 1910 */ 121, 83, 121, 121, 121, 87, 121, 121, 90, 91,
658 /* 1920 */ 121, 121, 83, 121, 121, 121, 87, 99, 100, 90,
659 /* 1930 */ 91, 103, 104, 105, 121, 107, 121, 121, 99, 100,
660 /* 1940 */ 121, 121, 103, 104, 105, 121, 107, 121, 83, 121,
661 /* 1950 */ 121, 121, 87, 121, 121, 90, 91, 121, 83, 121,
662 /* 1960 */ 121, 121, 87, 121, 99, 100, 91, 83, 103, 104,
663 /* 1970 */ 105, 87, 107, 121, 90, 91, 121, 121, 103, 104,
664 /* 1980 */ 105, 121, 107, 99, 100, 121, 121, 103, 104, 105,
665 /* 1990 */ 121, 107, 121, 121, 121, 83, 121, 121, 121, 87,
666 /* 2000 */ 121, 121, 90, 91, 121, 121, 83, 121, 121, 121,
667 /* 2010 */ 87, 99, 100, 90, 91, 103, 104, 105, 121, 107,
668 /* 2020 */ 121, 121, 99, 100, 121, 121, 103, 104, 105, 121,
669 /* 2030 */ 107, 121, 83, 88, 89, 121, 87, 121, 121, 90,
670 /* 2040 */ 91, 121, 121, 98, 121, 121, 101, 102, 99, 100,
671 /* 2050 */ 121, 83, 103, 104, 105, 87, 107, 121, 90, 91,
672 /* 2060 */ 115, 121, 121, 121, 88, 89, 121, 99, 100, 121,
673 /* 2070 */ 121, 103, 104, 105, 98, 107, 121, 101, 102, 83,
674 /* 2080 */ 121, 121, 121, 87, 121, 121, 90, 91, 121, 121,
675 /* 2090 */ 83, 115, 121, 121, 87, 99, 100, 90, 91, 103,
676 /* 2100 */ 104, 105, 121, 107, 121, 121, 99, 100, 121, 121,
677 /* 2110 */ 103, 104, 105, 121, 107, 121, 83, 88, 89, 121,
678 /* 2120 */ 87, 121, 121, 90, 91, 121, 121, 98, 121, 121,
679 /* 2130 */ 101, 102, 99, 100, 121, 83, 103, 104, 105, 87,
680 /* 2140 */ 107, 121, 90, 91, 115, 121, 121, 121, 88, 89,
681 /* 2150 */ 121, 99, 100, 121, 121, 103, 104, 105, 98, 107,
682 /* 2160 */ 121, 101, 102, 83, 121, 121, 121, 87, 121, 121,
683 /* 2170 */ 90, 91, 121, 121, 83, 115, 121, 121, 87, 99,
684 /* 2180 */ 100, 90, 91, 103, 104, 105, 121, 107, 121, 121,
685 /* 2190 */ 99, 100, 121, 121, 103, 104, 105, 121, 107, 121,
686 /* 2200 */ 83, 88, 89, 121, 87, 121, 121, 90, 91, 121,
687 /* 2210 */ 121, 98, 121, 121, 101, 102, 99, 100, 121, 83,
688 /* 2220 */ 103, 104, 105, 87, 107, 121, 90, 91, 115, 121,
689 /* 2230 */ 121, 121, 121, 121, 121, 99, 100, 121, 121, 103,
690 /* 2240 */ 104, 105, 121, 107, 121, 121, 121, 83, 121, 121,
691 /* 2250 */ 121, 87, 121, 121, 90, 91, 121, 121, 83, 121,
692 /* 2260 */ 121, 121, 87, 99, 100, 90, 91, 103, 104, 105,
693 /* 2270 */ 121, 107, 121, 121, 99, 100, 121, 121, 103, 104,
694 /* 2280 */ 105, 121, 107, 121, 83, 121, 121, 121, 87, 121,
695 /* 2290 */ 121, 90, 91, 121, 121, 121, 121, 121, 121, 121,
696 /* 2300 */ 99, 100, 121, 83, 103, 104, 105, 87, 107, 121,
697 /* 2310 */ 90, 91, 121, 121, 121, 121, 121, 121, 121, 99,
698 /* 2320 */ 100, 121, 121, 103, 104, 105, 121, 107, 121, 121,
699 /* 2330 */ 121, 83, 121, 121, 121, 87, 121, 121, 90, 91,
700 /* 2340 */ 121, 121, 83, 121, 121, 121, 87, 99, 100, 90,
701 /* 2350 */ 91, 103, 104, 105, 121, 107, 121, 121, 99, 100,
702 /* 2360 */ 121, 121, 103, 104, 105, 121, 107, 121, 83, 121,
703 /* 2370 */ 121, 121, 87, 121, 121, 90, 91, 121, 121, 121,
704 /* 2380 */ 121, 121, 121, 121, 99, 100, 121, 121, 103, 104,
705 /* 2390 */ 105, 121, 107,
706 );
707 const YY_SHIFT_USE_DFLT = -5;
708 const YY_SHIFT_MAX = 252;
709 static public $yy_shift_ofst = array(
710 /* 0 */ 1, 1391, 1391, 1223, 1167, 1167, 1167, 1223, 1111, 1167,
711 /* 10 */ 1167, 1167, 1503, 1167, 1559, 1167, 1167, 1167, 1167, 1167,
712 /* 20 */ 1167, 1167, 1167, 1167, 1167, 1615, 1167, 1167, 1167, 1167,
713 /* 30 */ 1503, 1167, 1167, 1447, 1167, 1167, 1167, 1167, 1279, 1167,
714 /* 40 */ 1167, 1167, 1279, 1167, 1335, 1335, 1727, 1671, 1727, 1727,
715 /* 50 */ 1727, 1727, 1727, 224, 74, 149, -1, 755, 755, 755,
716 /* 60 */ 956, 881, 806, 527, 326, 704, 275, 377, 653, 602,
717 /* 70 */ 452, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,
718 /* 80 */ 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007,
719 /* 90 */ 1046, 1046, 1232, 1443, 407, 1, 958, 73, 146, 225,
720 /* 100 */ 546, 61, 61, 443, 443, 243, 371, 407, 407, 883,
721 /* 110 */ 47, 1331, 11, 189, 1387, 1219, 226, 56, 138, 235,
722 /* 120 */ 75, 887, 219, 366, 371, 367, 366, 366, 368, 293,
723 /* 130 */ 371, 366, 917, 366, 366, 445, 366, 418, 366, 1248,
724 /* 140 */ 368, 366, 300, 395, 293, 636, 629, 636, 616, 636,
725 /* 150 */ 610, 636, 636, 636, 636, 616, 636, -5, 166, 167,
726 /* 160 */ 601, 603, 873, 594, 148, 217, 148, 473, 947, 148,
727 /* 170 */ 874, 878, 948, 1235, 148, 543, 1191, 1221, 148, 1230,
728 /* 180 */ 563, 1188, 1121, 1118, 953, 949, 1181, 1174, 1180, 670,
729 /* 190 */ 632, 632, 616, 616, 636, 616, 636, 102, 102, 396,
730 /* 200 */ -5, -5, -5, -5, -5, 1764, 150, 22, 118, 71,
731 /* 210 */ 176, -4, 486, 144, 144, 213, 270, 261, 296, 328,
732 /* 220 */ 449, 271, 295, 615, 579, 560, 566, 441, 564, 396,
733 /* 230 */ 528, 591, 551, 589, 571, 614, 552, 529, 539, 494,
734 /* 240 */ 448, 492, 471, 450, 488, 469, 459, 511, 522, 510,
735 /* 250 */ 496, 523, 500,
736 );
737 const YY_REDUCE_USE_DFLT = -86;
738 const YY_REDUCE_MAX = 204;
739 static public $yy_reduce_ofst = array(
740 /* 0 */ -63, -7, 1730, 68, 446, 373, 143, 521, 2091, 2117,
741 /* 10 */ 1800, 1407, 2080, 1884, 1912, 1575, 1949, 1923, 1865, 1968,
742 /* 20 */ 1996, 2052, 2033, 2007, 1839, 1828, 1351, 1295, 1183, 1239,
743 /* 30 */ 1463, 1519, 1781, 1755, 1631, 2175, 2248, 2201, 2164, 2285,
744 /* 40 */ 2259, 2136, 2220, 1127, 379, 1048, 451, 1073, 804, 879,
745 /* 50 */ 1875, 1791, 1088, 1976, 1945, 1676, 2060, 1676, 2113, 2029,
746 /* 60 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,
747 /* 70 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,
748 /* 80 */ 798, 798, 798, 798, 798, 798, 798, 798, 798, 798,
749 /* 90 */ 798, 798, 39, 113, 214, -81, 43, 442, -74, 20,
750 /* 100 */ -10, 239, 264, 525, 517, 378, 188, 314, 291, 697,
751 /* 110 */ 170, -6, 520, 248, -6, -6, 248, -6, 248, 246,
752 /* 120 */ 172, -6, 172, 568, 313, 495, 495, 569, 570, 324,
753 /* 130 */ 244, 292, 245, 420, 345, 172, 301, 495, 621, 491,
754 /* 140 */ 495, 619, -6, 620, 325, -6, 211, -6, 147, -6,
755 /* 150 */ 81, -6, -6, -6, -6, 172, -6, -6, 545, 549,
756 /* 160 */ 536, 536, 536, 536, 530, 548, 530, 540, 536, 530,
757 /* 170 */ 536, 536, 536, 536, 530, 540, 536, 536, 530, 536,
758 /* 180 */ 540, 536, 536, 536, 536, 536, 536, 536, 536, 596,
759 /* 190 */ 567, 588, 550, 550, 540, 550, 540, -85, -85, 331,
760 /* 200 */ 306, 349, 337, 260, 134,
761 );
762 static public $yyExpectedTokens = array(
763 /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 22, 27, 31, 32, 33, ),
764 /* 1 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
765 /* 2 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
766 /* 3 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
767 /* 4 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
768 /* 5 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
769 /* 6 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
770 /* 7 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
771 /* 8 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 63, 76, ),
772 /* 9 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
773 /* 10 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
774 /* 11 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
775 /* 12 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
776 /* 13 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
777 /* 14 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
778 /* 15 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
779 /* 16 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
780 /* 17 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
781 /* 18 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
782 /* 19 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
783 /* 20 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
784 /* 21 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
785 /* 22 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
786 /* 23 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
787 /* 24 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
788 /* 25 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
789 /* 26 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
790 /* 27 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
791 /* 28 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
792 /* 29 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
793 /* 30 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
794 /* 31 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
795 /* 32 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
796 /* 33 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
797 /* 34 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
798 /* 35 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
799 /* 36 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
800 /* 37 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
801 /* 38 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
802 /* 39 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
803 /* 40 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
804 /* 41 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
805 /* 42 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
806 /* 43 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
807 /* 44 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
808 /* 45 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 62, 76, ),
809 /* 46 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
810 /* 47 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
811 /* 48 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
812 /* 49 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
813 /* 50 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
814 /* 51 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
815 /* 52 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 34, 36, 39, 54, 55, 56, 57, 58, 61, 76, ),
816 /* 53 */ array(1, 16, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
817 /* 54 */ array(1, 16, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
818 /* 55 */ array(1, 16, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
819 /* 56 */ array(1, 26, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
820 /* 57 */ array(1, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
821 /* 58 */ array(1, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
822 /* 59 */ array(1, 28, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
823 /* 60 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
824 /* 61 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
825 /* 62 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
826 /* 63 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
827 /* 64 */ array(1, 29, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
828 /* 65 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
829 /* 66 */ array(1, 2, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
830 /* 67 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, ),
831 /* 68 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
832 /* 69 */ array(1, 16, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
833 /* 70 */ array(1, 23, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
834 /* 71 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
835 /* 72 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
836 /* 73 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
837 /* 74 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
838 /* 75 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
839 /* 76 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
840 /* 77 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
841 /* 78 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
842 /* 79 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
843 /* 80 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
844 /* 81 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
845 /* 82 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
846 /* 83 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
847 /* 84 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
848 /* 85 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
849 /* 86 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
850 /* 87 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
851 /* 88 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
852 /* 89 */ array(1, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
853 /* 90 */ array(38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
854 /* 91 */ array(38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, ),
855 /* 92 */ array(1, 16, 20, 28, 36, 59, ),
856 /* 93 */ array(1, 16, 28, 52, ),
857 /* 94 */ array(1, 28, ),
858 /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 22, 27, 31, 32, 33, ),
859 /* 96 */ array(10, 15, 21, 22, 27, 31, 32, 33, 76, 77, 78, ),
860 /* 97 */ array(15, 18, 28, 30, ),
861 /* 98 */ array(15, 18, 28, 30, ),
862 /* 99 */ array(20, 57, 62, ),
863 /* 100 */ array(1, 2, 16, ),
864 /* 101 */ array(1, 16, 28, ),
865 /* 102 */ array(1, 16, 28, ),
866 /* 103 */ array(15, 18, 28, ),
867 /* 104 */ array(15, 18, 28, ),
868 /* 105 */ array(17, 18, 61, ),
869 /* 106 */ array(17, 36, ),
870 /* 107 */ array(1, 28, ),
871 /* 108 */ array(1, 28, ),
872 /* 109 */ array(10, 15, 21, 22, 27, 31, 32, 33, 76, 77, 78, ),
873 /* 110 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
874 /* 111 */ array(1, 16, 28, 29, 52, ),
875 /* 112 */ array(15, 18, 19, 24, ),
876 /* 113 */ array(15, 18, 19, 60, ),
877 /* 114 */ array(1, 16, 28, 52, ),
878 /* 115 */ array(1, 16, 28, 52, ),
879 /* 116 */ array(15, 18, 60, ),
880 /* 117 */ array(1, 30, 52, ),
881 /* 118 */ array(15, 18, 19, ),
882 /* 119 */ array(1, 16, 20, ),
883 /* 120 */ array(19, 20, 59, ),
884 /* 121 */ array(1, 16, 52, ),
885 /* 122 */ array(19, 20, 59, ),
886 /* 123 */ array(15, 18, ),
887 /* 124 */ array(17, 36, ),
888 /* 125 */ array(15, 18, ),
889 /* 126 */ array(15, 18, ),
890 /* 127 */ array(15, 18, ),
891 /* 128 */ array(15, 18, ),
892 /* 129 */ array(17, 18, ),
893 /* 130 */ array(17, 36, ),
894 /* 131 */ array(15, 18, ),
895 /* 132 */ array(1, 16, ),
896 /* 133 */ array(15, 18, ),
897 /* 134 */ array(15, 18, ),
898 /* 135 */ array(20, 59, ),
899 /* 136 */ array(15, 18, ),
900 /* 137 */ array(15, 18, ),
901 /* 138 */ array(15, 18, ),
902 /* 139 */ array(16, 28, ),
903 /* 140 */ array(15, 18, ),
904 /* 141 */ array(15, 18, ),
905 /* 142 */ array(1, 52, ),
906 /* 143 */ array(15, 18, ),
907 /* 144 */ array(17, 18, ),
908 /* 145 */ array(1, ),
909 /* 146 */ array(28, ),
910 /* 147 */ array(1, ),
911 /* 148 */ array(20, ),
912 /* 149 */ array(1, ),
913 /* 150 */ array(28, ),
914 /* 151 */ array(1, ),
915 /* 152 */ array(1, ),
916 /* 153 */ array(1, ),
917 /* 154 */ array(1, ),
918 /* 155 */ array(20, ),
919 /* 156 */ array(1, ),
920 /* 157 */ array(),
921 /* 158 */ array(15, 17, 18, ),
922 /* 159 */ array(15, 18, 60, ),
923 /* 160 */ array(16, 28, ),
924 /* 161 */ array(16, 28, ),
925 /* 162 */ array(16, 28, ),
926 /* 163 */ array(16, 28, ),
927 /* 164 */ array(57, 62, ),
928 /* 165 */ array(15, 36, ),
929 /* 166 */ array(57, 62, ),
930 /* 167 */ array(1, 16, ),
931 /* 168 */ array(16, 28, ),
932 /* 169 */ array(57, 62, ),
933 /* 170 */ array(16, 28, ),
934 /* 171 */ array(16, 28, ),
935 /* 172 */ array(16, 28, ),
936 /* 173 */ array(16, 28, ),
937 /* 174 */ array(57, 62, ),
938 /* 175 */ array(1, 16, ),
939 /* 176 */ array(16, 28, ),
940 /* 177 */ array(16, 28, ),
941 /* 178 */ array(57, 62, ),
942 /* 179 */ array(16, 28, ),
943 /* 180 */ array(1, 16, ),
944 /* 181 */ array(16, 28, ),
945 /* 182 */ array(16, 28, ),
946 /* 183 */ array(16, 28, ),
947 /* 184 */ array(16, 28, ),
948 /* 185 */ array(16, 28, ),
949 /* 186 */ array(16, 28, ),
950 /* 187 */ array(16, 28, ),
951 /* 188 */ array(16, 28, ),
952 /* 189 */ array(13, ),
953 /* 190 */ array(28, ),
954 /* 191 */ array(28, ),
955 /* 192 */ array(20, ),
956 /* 193 */ array(20, ),
957 /* 194 */ array(1, ),
958 /* 195 */ array(20, ),
959 /* 196 */ array(1, ),
960 /* 197 */ array(2, ),
961 /* 198 */ array(2, ),
962 /* 199 */ array(36, ),
963 /* 200 */ array(),
964 /* 201 */ array(),
965 /* 202 */ array(),
966 /* 203 */ array(),
967 /* 204 */ array(),
968 /* 205 */ array(16, 23, 25, 26, 28, 29, 35, 36, 37, 52, 59, 63, 77, ),
969 /* 206 */ array(16, 19, 28, 36, 59, ),
970 /* 207 */ array(36, 57, 59, 63, ),
971 /* 208 */ array(15, 17, 18, 34, ),
972 /* 209 */ array(16, 28, 36, 59, ),
973 /* 210 */ array(30, 36, 59, ),
974 /* 211 */ array(18, 60, ),
975 /* 212 */ array(2, 19, ),
976 /* 213 */ array(36, 59, ),
977 /* 214 */ array(36, 59, ),
978 /* 215 */ array(16, 24, ),
979 /* 216 */ array(35, 37, ),
980 /* 217 */ array(24, 77, ),
981 /* 218 */ array(35, 63, ),
982 /* 219 */ array(23, 35, ),
983 /* 220 */ array(19, 57, ),
984 /* 221 */ array(35, 37, ),
985 /* 222 */ array(35, 37, ),
986 /* 223 */ array(18, ),
987 /* 224 */ array(2, ),
988 /* 225 */ array(24, ),
989 /* 226 */ array(17, ),
990 /* 227 */ array(18, ),
991 /* 228 */ array(18, ),
992 /* 229 */ array(36, ),
993 /* 230 */ array(57, ),
994 /* 231 */ array(18, ),
995 /* 232 */ array(36, ),
996 /* 233 */ array(18, ),
997 /* 234 */ array(17, ),
998 /* 235 */ array(18, ),
999 /* 236 */ array(34, ),
1000 /* 237 */ array(34, ),
1001 /* 238 */ array(18, ),
1002 /* 239 */ array(17, ),
1003 /* 240 */ array(61, ),
1004 /* 241 */ array(18, ),
1005 /* 242 */ array(37, ),
1006 /* 243 */ array(17, ),
1007 /* 244 */ array(19, ),
1008 /* 245 */ array(63, ),
1009 /* 246 */ array(53, ),
1010 /* 247 */ array(2, ),
1011 /* 248 */ array(17, ),
1012 /* 249 */ array(25, ),
1013 /* 250 */ array(18, ),
1014 /* 251 */ array(18, ),
1015 /* 252 */ array(61, ),
1016 /* 253 */ array(),
1017 /* 254 */ array(),
1018 /* 255 */ array(),
1019 /* 256 */ array(),
1020 /* 257 */ array(),
1021 /* 258 */ array(),
1022 /* 259 */ array(),
1023 /* 260 */ array(),
1024 /* 261 */ array(),
1025 /* 262 */ array(),
1026 /* 263 */ array(),
1027 /* 264 */ array(),
1028 /* 265 */ array(),
1029 /* 266 */ array(),
1030 /* 267 */ array(),
1031 /* 268 */ array(),
1032 /* 269 */ array(),
1033 /* 270 */ array(),
1034 /* 271 */ array(),
1035 /* 272 */ array(),
1036 /* 273 */ array(),
1037 /* 274 */ array(),
1038 /* 275 */ array(),
1039 /* 276 */ array(),
1040 /* 277 */ array(),
1041 /* 278 */ array(),
1042 /* 279 */ array(),
1043 /* 280 */ array(),
1044 /* 281 */ array(),
1045 /* 282 */ array(),
1046 /* 283 */ array(),
1047 /* 284 */ array(),
1048 /* 285 */ array(),
1049 /* 286 */ array(),
1050 /* 287 */ array(),
1051 /* 288 */ array(),
1052 /* 289 */ array(),
1053 /* 290 */ array(),
1054 /* 291 */ array(),
1055 /* 292 */ array(),
1056 /* 293 */ array(),
1057 /* 294 */ array(),
1058 /* 295 */ array(),
1059 /* 296 */ array(),
1060 /* 297 */ array(),
1061 /* 298 */ array(),
1062 /* 299 */ array(),
1063 /* 300 */ array(),
1064 /* 301 */ array(),
1065 /* 302 */ array(),
1066 /* 303 */ array(),
1067 /* 304 */ array(),
1068 /* 305 */ array(),
1069 /* 306 */ array(),
1070 /* 307 */ array(),
1071 /* 308 */ array(),
1072 /* 309 */ array(),
1073 /* 310 */ array(),
1074 /* 311 */ array(),
1075 /* 312 */ array(),
1076 /* 313 */ array(),
1077 /* 314 */ array(),
1078 /* 315 */ array(),
1079 /* 316 */ array(),
1080 /* 317 */ array(),
1081 /* 318 */ array(),
1082 /* 319 */ array(),
1083 /* 320 */ array(),
1084 /* 321 */ array(),
1085 /* 322 */ array(),
1086 /* 323 */ array(),
1087 /* 324 */ array(),
1088 /* 325 */ array(),
1089 /* 326 */ array(),
1090 /* 327 */ array(),
1091 /* 328 */ array(),
1092 /* 329 */ array(),
1093 /* 330 */ array(),
1094 /* 331 */ array(),
1095 /* 332 */ array(),
1096 /* 333 */ array(),
1097 /* 334 */ array(),
1098 /* 335 */ array(),
1099 /* 336 */ array(),
1100 /* 337 */ array(),
1101 /* 338 */ array(),
1102 /* 339 */ array(),
1103 /* 340 */ array(),
1104 /* 341 */ array(),
1105 /* 342 */ array(),
1106 /* 343 */ array(),
1107 /* 344 */ array(),
1108 /* 345 */ array(),
1109 /* 346 */ array(),
1110 /* 347 */ array(),
1111 /* 348 */ array(),
1112 /* 349 */ array(),
1113 /* 350 */ array(),
1114 /* 351 */ array(),
1115 /* 352 */ array(),
1116 /* 353 */ array(),
1117 /* 354 */ array(),
1118 /* 355 */ array(),
1119 /* 356 */ array(),
1120 /* 357 */ array(),
1121 /* 358 */ array(),
1122 /* 359 */ array(),
1123 /* 360 */ array(),
1124 /* 361 */ array(),
1125 /* 362 */ array(),
1126 /* 363 */ array(),
1127 /* 364 */ array(),
1128 /* 365 */ array(),
1129 /* 366 */ array(),
1130 /* 367 */ array(),
1131 /* 368 */ array(),
1132 /* 369 */ array(),
1133 /* 370 */ array(),
1134 /* 371 */ array(),
1135 /* 372 */ array(),
1136 /* 373 */ array(),
1137 /* 374 */ array(),
1138 /* 375 */ array(),
1139 /* 376 */ array(),
1140 /* 377 */ array(),
1141 /* 378 */ array(),
1142 /* 379 */ array(),
1143 /* 380 */ array(),
1144 /* 381 */ array(),
1145 /* 382 */ array(),
1146 /* 383 */ array(),
1147 /* 384 */ array(),
1148 /* 385 */ array(),
1149 /* 386 */ array(),
1150 );
1151 static public $yy_default = array(
1152 /* 0 */ 390, 571, 588, 588, 542, 542, 542, 588, 588, 588,
1153 /* 10 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
1154 /* 20 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
1155 /* 30 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
1156 /* 40 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
1157 /* 50 */ 588, 588, 588, 588, 588, 588, 450, 450, 450, 450,
1158 /* 60 */ 588, 588, 588, 588, 455, 588, 588, 588, 588, 588,
1159 /* 70 */ 588, 573, 457, 541, 574, 455, 471, 460, 540, 480,
1160 /* 80 */ 484, 432, 461, 452, 479, 483, 572, 474, 475, 476,
1161 /* 90 */ 487, 488, 499, 463, 450, 387, 588, 450, 450, 554,
1162 /* 100 */ 588, 507, 470, 450, 450, 588, 588, 450, 450, 588,
1163 /* 110 */ 588, 463, 588, 515, 463, 463, 515, 463, 515, 588,
1164 /* 120 */ 508, 463, 508, 588, 588, 588, 588, 588, 588, 588,
1165 /* 130 */ 588, 588, 588, 588, 588, 508, 515, 588, 588, 588,
1166 /* 140 */ 588, 588, 463, 588, 588, 467, 450, 473, 551, 490,
1167 /* 150 */ 450, 468, 486, 491, 492, 508, 466, 549, 588, 516,
1168 /* 160 */ 588, 588, 588, 588, 533, 515, 532, 588, 588, 513,
1169 /* 170 */ 588, 588, 588, 588, 534, 588, 588, 588, 535, 588,
1170 /* 180 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 405,
1171 /* 190 */ 587, 587, 529, 555, 470, 552, 507, 543, 544, 515,
1172 /* 200 */ 515, 515, 548, 548, 548, 465, 499, 499, 588, 499,
1173 /* 210 */ 499, 588, 527, 485, 499, 489, 588, 489, 588, 588,
1174 /* 220 */ 495, 588, 588, 588, 527, 489, 588, 588, 588, 527,
1175 /* 230 */ 495, 588, 553, 588, 588, 588, 497, 588, 588, 588,
1176 /* 240 */ 588, 588, 588, 588, 588, 588, 501, 527, 588, 458,
1177 /* 250 */ 588, 588, 588, 435, 524, 439, 501, 523, 511, 569,
1178 /* 260 */ 521, 415, 522, 570, 520, 388, 537, 512, 440, 462,
1179 /* 270 */ 459, 429, 550, 586, 430, 536, 528, 538, 539, 434,
1180 /* 280 */ 433, 565, 441, 527, 442, 547, 443, 526, 438, 449,
1181 /* 290 */ 428, 431, 436, 437, 444, 445, 498, 496, 504, 464,
1182 /* 300 */ 465, 494, 493, 545, 546, 446, 447, 427, 448, 397,
1183 /* 310 */ 396, 398, 399, 400, 395, 394, 389, 391, 392, 393,
1184 /* 320 */ 401, 402, 411, 410, 412, 413, 414, 409, 408, 403,
1185 /* 330 */ 404, 406, 407, 509, 514, 421, 420, 530, 422, 423,
1186 /* 340 */ 419, 418, 531, 510, 416, 417, 583, 424, 426, 581,
1187 /* 350 */ 579, 584, 585, 578, 580, 577, 425, 582, 575, 576,
1188 /* 360 */ 506, 469, 503, 502, 505, 477, 478, 472, 500, 517,
1189 /* 370 */ 525, 518, 519, 481, 482, 563, 562, 564, 566, 567,
1190 /* 380 */ 561, 560, 556, 557, 558, 559, 568,
1191 );
1192 const YYNOCODE = 122;
1193 const YYSTACKDEPTH = 100;
1194 const YYNSTATE = 387;
1195 const YYNRULE = 201;
1196 const YYERRORSYMBOL = 79;
1197 const YYERRSYMDT = 'yy0';
1198 const YYFALLBACK = 0;
1199 static public $yyFallback = array(
1200 );
1201 static function Trace($TraceFILE, $zTracePrompt)
1202 {
1203 if (!$TraceFILE) {
1204 $zTracePrompt = 0;
1205 } elseif (!$zTracePrompt) {
1206 $TraceFILE = 0;
1207 }
1208 self::$yyTraceFILE = $TraceFILE;
1209 self::$yyTracePrompt = $zTracePrompt;
1210 }
1212 static function PrintTrace()
1213 {
1214 self::$yyTraceFILE = fopen('php://output', 'w');
1215 self::$yyTracePrompt = '<br>';
1216 }
1218 static public $yyTraceFILE;
1219 static public $yyTracePrompt;
1220 public $yyidx; /* Index of top element in stack */
1221 public $yyerrcnt; /* Shifts left before out of the error */
1222 public $yystack = array(); /* The parser's stack */
1224 public $yyTokenName = array(
1225 '$', 'VERT', 'COLON', 'COMMENT',
1226 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
1227 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
1228 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
1229 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
1230 'PTR', 'LDELIF', 'LDELFOR', 'SEMICOLON',
1231 'INCDEC', 'TO', 'STEP', 'LDELFOREACH',
1232 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
1233 'SMARTYBLOCKCHILD', 'LDELSLASH', 'INTEGER', 'COMMA',
1234 'OPENP', 'CLOSEP', 'MATH', 'UNIMATH',
1235 'ANDSYM', 'ISIN', 'ISDIVBY', 'ISNOTDIVBY',
1236 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY',
1237 'ISODD', 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY',
1238 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST',
1239 'HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON',
1240 'AT', 'HATCH', 'OPENB', 'CLOSEB',
1241 'EQUALS', 'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN',
1242 'GREATEREQUAL', 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY',
1243 'MOD', 'LAND', 'LOR', 'LXOR',
1244 'QUOTE', 'BACKTICK', 'DOLLARID', 'error',
1245 'start', 'template', 'template_element', 'smartytag',
1246 'literal', 'literal_elements', 'literal_element', 'value',
1247 'modifierlist', 'attributes', 'expr', 'varindexed',
1248 'statement', 'statements', 'optspace', 'varvar',
1249 'foraction', 'modparameters', 'attribute', 'ternary',
1250 'array', 'ifcond', 'lop', 'variable',
1251 'function', 'doublequoted_with_quotes', 'static_class_access', 'object',
1252 'arrayindex', 'indexdef', 'varvarele', 'objectchain',
1253 'objectelement', 'method', 'params', 'modifier',
1254 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted',
1255 'doublequotedcontent',
1256 );
1258 static public $yyRuleName = array(
1259 /* 0 */ "start ::= template",
1260 /* 1 */ "template ::= template_element",
1261 /* 2 */ "template ::= template template_element",
1262 /* 3 */ "template ::=",
1263 /* 4 */ "template_element ::= smartytag",
1264 /* 5 */ "template_element ::= COMMENT",
1265 /* 6 */ "template_element ::= literal",
1266 /* 7 */ "template_element ::= PHPSTARTTAG",
1267 /* 8 */ "template_element ::= PHPENDTAG",
1268 /* 9 */ "template_element ::= ASPSTARTTAG",
1269 /* 10 */ "template_element ::= ASPENDTAG",
1270 /* 11 */ "template_element ::= FAKEPHPSTARTTAG",
1271 /* 12 */ "template_element ::= XMLTAG",
1272 /* 13 */ "template_element ::= OTHER",
1273 /* 14 */ "template_element ::= LINEBREAK",
1274 /* 15 */ "literal ::= LITERALSTART LITERALEND",
1275 /* 16 */ "literal ::= LITERALSTART literal_elements LITERALEND",
1276 /* 17 */ "literal_elements ::= literal_elements literal_element",
1277 /* 18 */ "literal_elements ::=",
1278 /* 19 */ "literal_element ::= literal",
1279 /* 20 */ "literal_element ::= LITERAL",
1280 /* 21 */ "literal_element ::= PHPSTARTTAG",
1281 /* 22 */ "literal_element ::= FAKEPHPSTARTTAG",
1282 /* 23 */ "literal_element ::= PHPENDTAG",
1283 /* 24 */ "literal_element ::= ASPSTARTTAG",
1284 /* 25 */ "literal_element ::= ASPENDTAG",
1285 /* 26 */ "smartytag ::= LDEL value RDEL",
1286 /* 27 */ "smartytag ::= LDEL value modifierlist attributes RDEL",
1287 /* 28 */ "smartytag ::= LDEL value attributes RDEL",
1288 /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
1289 /* 30 */ "smartytag ::= LDEL expr attributes RDEL",
1290 /* 31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
1291 /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
1292 /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
1293 /* 34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
1294 /* 35 */ "smartytag ::= LDEL ID attributes RDEL",
1295 /* 36 */ "smartytag ::= LDEL ID RDEL",
1296 /* 37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
1297 /* 38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
1298 /* 39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
1299 /* 40 */ "smartytag ::= LDELIF expr RDEL",
1300 /* 41 */ "smartytag ::= LDELIF expr attributes RDEL",
1301 /* 42 */ "smartytag ::= LDELIF statement RDEL",
1302 /* 43 */ "smartytag ::= LDELIF statement attributes RDEL",
1303 /* 44 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
1304 /* 45 */ "foraction ::= EQUAL expr",
1305 /* 46 */ "foraction ::= INCDEC",
1306 /* 47 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL",
1307 /* 48 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL",
1308 /* 49 */ "smartytag ::= LDELFOREACH attributes RDEL",
1309 /* 50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
1310 /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1311 /* 52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
1312 /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
1313 /* 54 */ "smartytag ::= LDELSETFILTER ID modparameters RDEL",
1314 /* 55 */ "smartytag ::= LDELSETFILTER ID modparameters modifierlist RDEL",
1315 /* 56 */ "smartytag ::= SMARTYBLOCKCHILD",
1316 /* 57 */ "smartytag ::= LDELSLASH ID RDEL",
1317 /* 58 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
1318 /* 59 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
1319 /* 60 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
1320 /* 61 */ "attributes ::= attributes attribute",
1321 /* 62 */ "attributes ::= attribute",
1322 /* 63 */ "attributes ::=",
1323 /* 64 */ "attribute ::= SPACE ID EQUAL ID",
1324 /* 65 */ "attribute ::= SPACE ID EQUAL expr",
1325 /* 66 */ "attribute ::= SPACE ID EQUAL value",
1326 /* 67 */ "attribute ::= SPACE ID",
1327 /* 68 */ "attribute ::= SPACE expr",
1328 /* 69 */ "attribute ::= SPACE value",
1329 /* 70 */ "attribute ::= SPACE INTEGER EQUAL expr",
1330 /* 71 */ "statements ::= statement",
1331 /* 72 */ "statements ::= statements COMMA statement",
1332 /* 73 */ "statement ::= DOLLAR varvar EQUAL expr",
1333 /* 74 */ "statement ::= varindexed EQUAL expr",
1334 /* 75 */ "statement ::= OPENP statement CLOSEP",
1335 /* 76 */ "expr ::= value",
1336 /* 77 */ "expr ::= ternary",
1337 /* 78 */ "expr ::= DOLLAR ID COLON ID",
1338 /* 79 */ "expr ::= expr MATH value",
1339 /* 80 */ "expr ::= expr UNIMATH value",
1340 /* 81 */ "expr ::= expr ANDSYM value",
1341 /* 82 */ "expr ::= array",
1342 /* 83 */ "expr ::= expr modifierlist",
1343 /* 84 */ "expr ::= expr ifcond expr",
1344 /* 85 */ "expr ::= expr ISIN array",
1345 /* 86 */ "expr ::= expr ISIN value",
1346 /* 87 */ "expr ::= expr lop expr",
1347 /* 88 */ "expr ::= expr ISDIVBY expr",
1348 /* 89 */ "expr ::= expr ISNOTDIVBY expr",
1349 /* 90 */ "expr ::= expr ISEVEN",
1350 /* 91 */ "expr ::= expr ISNOTEVEN",
1351 /* 92 */ "expr ::= expr ISEVENBY expr",
1352 /* 93 */ "expr ::= expr ISNOTEVENBY expr",
1353 /* 94 */ "expr ::= expr ISODD",
1354 /* 95 */ "expr ::= expr ISNOTODD",
1355 /* 96 */ "expr ::= expr ISODDBY expr",
1356 /* 97 */ "expr ::= expr ISNOTODDBY expr",
1357 /* 98 */ "expr ::= value INSTANCEOF ID",
1358 /* 99 */ "expr ::= value INSTANCEOF value",
1359 /* 100 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
1360 /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
1361 /* 102 */ "value ::= variable",
1362 /* 103 */ "value ::= UNIMATH value",
1363 /* 104 */ "value ::= NOT value",
1364 /* 105 */ "value ::= TYPECAST value",
1365 /* 106 */ "value ::= variable INCDEC",
1366 /* 107 */ "value ::= HEX",
1367 /* 108 */ "value ::= INTEGER",
1368 /* 109 */ "value ::= INTEGER DOT INTEGER",
1369 /* 110 */ "value ::= INTEGER DOT",
1370 /* 111 */ "value ::= DOT INTEGER",
1371 /* 112 */ "value ::= ID",
1372 /* 113 */ "value ::= function",
1373 /* 114 */ "value ::= OPENP expr CLOSEP",
1374 /* 115 */ "value ::= SINGLEQUOTESTRING",
1375 /* 116 */ "value ::= doublequoted_with_quotes",
1376 /* 117 */ "value ::= ID DOUBLECOLON static_class_access",
1377 /* 118 */ "value ::= varindexed DOUBLECOLON static_class_access",
1378 /* 119 */ "value ::= smartytag",
1379 /* 120 */ "value ::= value modifierlist",
1380 /* 121 */ "variable ::= varindexed",
1381 /* 122 */ "variable ::= DOLLAR varvar AT ID",
1382 /* 123 */ "variable ::= object",
1383 /* 124 */ "variable ::= HATCH ID HATCH",
1384 /* 125 */ "variable ::= HATCH variable HATCH",
1385 /* 126 */ "varindexed ::= DOLLAR varvar arrayindex",
1386 /* 127 */ "arrayindex ::= arrayindex indexdef",
1387 /* 128 */ "arrayindex ::=",
1388 /* 129 */ "indexdef ::= DOT DOLLAR varvar",
1389 /* 130 */ "indexdef ::= DOT DOLLAR varvar AT ID",
1390 /* 131 */ "indexdef ::= DOT ID",
1391 /* 132 */ "indexdef ::= DOT INTEGER",
1392 /* 133 */ "indexdef ::= DOT LDEL expr RDEL",
1393 /* 134 */ "indexdef ::= OPENB ID CLOSEB",
1394 /* 135 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
1395 /* 136 */ "indexdef ::= OPENB expr CLOSEB",
1396 /* 137 */ "indexdef ::= OPENB CLOSEB",
1397 /* 138 */ "varvar ::= varvarele",
1398 /* 139 */ "varvar ::= varvar varvarele",
1399 /* 140 */ "varvarele ::= ID",
1400 /* 141 */ "varvarele ::= LDEL expr RDEL",
1401 /* 142 */ "object ::= varindexed objectchain",
1402 /* 143 */ "objectchain ::= objectelement",
1403 /* 144 */ "objectchain ::= objectchain objectelement",
1404 /* 145 */ "objectelement ::= PTR ID arrayindex",
1405 /* 146 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
1406 /* 147 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
1407 /* 148 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
1408 /* 149 */ "objectelement ::= PTR method",
1409 /* 150 */ "function ::= ID OPENP params CLOSEP",
1410 /* 151 */ "method ::= ID OPENP params CLOSEP",
1411 /* 152 */ "method ::= DOLLAR ID OPENP params CLOSEP",
1412 /* 153 */ "params ::= params COMMA expr",
1413 /* 154 */ "params ::= expr",
1414 /* 155 */ "params ::=",
1415 /* 156 */ "modifierlist ::= modifierlist modifier modparameters",
1416 /* 157 */ "modifierlist ::= modifier modparameters",
1417 /* 158 */ "modifier ::= VERT AT ID",
1418 /* 159 */ "modifier ::= VERT ID",
1419 /* 160 */ "modparameters ::= modparameters modparameter",
1420 /* 161 */ "modparameters ::=",
1421 /* 162 */ "modparameter ::= COLON value",
1422 /* 163 */ "modparameter ::= COLON array",
1423 /* 164 */ "static_class_access ::= method",
1424 /* 165 */ "static_class_access ::= method objectchain",
1425 /* 166 */ "static_class_access ::= ID",
1426 /* 167 */ "static_class_access ::= DOLLAR ID arrayindex",
1427 /* 168 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
1428 /* 169 */ "ifcond ::= EQUALS",
1429 /* 170 */ "ifcond ::= NOTEQUALS",
1430 /* 171 */ "ifcond ::= GREATERTHAN",
1431 /* 172 */ "ifcond ::= LESSTHAN",
1432 /* 173 */ "ifcond ::= GREATEREQUAL",
1433 /* 174 */ "ifcond ::= LESSEQUAL",
1434 /* 175 */ "ifcond ::= IDENTITY",
1435 /* 176 */ "ifcond ::= NONEIDENTITY",
1436 /* 177 */ "ifcond ::= MOD",
1437 /* 178 */ "lop ::= LAND",
1438 /* 179 */ "lop ::= LOR",
1439 /* 180 */ "lop ::= LXOR",
1440 /* 181 */ "array ::= OPENB arrayelements CLOSEB",
1441 /* 182 */ "arrayelements ::= arrayelement",
1442 /* 183 */ "arrayelements ::= arrayelements COMMA arrayelement",
1443 /* 184 */ "arrayelements ::=",
1444 /* 185 */ "arrayelement ::= value APTR expr",
1445 /* 186 */ "arrayelement ::= ID APTR expr",
1446 /* 187 */ "arrayelement ::= expr",
1447 /* 188 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
1448 /* 189 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
1449 /* 190 */ "doublequoted ::= doublequoted doublequotedcontent",
1450 /* 191 */ "doublequoted ::= doublequotedcontent",
1451 /* 192 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
1452 /* 193 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
1453 /* 194 */ "doublequotedcontent ::= DOLLARID",
1454 /* 195 */ "doublequotedcontent ::= LDEL variable RDEL",
1455 /* 196 */ "doublequotedcontent ::= LDEL expr RDEL",
1456 /* 197 */ "doublequotedcontent ::= smartytag",
1457 /* 198 */ "doublequotedcontent ::= OTHER",
1458 /* 199 */ "optspace ::= SPACE",
1459 /* 200 */ "optspace ::=",
1460 );
1462 function tokenName($tokenType)
1463 {
1464 if ($tokenType === 0) {
1465 return 'End of Input';
1466 }
1467 if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1468 return $this->yyTokenName[$tokenType];
1469 } else {
1470 return "Unknown";
1471 }
1472 }
1474 static function yy_destructor($yymajor, $yypminor)
1475 {
1476 switch ($yymajor) {
1477 default: break; /* If no destructor action specified: do nothing */
1478 }
1479 }
1481 function yy_pop_parser_stack()
1482 {
1483 if (!count($this->yystack)) {
1484 return;
1485 }
1486 $yytos = array_pop($this->yystack);
1487 if (self::$yyTraceFILE && $this->yyidx >= 0) {
1488 fwrite(self::$yyTraceFILE,
1489 self::$yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] .
1490 "\n");
1491 }
1492 $yymajor = $yytos->major;
1493 self::yy_destructor($yymajor, $yytos->minor);
1494 $this->yyidx--;
1495 return $yymajor;
1496 }
1498 function __destruct()
1499 {
1500 while ($this->yystack !== Array()) {
1501 $this->yy_pop_parser_stack();
1502 }
1503 if (is_resource(self::$yyTraceFILE)) {
1504 fclose(self::$yyTraceFILE);
1505 }
1506 }
1508 function yy_get_expected_tokens($token)
1509 {
1510 $state = $this->yystack[$this->yyidx]->stateno;
1511 $expected = self::$yyExpectedTokens[$state];
1512 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1513 return $expected;
1514 }
1515 $stack = $this->yystack;
1516 $yyidx = $this->yyidx;
1517 do {
1518 $yyact = $this->yy_find_shift_action($token);
1519 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1520 // reduce action
1521 $done = 0;
1522 do {
1523 if ($done++ == 100) {
1524 $this->yyidx = $yyidx;
1525 $this->yystack = $stack;
1526 // too much recursion prevents proper detection
1527 // so give up
1528 return array_unique($expected);
1529 }
1530 $yyruleno = $yyact - self::YYNSTATE;
1531 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1532 $nextstate = $this->yy_find_reduce_action(
1533 $this->yystack[$this->yyidx]->stateno,
1534 self::$yyRuleInfo[$yyruleno]['lhs']);
1535 if (isset(self::$yyExpectedTokens[$nextstate])) {
1536 $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1537 if (in_array($token,
1538 self::$yyExpectedTokens[$nextstate], true)) {
1539 $this->yyidx = $yyidx;
1540 $this->yystack = $stack;
1541 return array_unique($expected);
1542 }
1543 }
1544 if ($nextstate < self::YYNSTATE) {
1545 // we need to shift a non-terminal
1546 $this->yyidx++;
1547 $x = new TP_yyStackEntry;
1548 $x->stateno = $nextstate;
1549 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1550 $this->yystack[$this->yyidx] = $x;
1551 continue 2;
1552 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1553 $this->yyidx = $yyidx;
1554 $this->yystack = $stack;
1555 // the last token was just ignored, we can't accept
1556 // by ignoring input, this is in essence ignoring a
1557 // syntax error!
1558 return array_unique($expected);
1559 } elseif ($nextstate === self::YY_NO_ACTION) {
1560 $this->yyidx = $yyidx;
1561 $this->yystack = $stack;
1562 // input accepted, but not shifted (I guess)
1563 return $expected;
1564 } else {
1565 $yyact = $nextstate;
1566 }
1567 } while (true);
1568 }
1569 break;
1570 } while (true);
1571 $this->yyidx = $yyidx;
1572 $this->yystack = $stack;
1573 return array_unique($expected);
1574 }
1576 function yy_is_expected_token($token)
1577 {
1578 if ($token === 0) {
1579 return true; // 0 is not part of this
1580 }
1581 $state = $this->yystack[$this->yyidx]->stateno;
1582 if (in_array($token, self::$yyExpectedTokens[$state], true)) {
1583 return true;
1584 }
1585 $stack = $this->yystack;
1586 $yyidx = $this->yyidx;
1587 do {
1588 $yyact = $this->yy_find_shift_action($token);
1589 if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1590 // reduce action
1591 $done = 0;
1592 do {
1593 if ($done++ == 100) {
1594 $this->yyidx = $yyidx;
1595 $this->yystack = $stack;
1596 // too much recursion prevents proper detection
1597 // so give up
1598 return true;
1599 }
1600 $yyruleno = $yyact - self::YYNSTATE;
1601 $this->yyidx -= self::$yyRuleInfo[$yyruleno]['rhs'];
1602 $nextstate = $this->yy_find_reduce_action(
1603 $this->yystack[$this->yyidx]->stateno,
1604 self::$yyRuleInfo[$yyruleno]['lhs']);
1605 if (isset(self::$yyExpectedTokens[$nextstate]) &&
1606 in_array($token, self::$yyExpectedTokens[$nextstate], true)) {
1607 $this->yyidx = $yyidx;
1608 $this->yystack = $stack;
1609 return true;
1610 }
1611 if ($nextstate < self::YYNSTATE) {
1612 // we need to shift a non-terminal
1613 $this->yyidx++;
1614 $x = new TP_yyStackEntry;
1615 $x->stateno = $nextstate;
1616 $x->major = self::$yyRuleInfo[$yyruleno]['lhs'];
1617 $this->yystack[$this->yyidx] = $x;
1618 continue 2;
1619 } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1620 $this->yyidx = $yyidx;
1621 $this->yystack = $stack;
1622 if (!$token) {
1623 // end of input: this is valid
1624 return true;
1625 }
1626 // the last token was just ignored, we can't accept
1627 // by ignoring input, this is in essence ignoring a
1628 // syntax error!
1629 return false;
1630 } elseif ($nextstate === self::YY_NO_ACTION) {
1631 $this->yyidx = $yyidx;
1632 $this->yystack = $stack;
1633 // input accepted, but not shifted (I guess)
1634 return true;
1635 } else {
1636 $yyact = $nextstate;
1637 }
1638 } while (true);
1639 }
1640 break;
1641 } while (true);
1642 $this->yyidx = $yyidx;
1643 $this->yystack = $stack;
1644 return true;
1645 }
1647 function yy_find_shift_action($iLookAhead)
1648 {
1649 $stateno = $this->yystack[$this->yyidx]->stateno;
1651 /* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
1652 if (!isset(self::$yy_shift_ofst[$stateno])) {
1653 // no shift actions
1654 return self::$yy_default[$stateno];
1655 }
1656 $i = self::$yy_shift_ofst[$stateno];
1657 if ($i === self::YY_SHIFT_USE_DFLT) {
1658 return self::$yy_default[$stateno];
1659 }
1660 if ($iLookAhead == self::YYNOCODE) {
1661 return self::YY_NO_ACTION;
1662 }
1663 $i += $iLookAhead;
1664 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1665 self::$yy_lookahead[$i] != $iLookAhead) {
1666 if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback)
1667 && ($iFallback = self::$yyFallback[$iLookAhead]) != 0) {
1668 if (self::$yyTraceFILE) {
1669 fwrite(self::$yyTraceFILE, self::$yyTracePrompt . "FALLBACK " .
1670 $this->yyTokenName[$iLookAhead] . " => " .
1671 $this->yyTokenName[$iFallback] . "\n");
1672 }
1673 return $this->yy_find_shift_action($iFallback);
1674 }
1675 return self::$yy_default[$stateno];
1676 } else {
1677 return self::$yy_action[$i];
1678 }
1679 }
1681 function yy_find_reduce_action($stateno, $iLookAhead)
1682 {
1683 /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1685 if (!isset(self::$yy_reduce_ofst[$stateno])) {
1686 return self::$yy_default[$stateno];
1687 }
1688 $i = self::$yy_reduce_ofst[$stateno];
1689 if ($i == self::YY_REDUCE_USE_DFLT) {
1690 return self::$yy_default[$stateno];
1691 }
1692 if ($iLookAhead == self::YYNOCODE) {
1693 return self::YY_NO_ACTION;
1694 }
1695 $i += $iLookAhead;
1696 if ($i < 0 || $i >= self::YY_SZ_ACTTAB ||
1697 self::$yy_lookahead[$i] != $iLookAhead) {
1698 return self::$yy_default[$stateno];
1699 } else {
1700 return self::$yy_action[$i];
1701 }
1702 }
1704 function yy_shift($yyNewState, $yyMajor, $yypMinor)
1705 {
1706 $this->yyidx++;
1707 if ($this->yyidx >= self::YYSTACKDEPTH) {
1708 $this->yyidx--;
1709 if (self::$yyTraceFILE) {
1710 fprintf(self::$yyTraceFILE, "%sStack Overflow!\n", self::$yyTracePrompt);
1711 }
1712 while ($this->yyidx >= 0) {
1713 $this->yy_pop_parser_stack();
1714 }
1715 #line 83 "smarty_internal_templateparser.y"
1717 $this->internalError = true;
1718 $this->compiler->trigger_template_error("Stack overflow in template parser");
1719 #line 1715 "smarty_internal_templateparser.php"
1720 return;
1721 }
1722 $yytos = new TP_yyStackEntry;
1723 $yytos->stateno = $yyNewState;
1724 $yytos->major = $yyMajor;
1725 $yytos->minor = $yypMinor;
1726 array_push($this->yystack, $yytos);
1727 if (self::$yyTraceFILE && $this->yyidx > 0) {
1728 fprintf(self::$yyTraceFILE, "%sShift %d\n", self::$yyTracePrompt,
1729 $yyNewState);
1730 fprintf(self::$yyTraceFILE, "%sStack:", self::$yyTracePrompt);
1731 for($i = 1; $i <= $this->yyidx; $i++) {
1732 fprintf(self::$yyTraceFILE, " %s",
1733 $this->yyTokenName[$this->yystack[$i]->major]);
1734 }
1735 fwrite(self::$yyTraceFILE,"\n");
1736 }
1737 }
1739 static public $yyRuleInfo = array(
1740 array( 'lhs' => 80, 'rhs' => 1 ),
1741 array( 'lhs' => 81, 'rhs' => 1 ),
1742 array( 'lhs' => 81, 'rhs' => 2 ),
1743 array( 'lhs' => 81, 'rhs' => 0 ),
1744 array( 'lhs' => 82, 'rhs' => 1 ),
1745 array( 'lhs' => 82, 'rhs' => 1 ),
1746 array( 'lhs' => 82, 'rhs' => 1 ),
1747 array( 'lhs' => 82, 'rhs' => 1 ),
1748 array( 'lhs' => 82, 'rhs' => 1 ),
1749 array( 'lhs' => 82, 'rhs' => 1 ),
1750 array( 'lhs' => 82, 'rhs' => 1 ),
1751 array( 'lhs' => 82, 'rhs' => 1 ),
1752 array( 'lhs' => 82, 'rhs' => 1 ),
1753 array( 'lhs' => 82, 'rhs' => 1 ),
1754 array( 'lhs' => 82, 'rhs' => 1 ),
1755 array( 'lhs' => 84, 'rhs' => 2 ),
1756 array( 'lhs' => 84, 'rhs' => 3 ),
1757 array( 'lhs' => 85, 'rhs' => 2 ),
1758 array( 'lhs' => 85, 'rhs' => 0 ),
1759 array( 'lhs' => 86, 'rhs' => 1 ),
1760 array( 'lhs' => 86, 'rhs' => 1 ),
1761 array( 'lhs' => 86, 'rhs' => 1 ),
1762 array( 'lhs' => 86, 'rhs' => 1 ),
1763 array( 'lhs' => 86, 'rhs' => 1 ),
1764 array( 'lhs' => 86, 'rhs' => 1 ),
1765 array( 'lhs' => 86, 'rhs' => 1 ),
1766 array( 'lhs' => 83, 'rhs' => 3 ),
1767 array( 'lhs' => 83, 'rhs' => 5 ),
1768 array( 'lhs' => 83, 'rhs' => 4 ),
1769 array( 'lhs' => 83, 'rhs' => 5 ),
1770 array( 'lhs' => 83, 'rhs' => 4 ),
1771 array( 'lhs' => 83, 'rhs' => 6 ),
1772 array( 'lhs' => 83, 'rhs' => 6 ),
1773 array( 'lhs' => 83, 'rhs' => 7 ),
1774 array( 'lhs' => 83, 'rhs' => 6 ),
1775 array( 'lhs' => 83, 'rhs' => 4 ),
1776 array( 'lhs' => 83, 'rhs' => 3 ),
1777 array( 'lhs' => 83, 'rhs' => 6 ),
1778 array( 'lhs' => 83, 'rhs' => 5 ),
1779 array( 'lhs' => 83, 'rhs' => 7 ),
1780 array( 'lhs' => 83, 'rhs' => 3 ),
1781 array( 'lhs' => 83, 'rhs' => 4 ),
1782 array( 'lhs' => 83, 'rhs' => 3 ),
1783 array( 'lhs' => 83, 'rhs' => 4 ),
1784 array( 'lhs' => 83, 'rhs' => 12 ),
1785 array( 'lhs' => 96, 'rhs' => 2 ),
1786 array( 'lhs' => 96, 'rhs' => 1 ),
1787 array( 'lhs' => 83, 'rhs' => 6 ),
1788 array( 'lhs' => 83, 'rhs' => 8 ),
1789 array( 'lhs' => 83, 'rhs' => 3 ),
1790 array( 'lhs' => 83, 'rhs' => 8 ),
1791 array( 'lhs' => 83, 'rhs' => 11 ),
1792 array( 'lhs' => 83, 'rhs' => 8 ),
1793 array( 'lhs' => 83, 'rhs' => 11 ),
1794 array( 'lhs' => 83, 'rhs' => 4 ),
1795 array( 'lhs' => 83, 'rhs' => 5 ),
1796 array( 'lhs' => 83, 'rhs' => 1 ),
1797 array( 'lhs' => 83, 'rhs' => 3 ),
1798 array( 'lhs' => 83, 'rhs' => 4 ),
1799 array( 'lhs' => 83, 'rhs' => 5 ),
1800 array( 'lhs' => 83, 'rhs' => 6 ),
1801 array( 'lhs' => 89, 'rhs' => 2 ),
1802 array( 'lhs' => 89, 'rhs' => 1 ),
1803 array( 'lhs' => 89, 'rhs' => 0 ),
1804 array( 'lhs' => 98, 'rhs' => 4 ),
1805 array( 'lhs' => 98, 'rhs' => 4 ),
1806 array( 'lhs' => 98, 'rhs' => 4 ),
1807 array( 'lhs' => 98, 'rhs' => 2 ),
1808 array( 'lhs' => 98, 'rhs' => 2 ),
1809 array( 'lhs' => 98, 'rhs' => 2 ),
1810 array( 'lhs' => 98, 'rhs' => 4 ),
1811 array( 'lhs' => 93, 'rhs' => 1 ),
1812 array( 'lhs' => 93, 'rhs' => 3 ),
1813 array( 'lhs' => 92, 'rhs' => 4 ),
1814 array( 'lhs' => 92, 'rhs' => 3 ),
1815 array( 'lhs' => 92, 'rhs' => 3 ),
1816 array( 'lhs' => 90, 'rhs' => 1 ),
1817 array( 'lhs' => 90, 'rhs' => 1 ),
1818 array( 'lhs' => 90, 'rhs' => 4 ),
1819 array( 'lhs' => 90, 'rhs' => 3 ),
1820 array( 'lhs' => 90, 'rhs' => 3 ),
1821 array( 'lhs' => 90, 'rhs' => 3 ),
1822 array( 'lhs' => 90, 'rhs' => 1 ),
1823 array( 'lhs' => 90, 'rhs' => 2 ),
1824 array( 'lhs' => 90, 'rhs' => 3 ),
1825 array( 'lhs' => 90, 'rhs' => 3 ),
1826 array( 'lhs' => 90, 'rhs' => 3 ),
1827 array( 'lhs' => 90, 'rhs' => 3 ),
1828 array( 'lhs' => 90, 'rhs' => 3 ),
1829 array( 'lhs' => 90, 'rhs' => 3 ),
1830 array( 'lhs' => 90, 'rhs' => 2 ),
1831 array( 'lhs' => 90, 'rhs' => 2 ),
1832 array( 'lhs' => 90, 'rhs' => 3 ),
1833 array( 'lhs' => 90, 'rhs' => 3 ),
1834 array( 'lhs' => 90, 'rhs' => 2 ),
1835 array( 'lhs' => 90, 'rhs' => 2 ),
1836 array( 'lhs' => 90, 'rhs' => 3 ),
1837 array( 'lhs' => 90, 'rhs' => 3 ),
1838 array( 'lhs' => 90, 'rhs' => 3 ),
1839 array( 'lhs' => 90, 'rhs' => 3 ),
1840 array( 'lhs' => 99, 'rhs' => 8 ),
1841 array( 'lhs' => 99, 'rhs' => 7 ),
1842 array( 'lhs' => 87, 'rhs' => 1 ),
1843 array( 'lhs' => 87, 'rhs' => 2 ),
1844 array( 'lhs' => 87, 'rhs' => 2 ),
1845 array( 'lhs' => 87, 'rhs' => 2 ),
1846 array( 'lhs' => 87, 'rhs' => 2 ),
1847 array( 'lhs' => 87, 'rhs' => 1 ),
1848 array( 'lhs' => 87, 'rhs' => 1 ),
1849 array( 'lhs' => 87, 'rhs' => 3 ),
1850 array( 'lhs' => 87, 'rhs' => 2 ),
1851 array( 'lhs' => 87, 'rhs' => 2 ),
1852 array( 'lhs' => 87, 'rhs' => 1 ),
1853 array( 'lhs' => 87, 'rhs' => 1 ),
1854 array( 'lhs' => 87, 'rhs' => 3 ),
1855 array( 'lhs' => 87, 'rhs' => 1 ),
1856 array( 'lhs' => 87, 'rhs' => 1 ),
1857 array( 'lhs' => 87, 'rhs' => 3 ),
1858 array( 'lhs' => 87, 'rhs' => 3 ),
1859 array( 'lhs' => 87, 'rhs' => 1 ),
1860 array( 'lhs' => 87, 'rhs' => 2 ),
1861 array( 'lhs' => 103, 'rhs' => 1 ),
1862 array( 'lhs' => 103, 'rhs' => 4 ),
1863 array( 'lhs' => 103, 'rhs' => 1 ),
1864 array( 'lhs' => 103, 'rhs' => 3 ),
1865 array( 'lhs' => 103, 'rhs' => 3 ),
1866 array( 'lhs' => 91, 'rhs' => 3 ),
1867 array( 'lhs' => 108, 'rhs' => 2 ),
1868 array( 'lhs' => 108, 'rhs' => 0 ),
1869 array( 'lhs' => 109, 'rhs' => 3 ),
1870 array( 'lhs' => 109, 'rhs' => 5 ),
1871 array( 'lhs' => 109, 'rhs' => 2 ),
1872 array( 'lhs' => 109, 'rhs' => 2 ),
1873 array( 'lhs' => 109, 'rhs' => 4 ),
1874 array( 'lhs' => 109, 'rhs' => 3 ),
1875 array( 'lhs' => 109, 'rhs' => 5 ),
1876 array( 'lhs' => 109, 'rhs' => 3 ),
1877 array( 'lhs' => 109, 'rhs' => 2 ),
1878 array( 'lhs' => 95, 'rhs' => 1 ),
1879 array( 'lhs' => 95, 'rhs' => 2 ),
1880 array( 'lhs' => 110, 'rhs' => 1 ),
1881 array( 'lhs' => 110, 'rhs' => 3 ),
1882 array( 'lhs' => 107, 'rhs' => 2 ),
1883 array( 'lhs' => 111, 'rhs' => 1 ),
1884 array( 'lhs' => 111, 'rhs' => 2 ),
1885 array( 'lhs' => 112, 'rhs' => 3 ),
1886 array( 'lhs' => 112, 'rhs' => 4 ),
1887 array( 'lhs' => 112, 'rhs' => 5 ),
1888 array( 'lhs' => 112, 'rhs' => 6 ),
1889 array( 'lhs' => 112, 'rhs' => 2 ),
1890 array( 'lhs' => 104, 'rhs' => 4 ),
1891 array( 'lhs' => 113, 'rhs' => 4 ),
1892 array( 'lhs' => 113, 'rhs' => 5 ),
1893 array( 'lhs' => 114, 'rhs' => 3 ),
1894 array( 'lhs' => 114, 'rhs' => 1 ),
1895 array( 'lhs' => 114, 'rhs' => 0 ),
1896 array( 'lhs' => 88, 'rhs' => 3 ),
1897 array( 'lhs' => 88, 'rhs' => 2 ),
1898 array( 'lhs' => 115, 'rhs' => 3 ),
1899 array( 'lhs' => 115, 'rhs' => 2 ),
1900 array( 'lhs' => 97, 'rhs' => 2 ),
1901 array( 'lhs' => 97, 'rhs' => 0 ),
1902 array( 'lhs' => 116, 'rhs' => 2 ),
1903 array( 'lhs' => 116, 'rhs' => 2 ),
1904 array( 'lhs' => 106, 'rhs' => 1 ),
1905 array( 'lhs' => 106, 'rhs' => 2 ),
1906 array( 'lhs' => 106, 'rhs' => 1 ),
1907 array( 'lhs' => 106, 'rhs' => 3 ),
1908 array( 'lhs' => 106, 'rhs' => 4 ),
1909 array( 'lhs' => 101, 'rhs' => 1 ),
1910 array( 'lhs' => 101, 'rhs' => 1 ),
1911 array( 'lhs' => 101, 'rhs' => 1 ),
1912 array( 'lhs' => 101, 'rhs' => 1 ),
1913 array( 'lhs' => 101, 'rhs' => 1 ),
1914 array( 'lhs' => 101, 'rhs' => 1 ),
1915 array( 'lhs' => 101, 'rhs' => 1 ),
1916 array( 'lhs' => 101, 'rhs' => 1 ),
1917 array( 'lhs' => 101, 'rhs' => 1 ),
1918 array( 'lhs' => 102, 'rhs' => 1 ),
1919 array( 'lhs' => 102, 'rhs' => 1 ),
1920 array( 'lhs' => 102, 'rhs' => 1 ),
1921 array( 'lhs' => 100, 'rhs' => 3 ),
1922 array( 'lhs' => 117, 'rhs' => 1 ),
1923 array( 'lhs' => 117, 'rhs' => 3 ),
1924 array( 'lhs' => 117, 'rhs' => 0 ),
1925 array( 'lhs' => 118, 'rhs' => 3 ),
1926 array( 'lhs' => 118, 'rhs' => 3 ),
1927 array( 'lhs' => 118, 'rhs' => 1 ),
1928 array( 'lhs' => 105, 'rhs' => 2 ),
1929 array( 'lhs' => 105, 'rhs' => 3 ),
1930 array( 'lhs' => 119, 'rhs' => 2 ),
1931 array( 'lhs' => 119, 'rhs' => 1 ),
1932 array( 'lhs' => 120, 'rhs' => 3 ),
1933 array( 'lhs' => 120, 'rhs' => 3 ),
1934 array( 'lhs' => 120, 'rhs' => 1 ),
1935 array( 'lhs' => 120, 'rhs' => 3 ),
1936 array( 'lhs' => 120, 'rhs' => 3 ),
1937 array( 'lhs' => 120, 'rhs' => 1 ),
1938 array( 'lhs' => 120, 'rhs' => 1 ),
1939 array( 'lhs' => 94, 'rhs' => 1 ),
1940 array( 'lhs' => 94, 'rhs' => 0 ),
1941 );
1943 static public $yyReduceMap = array(
1944 0 => 0,
1945 1 => 1,
1946 2 => 1,
1947 4 => 4,
1948 5 => 5,
1949 6 => 6,
1950 7 => 7,
1951 8 => 8,
1952 9 => 9,
1953 10 => 10,
1954 11 => 11,
1955 12 => 12,
1956 13 => 13,
1957 14 => 14,
1958 15 => 15,
1959 18 => 15,
1960 200 => 15,
1961 16 => 16,
1962 75 => 16,
1963 17 => 17,
1964 103 => 17,
1965 105 => 17,
1966 106 => 17,
1967 127 => 17,
1968 165 => 17,
1969 19 => 19,
1970 20 => 19,
1971 46 => 19,
1972 68 => 19,
1973 69 => 19,
1974 76 => 19,
1975 77 => 19,
1976 82 => 19,
1977 102 => 19,
1978 107 => 19,
1979 108 => 19,
1980 113 => 19,
1981 115 => 19,
1982 116 => 19,
1983 123 => 19,
1984 138 => 19,
1985 164 => 19,
1986 166 => 19,
1987 182 => 19,
1988 187 => 19,
1989 199 => 19,
1990 21 => 21,
1991 22 => 21,
1992 23 => 23,
1993 24 => 24,
1994 25 => 25,
1995 26 => 26,
1996 27 => 27,
1997 28 => 28,
1998 30 => 28,
1999 29 => 29,
2000 31 => 31,
2001 32 => 31,
2002 33 => 33,
2003 34 => 34,
2004 35 => 35,
2005 36 => 36,
2006 37 => 37,
2007 38 => 38,
2008 39 => 39,
2009 40 => 40,
2010 41 => 41,
2011 43 => 41,
2012 42 => 42,
2013 44 => 44,
2014 45 => 45,
2015 47 => 47,
2016 48 => 48,
2017 49 => 49,
2018 50 => 50,
2019 51 => 51,
2020 52 => 52,
2021 53 => 53,
2022 54 => 54,
2023 55 => 55,
2024 56 => 56,
2025 57 => 57,
2026 58 => 58,
2027 59 => 59,
2028 60 => 60,
2029 61 => 61,
2030 62 => 62,
2031 71 => 62,
2032 154 => 62,
2033 158 => 62,
2034 162 => 62,
2035 163 => 62,
2036 63 => 63,
2037 155 => 63,
2038 161 => 63,
2039 64 => 64,
2040 65 => 65,
2041 66 => 65,
2042 70 => 65,
2043 67 => 67,
2044 72 => 72,
2045 73 => 73,
2046 74 => 73,
2047 78 => 78,
2048 79 => 79,
2049 80 => 79,
2050 81 => 79,
2051 83 => 83,
2052 120 => 83,
2053 84 => 84,
2054 87 => 84,
2055 98 => 84,
2056 85 => 85,
2057 86 => 86,
2058 88 => 88,
2059 89 => 89,
2060 90 => 90,
2061 95 => 90,
2062 91 => 91,
2063 94 => 91,
2064 92 => 92,
2065 97 => 92,
2066 93 => 93,
2067 96 => 93,
2068 99 => 99,
2069 100 => 100,
2070 101 => 101,
2071 104 => 104,
2072 109 => 109,
2073 110 => 110,
2074 111 => 111,
2075 112 => 112,
2076 114 => 114,
2077 117 => 117,
2078 118 => 118,
2079 119 => 119,
2080 121 => 121,
2081 122 => 122,
2082 124 => 124,
2083 125 => 125,
2084 126 => 126,
2085 128 => 128,
2086 184 => 128,
2087 129 => 129,
2088 130 => 130,
2089 131 => 131,
2090 132 => 132,
2091 133 => 133,
2092 136 => 133,
2093 134 => 134,
2094 135 => 135,
2095 137 => 137,
2096 139 => 139,
2097 140 => 140,
2098 141 => 141,
2099 142 => 142,
2100 143 => 143,
2101 144 => 144,
2102 145 => 145,
2103 146 => 146,
2104 147 => 147,
2105 148 => 148,
2106 149 => 149,
2107 150 => 150,
2108 151 => 151,
2109 152 => 152,
2110 153 => 153,
2111 156 => 156,
2112 157 => 157,
2113 159 => 159,
2114 160 => 160,
2115 167 => 167,
2116 168 => 168,
2117 169 => 169,
2118 170 => 170,
2119 171 => 171,
2120 172 => 172,
2121 173 => 173,
2122 174 => 174,
2123 175 => 175,
2124 176 => 176,
2125 177 => 177,
2126 178 => 178,
2127 179 => 179,
2128 180 => 180,
2129 181 => 181,
2130 183 => 183,
2131 185 => 185,
2132 186 => 186,
2133 188 => 188,
2134 189 => 189,
2135 190 => 190,
2136 191 => 191,
2137 192 => 192,
2138 193 => 192,
2139 195 => 192,
2140 194 => 194,
2141 196 => 196,
2142 197 => 197,
2143 198 => 198,
2144 );
2145 #line 94 "smarty_internal_templateparser.y"
2146 function yy_r0(){
2147 $this->_retvalue = $this->root_buffer->to_smarty_php();
2148 }
2149 #line 2145 "smarty_internal_templateparser.php"
2150 #line 102 "smarty_internal_templateparser.y"
2151 function yy_r1(){
2152 $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor);
2153 }
2154 #line 2150 "smarty_internal_templateparser.php"
2155 #line 118 "smarty_internal_templateparser.y"
2156 function yy_r4(){
2157 if ($this->compiler->has_code) {
2158 $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
2159 $this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
2160 } else {
2161 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
2162 }
2163 $this->compiler->has_variable_string = false;
2164 $this->block_nesting_level = count($this->compiler->_tag_stack);
2165 }
2166 #line 2162 "smarty_internal_templateparser.php"
2167 #line 130 "smarty_internal_templateparser.y"
2168 function yy_r5(){
2169 $this->_retvalue = new _smarty_tag($this, '');
2170 }
2171 #line 2167 "smarty_internal_templateparser.php"
2172 #line 135 "smarty_internal_templateparser.y"
2173 function yy_r6(){
2174 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2175 }
2176 #line 2172 "smarty_internal_templateparser.php"
2177 #line 140 "smarty_internal_templateparser.y"
2178 function yy_r7(){
2179 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2180 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2181 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2182 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2183 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2184 if (!($this->smarty instanceof SmartyBC)) {
2185 $this->compiler->trigger_template_error (self::Err3);
2186 }
2187 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<?php', true));
2188 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2189 $this->_retvalue = new _smarty_text($this, '');
2190 }
2191 }
2192 #line 2188 "smarty_internal_templateparser.php"
2193 #line 156 "smarty_internal_templateparser.y"
2194 function yy_r8(){
2195 if ($this->is_xml) {
2196 $this->compiler->tag_nocache = true;
2197 $this->is_xml = false;
2198 $save = $this->template->has_nocache_code;
2199 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
2200 $this->template->has_nocache_code = $save;
2201 } elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
2202 $this->_retvalue = new _smarty_text($this, '?<?php ?>>');
2203 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2204 $this->_retvalue = new _smarty_text($this, htmlspecialchars('?>', ENT_QUOTES));
2205 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2206 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('?>', true));
2207 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2208 $this->_retvalue = new _smarty_text($this, '');
2209 }
2210 }
2211 #line 2207 "smarty_internal_templateparser.php"
2212 #line 175 "smarty_internal_templateparser.y"
2213 function yy_r9(){
2214 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2215 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2216 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2217 $this->_retvalue = new _smarty_text($this, htmlspecialchars($this->yystack[$this->yyidx + 0]->minor, ENT_QUOTES));
2218 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2219 if ($this->asp_tags) {
2220 if (!($this->smarty instanceof SmartyBC)) {
2221 $this->compiler->trigger_template_error (self::Err3);
2222 }
2223 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('<%', true));
2224 } else {
2225 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2226 }
2227 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2228 if ($this->asp_tags) {
2229 $this->_retvalue = new _smarty_text($this, '');
2230 } else {
2231 $this->_retvalue = new _smarty_text($this, '<<?php ?>%');
2232 }
2233 }
2234 }
2235 #line 2231 "smarty_internal_templateparser.php"
2236 #line 199 "smarty_internal_templateparser.y"
2237 function yy_r10(){
2238 if ($this->php_handling == Smarty::PHP_PASSTHRU) {
2239 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2240 } elseif ($this->php_handling == Smarty::PHP_QUOTE) {
2241 $this->_retvalue = new _smarty_text($this, htmlspecialchars('%>', ENT_QUOTES));
2242 } elseif ($this->php_handling == Smarty::PHP_ALLOW) {
2243 if ($this->asp_tags) {
2244 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode('%>', true));
2245 } else {
2246 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2247 }
2248 } elseif ($this->php_handling == Smarty::PHP_REMOVE) {
2249 if ($this->asp_tags) {
2250 $this->_retvalue = new _smarty_text($this, '');
2251 } else {
2252 $this->_retvalue = new _smarty_text($this, '%<?php ?>>');
2253 }
2254 }
2255 }
2256 #line 2252 "smarty_internal_templateparser.php"
2257 #line 219 "smarty_internal_templateparser.y"
2258 function yy_r11(){
2259 if ($this->lex->strip) {
2260 $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)));
2261 } else {
2262 $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
2263 }
2264 }
2265 #line 2261 "smarty_internal_templateparser.php"
2266 #line 228 "smarty_internal_templateparser.y"
2267 function yy_r12(){
2268 $this->compiler->tag_nocache = true;
2269 $this->is_xml = true;
2270 $save = $this->template->has_nocache_code;
2271 $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
2272 $this->template->has_nocache_code = $save;
2273 }
2274 #line 2270 "smarty_internal_templateparser.php"
2275 #line 237 "smarty_internal_templateparser.y"
2276 function yy_r13(){
2277 if ($this->lex->strip) {
2278 $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
2279 } else {
2280 $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
2281 }
2282 }
2283 #line 2279 "smarty_internal_templateparser.php"
2284 #line 245 "smarty_internal_templateparser.y"
2285 function yy_r14(){
2286 $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
2287 }
2288 #line 2284 "smarty_internal_templateparser.php"
2289 #line 250 "smarty_internal_templateparser.y"
2290 function yy_r15(){
2291 $this->_retvalue = '';
2292 }
2293 #line 2289 "smarty_internal_templateparser.php"
2294 #line 254 "smarty_internal_templateparser.y"
2295 function yy_r16(){
2296 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
2297 }
2298 #line 2294 "smarty_internal_templateparser.php"
2299 #line 258 "smarty_internal_templateparser.y"
2300 function yy_r17(){
2301 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2302 }
2303 #line 2299 "smarty_internal_templateparser.php"
2304 #line 266 "smarty_internal_templateparser.y"
2305 function yy_r19(){
2306 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2307 }
2308 #line 2304 "smarty_internal_templateparser.php"
2309 #line 274 "smarty_internal_templateparser.y"
2310 function yy_r21(){
2311 $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor);
2312 }
2313 #line 2309 "smarty_internal_templateparser.php"
2314 #line 282 "smarty_internal_templateparser.y"
2315 function yy_r23(){
2316 $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor);
2317 }
2318 #line 2314 "smarty_internal_templateparser.php"
2319 #line 286 "smarty_internal_templateparser.y"
2320 function yy_r24(){
2321 $this->_retvalue = '<<?php ?>%';
2322 }
2323 #line 2319 "smarty_internal_templateparser.php"
2324 #line 290 "smarty_internal_templateparser.y"
2325 function yy_r25(){
2326 $this->_retvalue = '%<?php ?>>';
2327 }
2328 #line 2324 "smarty_internal_templateparser.php"
2329 #line 300 "smarty_internal_templateparser.y"
2330 function yy_r26(){
2331 $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor));
2332 }
2333 #line 2329 "smarty_internal_templateparser.php"
2334 #line 304 "smarty_internal_templateparser.y"
2335 function yy_r27(){
2336 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
2337 }
2338 #line 2334 "smarty_internal_templateparser.php"
2339 #line 308 "smarty_internal_templateparser.y"
2340 function yy_r28(){
2341 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor));
2342 }
2343 #line 2339 "smarty_internal_templateparser.php"
2344 #line 312 "smarty_internal_templateparser.y"
2345 function yy_r29(){
2346 $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor));
2347 }
2348 #line 2344 "smarty_internal_templateparser.php"
2349 #line 325 "smarty_internal_templateparser.y"
2350 function yy_r31(){
2351 $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'")));
2352 }
2353 #line 2349 "smarty_internal_templateparser.php"
2354 #line 333 "smarty_internal_templateparser.y"
2355 function yy_r33(){
2356 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor));
2357 }
2358 #line 2354 "smarty_internal_templateparser.php"
2359 #line 337 "smarty_internal_templateparser.y"
2360 function yy_r34(){
2361 $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index']));
2362 }
2363 #line 2359 "smarty_internal_templateparser.php"
2364 #line 342 "smarty_internal_templateparser.y"
2365 function yy_r35(){
2366 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor);
2367 }
2368 #line 2364 "smarty_internal_templateparser.php"
2369 #line 346 "smarty_internal_templateparser.y"
2370 function yy_r36(){
2371 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array());
2372 }
2373 #line 2369 "smarty_internal_templateparser.php"
2374 #line 351 "smarty_internal_templateparser.y"
2375 function yy_r37(){
2376 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor));
2377 }
2378 #line 2374 "smarty_internal_templateparser.php"
2379 #line 356 "smarty_internal_templateparser.y"
2380 function yy_r38(){
2381 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
2382 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2383 }
2384 #line 2380 "smarty_internal_templateparser.php"
2385 #line 362 "smarty_internal_templateparser.y"
2386 function yy_r39(){
2387 $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
2388 $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
2389 }
2390 #line 2386 "smarty_internal_templateparser.php"
2391 #line 368 "smarty_internal_templateparser.y"
2392 function yy_r40(){
2393 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
2394 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
2395 }
2396 #line 2392 "smarty_internal_templateparser.php"
2397 #line 373 "smarty_internal_templateparser.y"
2398 function yy_r41(){
2399 $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length));
2400 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor));
2401 }
2402 #line 2398 "smarty_internal_templateparser.php"
2403 #line 378 "smarty_internal_templateparser.y"
2404 function yy_r42(){
2405 $tag = trim(substr($this->yystack[$this->yyidx + -2]->minor,$this->lex->ldel_length));
2406 $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor));
2407 }
2408 #line 2404 "smarty_internal_templateparser.php"
2409 #line 389 "smarty_internal_templateparser.y"
2410 function yy_r44(){
2411 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1);
2412 }
2413 #line 2409 "smarty_internal_templateparser.php"
2414 #line 393 "smarty_internal_templateparser.y"
2415 function yy_r45(){
2416 $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor;
2417 }
2418 #line 2414 "smarty_internal_templateparser.php"
2419 #line 401 "smarty_internal_templateparser.y"
2420 function yy_r47(){
2421 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0);
2422 }
2423 #line 2419 "smarty_internal_templateparser.php"
2424 #line 405 "smarty_internal_templateparser.y"
2425 function yy_r48(){
2426 $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0);
2427 }
2428 #line 2424 "smarty_internal_templateparser.php"
2429 #line 410 "smarty_internal_templateparser.y"
2430 function yy_r49(){
2431 $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor);
2432 }
2433 #line 2429 "smarty_internal_templateparser.php"
2434 #line 415 "smarty_internal_templateparser.y"
2435 function yy_r50(){
2436 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
2437 }
2438 #line 2434 "smarty_internal_templateparser.php"
2439 #line 419 "smarty_internal_templateparser.y"
2440 function yy_r51(){
2441 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
2442 }
2443 #line 2439 "smarty_internal_templateparser.php"
2444 #line 423 "smarty_internal_templateparser.y"
2445 function yy_r52(){
2446 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor))));
2447 }
2448 #line 2444 "smarty_internal_templateparser.php"
2449 #line 427 "smarty_internal_templateparser.y"
2450 function yy_r53(){
2451 $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor))));
2452 }
2453 #line 2449 "smarty_internal_templateparser.php"
2454 #line 432 "smarty_internal_templateparser.y"
2455 function yy_r54(){
2456 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array($this->yystack[$this->yyidx + -2]->minor),$this->yystack[$this->yyidx + -1]->minor))));
2457 }
2458 #line 2454 "smarty_internal_templateparser.php"
2459 #line 436 "smarty_internal_templateparser.y"
2460 function yy_r55(){
2461 $this->_retvalue = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array($this->yystack[$this->yyidx + -3]->minor),$this->yystack[$this->yyidx + -2]->minor)),$this->yystack[$this->yyidx + -1]->minor)));
2462 }
2463 #line 2459 "smarty_internal_templateparser.php"
2464 #line 441 "smarty_internal_templateparser.y"
2465 function yy_r56(){
2466 $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
2467 }
2468 #line 2464 "smarty_internal_templateparser.php"
2469 #line 447 "smarty_internal_templateparser.y"
2470 function yy_r57(){
2471 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array());
2472 }
2473 #line 2469 "smarty_internal_templateparser.php"
2474 #line 451 "smarty_internal_templateparser.y"
2475 function yy_r58(){
2476 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2477 }
2478 #line 2474 "smarty_internal_templateparser.php"
2479 #line 456 "smarty_internal_templateparser.y"
2480 function yy_r59(){
2481 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor));
2482 }
2483 #line 2479 "smarty_internal_templateparser.php"
2484 #line 460 "smarty_internal_templateparser.y"
2485 function yy_r60(){
2486 $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
2487 }
2488 #line 2484 "smarty_internal_templateparser.php"
2489 #line 468 "smarty_internal_templateparser.y"
2490 function yy_r61(){
2491 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
2492 $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
2493 }
2494 #line 2490 "smarty_internal_templateparser.php"
2495 #line 474 "smarty_internal_templateparser.y"
2496 function yy_r62(){
2497 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2498 }
2499 #line 2495 "smarty_internal_templateparser.php"
2500 #line 479 "smarty_internal_templateparser.y"
2501 function yy_r63(){
2502 $this->_retvalue = array();
2503 }
2504 #line 2500 "smarty_internal_templateparser.php"
2505 #line 484 "smarty_internal_templateparser.y"
2506 function yy_r64(){
2507 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2508 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
2509 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2510 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
2511 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2512 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null');
2513 } else {
2514 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'");
2515 }
2516 }
2517 #line 2513 "smarty_internal_templateparser.php"
2518 #line 496 "smarty_internal_templateparser.y"
2519 function yy_r65(){
2520 $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor);
2521 }
2522 #line 2518 "smarty_internal_templateparser.php"
2523 #line 504 "smarty_internal_templateparser.y"
2524 function yy_r67(){
2525 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
2526 }
2527 #line 2523 "smarty_internal_templateparser.php"
2528 #line 529 "smarty_internal_templateparser.y"
2529 function yy_r72(){
2530 $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor;
2531 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor;
2532 }
2533 #line 2529 "smarty_internal_templateparser.php"
2534 #line 534 "smarty_internal_templateparser.y"
2535 function yy_r73(){
2536 $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor);
2537 }
2538 #line 2534 "smarty_internal_templateparser.php"
2539 #line 562 "smarty_internal_templateparser.y"
2540 function yy_r78(){
2541 $this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')';
2542 }
2543 #line 2539 "smarty_internal_templateparser.php"
2544 #line 567 "smarty_internal_templateparser.y"
2545 function yy_r79(){
2546 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor;
2547 }
2548 #line 2544 "smarty_internal_templateparser.php"
2549 #line 586 "smarty_internal_templateparser.y"
2550 function yy_r83(){
2551 $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor));
2552 }
2553 #line 2549 "smarty_internal_templateparser.php"
2554 #line 592 "smarty_internal_templateparser.y"
2555 function yy_r84(){
2556 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2557 }
2558 #line 2554 "smarty_internal_templateparser.php"
2559 #line 596 "smarty_internal_templateparser.y"
2560 function yy_r85(){
2561 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')';
2562 }
2563 #line 2559 "smarty_internal_templateparser.php"
2564 #line 600 "smarty_internal_templateparser.y"
2565 function yy_r86(){
2566 $this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')';
2567 }
2568 #line 2564 "smarty_internal_templateparser.php"
2569 #line 608 "smarty_internal_templateparser.y"
2570 function yy_r88(){
2571 $this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
2572 }
2573 #line 2569 "smarty_internal_templateparser.php"
2574 #line 612 "smarty_internal_templateparser.y"
2575 function yy_r89(){
2576 $this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')';
2577 }
2578 #line 2574 "smarty_internal_templateparser.php"
2579 #line 616 "smarty_internal_templateparser.y"
2580 function yy_r90(){
2581 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
2582 }
2583 #line 2579 "smarty_internal_templateparser.php"
2584 #line 620 "smarty_internal_templateparser.y"
2585 function yy_r91(){
2586 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')';
2587 }
2588 #line 2584 "smarty_internal_templateparser.php"
2589 #line 624 "smarty_internal_templateparser.y"
2590 function yy_r92(){
2591 $this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
2592 }
2593 #line 2589 "smarty_internal_templateparser.php"
2594 #line 628 "smarty_internal_templateparser.y"
2595 function yy_r93(){
2596 $this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')';
2597 }
2598 #line 2594 "smarty_internal_templateparser.php"
2599 #line 652 "smarty_internal_templateparser.y"
2600 function yy_r99(){
2601 $this->prefix_number++;
2602 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>';
2603 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number;
2604 }
2605 #line 2601 "smarty_internal_templateparser.php"
2606 #line 661 "smarty_internal_templateparser.y"
2607 function yy_r100(){
2608 $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? '. $this->compileVariable("'".$this->yystack[$this->yyidx + -2]->minor."'") . ' : '.$this->yystack[$this->yyidx + 0]->minor;
2609 }
2610 #line 2606 "smarty_internal_templateparser.php"
2611 #line 665 "smarty_internal_templateparser.y"
2612 function yy_r101(){
2613 $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor;
2614 }
2615 #line 2611 "smarty_internal_templateparser.php"
2616 #line 680 "smarty_internal_templateparser.y"
2617 function yy_r104(){
2618 $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor;
2619 }
2620 #line 2616 "smarty_internal_templateparser.php"
2621 #line 701 "smarty_internal_templateparser.y"
2622 function yy_r109(){
2623 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
2624 }
2625 #line 2621 "smarty_internal_templateparser.php"
2626 #line 705 "smarty_internal_templateparser.y"
2627 function yy_r110(){
2628 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.';
2629 }
2630 #line 2626 "smarty_internal_templateparser.php"
2631 #line 709 "smarty_internal_templateparser.y"
2632 function yy_r111(){
2633 $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor;
2634 }
2635 #line 2631 "smarty_internal_templateparser.php"
2636 #line 714 "smarty_internal_templateparser.y"
2637 function yy_r112(){
2638 if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2639 $this->_retvalue = 'true';
2640 } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2641 $this->_retvalue = 'false';
2642 } elseif (preg_match('~^null$~i', $this->yystack[$this->yyidx + 0]->minor)) {
2643 $this->_retvalue = 'null';
2644 } else {
2645 $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'";
2646 }
2647 }
2648 #line 2644 "smarty_internal_templateparser.php"
2649 #line 732 "smarty_internal_templateparser.y"
2650 function yy_r114(){
2651 $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")";
2652 }
2653 #line 2649 "smarty_internal_templateparser.php"
2654 #line 747 "smarty_internal_templateparser.y"
2655 function yy_r117(){
2656 if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) {
2657 if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor])) {
2658 $this->_retvalue = $this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor].'::'.$this->yystack[$this->yyidx + 0]->minor;
2659 } else {
2660 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
2661 }
2662 } else {
2663 $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
2664 }
2665 }
2666 #line 2662 "smarty_internal_templateparser.php"
2667 #line 759 "smarty_internal_templateparser.y"
2668 function yy_r118(){
2669 if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') {
2670 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;
2671 } else {
2672 $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + -2]->minor['var']).$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor;
2673 }
2674 }
2675 #line 2671 "smarty_internal_templateparser.php"
2676 #line 768 "smarty_internal_templateparser.y"
2677 function yy_r119(){
2678 $this->prefix_number++;
2679 $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>';
2680 $this->_retvalue = '$_tmp'.$this->prefix_number;
2681 }
2682 #line 2678 "smarty_internal_templateparser.php"
2683 #line 783 "smarty_internal_templateparser.y"
2684 function yy_r121(){
2685 if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2686 $smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
2687 $this->_retvalue = $smarty_var;
2688 } else {
2689 // used for array reset,next,prev,end,current
2690 $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2691 $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2692 $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']).$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2693 }
2694 }
2695 #line 2691 "smarty_internal_templateparser.php"
2696 #line 796 "smarty_internal_templateparser.y"
2697 function yy_r122(){
2698 $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor;
2699 }
2700 #line 2696 "smarty_internal_templateparser.php"
2701 #line 806 "smarty_internal_templateparser.y"
2702 function yy_r124(){
2703 $this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')';
2704 }
2705 #line 2701 "smarty_internal_templateparser.php"
2706 #line 810 "smarty_internal_templateparser.y"
2707 function yy_r125(){
2708 $this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')';
2709 }
2710 #line 2706 "smarty_internal_templateparser.php"
2711 #line 814 "smarty_internal_templateparser.y"
2712 function yy_r126(){
2713 $this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor);
2714 }
2715 #line 2711 "smarty_internal_templateparser.php"
2716 #line 827 "smarty_internal_templateparser.y"
2717 function yy_r128(){
2718 return;
2719 }
2720 #line 2716 "smarty_internal_templateparser.php"
2721 #line 833 "smarty_internal_templateparser.y"
2722 function yy_r129(){
2723 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + 0]->minor).']';
2724 }
2725 #line 2721 "smarty_internal_templateparser.php"
2726 #line 837 "smarty_internal_templateparser.y"
2727 function yy_r130(){
2728 $this->_retvalue = '['.$this->compileVariable($this->yystack[$this->yyidx + -2]->minor).'->'.$this->yystack[$this->yyidx + 0]->minor.']';
2729 }
2730 #line 2726 "smarty_internal_templateparser.php"
2731 #line 841 "smarty_internal_templateparser.y"
2732 function yy_r131(){
2733 $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']";
2734 }
2735 #line 2731 "smarty_internal_templateparser.php"
2736 #line 845 "smarty_internal_templateparser.y"
2737 function yy_r132(){
2738 $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]";
2739 }
2740 #line 2736 "smarty_internal_templateparser.php"
2741 #line 849 "smarty_internal_templateparser.y"
2742 function yy_r133(){
2743 $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]";
2744 }
2745 #line 2741 "smarty_internal_templateparser.php"
2746 #line 854 "smarty_internal_templateparser.y"
2747 function yy_r134(){
2748 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']';
2749 }
2750 #line 2746 "smarty_internal_templateparser.php"
2751 #line 858 "smarty_internal_templateparser.y"
2752 function yy_r135(){
2753 $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']';
2754 }
2755 #line 2751 "smarty_internal_templateparser.php"
2756 #line 868 "smarty_internal_templateparser.y"
2757 function yy_r137(){
2758 $this->_retvalue = '[]';
2759 }
2760 #line 2756 "smarty_internal_templateparser.php"
2761 #line 881 "smarty_internal_templateparser.y"
2762 function yy_r139(){
2763 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor;
2764 }
2765 #line 2761 "smarty_internal_templateparser.php"
2766 #line 886 "smarty_internal_templateparser.y"
2767 function yy_r140(){
2768 $this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\'';
2769 }
2770 #line 2766 "smarty_internal_templateparser.php"
2771 #line 891 "smarty_internal_templateparser.y"
2772 function yy_r141(){
2773 $this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')';
2774 }
2775 #line 2771 "smarty_internal_templateparser.php"
2776 #line 898 "smarty_internal_templateparser.y"
2777 function yy_r142(){
2778 if ($this->yystack[$this->yyidx + -1]->minor['var'] == '\'smarty\'') {
2779 $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index']).$this->yystack[$this->yyidx + 0]->minor;
2780 } else {
2781 $this->_retvalue = $this->compileVariable($this->yystack[$this->yyidx + -1]->minor['var']).$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor;
2782 }
2783 }
2784 #line 2780 "smarty_internal_templateparser.php"
2785 #line 907 "smarty_internal_templateparser.y"
2786 function yy_r143(){
2787 $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2788 }
2789 #line 2785 "smarty_internal_templateparser.php"
2790 #line 912 "smarty_internal_templateparser.y"
2791 function yy_r144(){
2792 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2793 }
2794 #line 2790 "smarty_internal_templateparser.php"
2795 #line 917 "smarty_internal_templateparser.y"
2796 function yy_r145(){
2797 if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
2798 $this->compiler->trigger_template_error (self::Err1);
2799 }
2800 $this->_retvalue = '->'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2801 }
2802 #line 2798 "smarty_internal_templateparser.php"
2803 #line 924 "smarty_internal_templateparser.y"
2804 function yy_r146(){
2805 if ($this->security) {
2806 $this->compiler->trigger_template_error (self::Err2);
2807 }
2808 $this->_retvalue = '->{'.$this->compileVariable($this->yystack[$this->yyidx + -1]->minor).$this->yystack[$this->yyidx + 0]->minor.'}';
2809 }
2810 #line 2806 "smarty_internal_templateparser.php"
2811 #line 931 "smarty_internal_templateparser.y"
2812 function yy_r147(){
2813 if ($this->security) {
2814 $this->compiler->trigger_template_error (self::Err2);
2815 }
2816 $this->_retvalue = '->{'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2817 }
2818 #line 2814 "smarty_internal_templateparser.php"
2819 #line 938 "smarty_internal_templateparser.y"
2820 function yy_r148(){
2821 if ($this->security) {
2822 $this->compiler->trigger_template_error (self::Err2);
2823 }
2824 $this->_retvalue = '->{\''.$this->yystack[$this->yyidx + -4]->minor.'\'.'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + 0]->minor.'}';
2825 }
2826 #line 2822 "smarty_internal_templateparser.php"
2827 #line 946 "smarty_internal_templateparser.y"
2828 function yy_r149(){
2829 $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor;
2830 }
2831 #line 2827 "smarty_internal_templateparser.php"
2832 #line 954 "smarty_internal_templateparser.y"
2833 function yy_r150(){
2834 if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
2835 if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) {
2836 $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor);
2837 if ($func_name == 'isset') {
2838 if (count($this->yystack[$this->yyidx + -1]->minor) == 0) {
2839 $this->compiler->trigger_template_error ('Illegal number of paramer in "isset()"');
2840 }
2841 $par = implode(',',$this->yystack[$this->yyidx + -1]->minor);
2842 if (strncasecmp($par,'$_smarty_tpl->getConfigVariable',strlen('$_smarty_tpl->getConfigVariable')) === 0) {
2843 $this->prefix_number++;
2844 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.str_replace(')',', false)',$par).';?>';
2845 $isset_par = '$_tmp'.$this->prefix_number;
2846 } else {
2847 $isset_par=str_replace("')->value","',null,true,false)->value",$par);
2848 }
2849 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". $isset_par .")";
2850 } elseif (in_array($func_name,array('empty','reset','current','end','prev','next'))){
2851 if (count($this->yystack[$this->yyidx + -1]->minor) != 1) {
2852 $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"');
2853 }
2854 if ($func_name == 'empty') {
2855 $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')';
2856 } else {
2857 $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')';
2858 }
2859 } else {
2860 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2861 }
2862 } else {
2863 $this->compiler->trigger_template_error ("unknown function \"" . $this->yystack[$this->yyidx + -3]->minor . "\"");
2864 }
2865 }
2866 }
2867 #line 2863 "smarty_internal_templateparser.php"
2868 #line 992 "smarty_internal_templateparser.y"
2869 function yy_r151(){
2870 if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
2871 $this->compiler->trigger_template_error (self::Err1);
2872 }
2873 $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")";
2874 }
2875 #line 2871 "smarty_internal_templateparser.php"
2876 #line 999 "smarty_internal_templateparser.y"
2877 function yy_r152(){
2878 if ($this->security) {
2879 $this->compiler->trigger_template_error (self::Err2);
2880 }
2881 $this->prefix_number++;
2882 $this->compiler->prefix_code[] = '<?php $_tmp'.$this->prefix_number.'='.$this->compileVariable("'".$this->yystack[$this->yyidx + -3]->minor."'").';?>';
2883 $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')';
2884 }
2885 #line 2881 "smarty_internal_templateparser.php"
2886 #line 1010 "smarty_internal_templateparser.y"
2887 function yy_r153(){
2888 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor));
2889 }
2890 #line 2886 "smarty_internal_templateparser.php"
2891 #line 1027 "smarty_internal_templateparser.y"
2892 function yy_r156(){
2893 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)));
2894 }
2895 #line 2891 "smarty_internal_templateparser.php"
2896 #line 1031 "smarty_internal_templateparser.y"
2897 function yy_r157(){
2898 $this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor));
2899 }
2900 #line 2896 "smarty_internal_templateparser.php"
2901 #line 1039 "smarty_internal_templateparser.y"
2902 function yy_r159(){
2903 $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2904 }
2905 #line 2901 "smarty_internal_templateparser.php"
2906 #line 1047 "smarty_internal_templateparser.y"
2907 function yy_r160(){
2908 $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor);
2909 }
2910 #line 2906 "smarty_internal_templateparser.php"
2911 #line 1081 "smarty_internal_templateparser.y"
2912 function yy_r167(){
2913 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2914 }
2915 #line 2911 "smarty_internal_templateparser.php"
2916 #line 1086 "smarty_internal_templateparser.y"
2917 function yy_r168(){
2918 $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor;
2919 }
2920 #line 2916 "smarty_internal_templateparser.php"
2921 #line 1092 "smarty_internal_templateparser.y"
2922 function yy_r169(){
2923 $this->_retvalue = '==';
2924 }
2925 #line 2921 "smarty_internal_templateparser.php"
2926 #line 1096 "smarty_internal_templateparser.y"
2927 function yy_r170(){
2928 $this->_retvalue = '!=';
2929 }
2930 #line 2926 "smarty_internal_templateparser.php"
2931 #line 1100 "smarty_internal_templateparser.y"
2932 function yy_r171(){
2933 $this->_retvalue = '>';
2934 }
2935 #line 2931 "smarty_internal_templateparser.php"
2936 #line 1104 "smarty_internal_templateparser.y"
2937 function yy_r172(){
2938 $this->_retvalue = '<';
2939 }
2940 #line 2936 "smarty_internal_templateparser.php"
2941 #line 1108 "smarty_internal_templateparser.y"
2942 function yy_r173(){
2943 $this->_retvalue = '>=';
2944 }
2945 #line 2941 "smarty_internal_templateparser.php"
2946 #line 1112 "smarty_internal_templateparser.y"
2947 function yy_r174(){
2948 $this->_retvalue = '<=';
2949 }
2950 #line 2946 "smarty_internal_templateparser.php"
2951 #line 1116 "smarty_internal_templateparser.y"
2952 function yy_r175(){
2953 $this->_retvalue = '===';
2954 }
2955 #line 2951 "smarty_internal_templateparser.php"
2956 #line 1120 "smarty_internal_templateparser.y"
2957 function yy_r176(){
2958 $this->_retvalue = '!==';
2959 }
2960 #line 2956 "smarty_internal_templateparser.php"
2961 #line 1124 "smarty_internal_templateparser.y"
2962 function yy_r177(){
2963 $this->_retvalue = '%';
2964 }
2965 #line 2961 "smarty_internal_templateparser.php"
2966 #line 1128 "smarty_internal_templateparser.y"
2967 function yy_r178(){
2968 $this->_retvalue = '&&';
2969 }
2970 #line 2966 "smarty_internal_templateparser.php"
2971 #line 1132 "smarty_internal_templateparser.y"
2972 function yy_r179(){
2973 $this->_retvalue = '||';
2974 }
2975 #line 2971 "smarty_internal_templateparser.php"
2976 #line 1136 "smarty_internal_templateparser.y"
2977 function yy_r180(){
2978 $this->_retvalue = ' XOR ';
2979 }
2980 #line 2976 "smarty_internal_templateparser.php"
2981 #line 1143 "smarty_internal_templateparser.y"
2982 function yy_r181(){
2983 $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')';
2984 }
2985 #line 2981 "smarty_internal_templateparser.php"
2986 #line 1151 "smarty_internal_templateparser.y"
2987 function yy_r183(){
2988 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor;
2989 }
2990 #line 2986 "smarty_internal_templateparser.php"
2991 #line 1159 "smarty_internal_templateparser.y"
2992 function yy_r185(){
2993 $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor;
2994 }
2995 #line 2991 "smarty_internal_templateparser.php"
2996 #line 1163 "smarty_internal_templateparser.y"
2997 function yy_r186(){
2998 $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor;
2999 }
3000 #line 2996 "smarty_internal_templateparser.php"
3001 #line 1175 "smarty_internal_templateparser.y"
3002 function yy_r188(){
3003 $this->_retvalue = "''";
3004 }
3005 #line 3001 "smarty_internal_templateparser.php"
3006 #line 1179 "smarty_internal_templateparser.y"
3007 function yy_r189(){
3008 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php();
3009 }
3010 #line 3006 "smarty_internal_templateparser.php"
3011 #line 1184 "smarty_internal_templateparser.y"
3012 function yy_r190(){
3013 $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor);
3014 $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor;
3015 }
3016 #line 3012 "smarty_internal_templateparser.php"
3017 #line 1189 "smarty_internal_templateparser.y"
3018 function yy_r191(){
3019 $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor);
3020 }
3021 #line 3017 "smarty_internal_templateparser.php"
3022 #line 1193 "smarty_internal_templateparser.y"
3023 function yy_r192(){
3024 $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor);
3025 }
3026 #line 3022 "smarty_internal_templateparser.php"
3027 #line 1201 "smarty_internal_templateparser.y"
3028 function yy_r194(){
3029 $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value');
3030 }
3031 #line 3027 "smarty_internal_templateparser.php"
3032 #line 1209 "smarty_internal_templateparser.y"
3033 function yy_r196(){
3034 $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')');
3035 }
3036 #line 3032 "smarty_internal_templateparser.php"
3037 #line 1213 "smarty_internal_templateparser.y"
3038 function yy_r197(){
3039 $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
3040 }
3041 #line 3037 "smarty_internal_templateparser.php"
3042 #line 1217 "smarty_internal_templateparser.y"
3043 function yy_r198(){
3044 $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor);
3045 }
3046 #line 3042 "smarty_internal_templateparser.php"
3048 private $_retvalue;
3050 function yy_reduce($yyruleno)
3051 {
3052 $yymsp = $this->yystack[$this->yyidx];
3053 if (self::$yyTraceFILE && $yyruleno >= 0
3054 && $yyruleno < count(self::$yyRuleName)) {
3055 fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
3056 self::$yyTracePrompt, $yyruleno,
3057 self::$yyRuleName[$yyruleno]);
3058 }
3060 $this->_retvalue = $yy_lefthand_side = null;
3061 if (array_key_exists($yyruleno, self::$yyReduceMap)) {
3062 // call the action
3063 $this->_retvalue = null;
3064 $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
3065 $yy_lefthand_side = $this->_retvalue;
3066 }
3067 $yygoto = self::$yyRuleInfo[$yyruleno]['lhs'];
3068 $yysize = self::$yyRuleInfo[$yyruleno]['rhs'];
3069 $this->yyidx -= $yysize;
3070 for($i = $yysize; $i; $i--) {
3071 // pop all of the right-hand side parameters
3072 array_pop($this->yystack);
3073 }
3074 $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
3075 if ($yyact < self::YYNSTATE) {
3076 if (!self::$yyTraceFILE && $yysize) {
3077 $this->yyidx++;
3078 $x = new TP_yyStackEntry;
3079 $x->stateno = $yyact;
3080 $x->major = $yygoto;
3081 $x->minor = $yy_lefthand_side;
3082 $this->yystack[$this->yyidx] = $x;
3083 } else {
3084 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
3085 }
3086 } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
3087 $this->yy_accept();
3088 }
3089 }
3091 function yy_parse_failed()
3092 {
3093 if (self::$yyTraceFILE) {
3094 fprintf(self::$yyTraceFILE, "%sFail!\n", self::$yyTracePrompt);
3095 }
3096 while ($this->yyidx >= 0) {
3097 $this->yy_pop_parser_stack();
3098 }
3099 }
3101 function yy_syntax_error($yymajor, $TOKEN)
3102 {
3103 #line 76 "smarty_internal_templateparser.y"
3105 $this->internalError = true;
3106 $this->yymajor = $yymajor;
3107 $this->compiler->trigger_template_error();
3108 #line 3105 "smarty_internal_templateparser.php"
3109 }
3111 function yy_accept()
3112 {
3113 if (self::$yyTraceFILE) {
3114 fprintf(self::$yyTraceFILE, "%sAccept!\n", self::$yyTracePrompt);
3115 }
3116 while ($this->yyidx >= 0) {
3117 $stack = $this->yy_pop_parser_stack();
3118 }
3119 #line 68 "smarty_internal_templateparser.y"
3121 $this->successful = !$this->internalError;
3122 $this->internalError = false;
3123 $this->retvalue = $this->_retvalue;
3124 //echo $this->retvalue."\n\n";
3125 #line 3123 "smarty_internal_templateparser.php"
3126 }
3128 function doParse($yymajor, $yytokenvalue)
3129 {
3130 $yyerrorhit = 0; /* True if yymajor has invoked an error */
3132 if ($this->yyidx === null || $this->yyidx < 0) {
3133 $this->yyidx = 0;
3134 $this->yyerrcnt = -1;
3135 $x = new TP_yyStackEntry;
3136 $x->stateno = 0;
3137 $x->major = 0;
3138 $this->yystack = array();
3139 array_push($this->yystack, $x);
3140 }
3141 $yyendofinput = ($yymajor==0);
3143 if (self::$yyTraceFILE) {
3144 fprintf(self::$yyTraceFILE, "%sInput %s\n",
3145 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3146 }
3148 do {
3149 $yyact = $this->yy_find_shift_action($yymajor);
3150 if ($yymajor < self::YYERRORSYMBOL &&
3151 !$this->yy_is_expected_token($yymajor)) {
3152 // force a syntax error
3153 $yyact = self::YY_ERROR_ACTION;
3154 }
3155 if ($yyact < self::YYNSTATE) {
3156 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
3157 $this->yyerrcnt--;
3158 if ($yyendofinput && $this->yyidx >= 0) {
3159 $yymajor = 0;
3160 } else {
3161 $yymajor = self::YYNOCODE;
3162 }
3163 } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
3164 $this->yy_reduce($yyact - self::YYNSTATE);
3165 } elseif ($yyact == self::YY_ERROR_ACTION) {
3166 if (self::$yyTraceFILE) {
3167 fprintf(self::$yyTraceFILE, "%sSyntax Error!\n",
3168 self::$yyTracePrompt);
3169 }
3170 if (self::YYERRORSYMBOL) {
3171 if ($this->yyerrcnt < 0) {
3172 $this->yy_syntax_error($yymajor, $yytokenvalue);
3173 }
3174 $yymx = $this->yystack[$this->yyidx]->major;
3175 if ($yymx == self::YYERRORSYMBOL || $yyerrorhit ){
3176 if (self::$yyTraceFILE) {
3177 fprintf(self::$yyTraceFILE, "%sDiscard input token %s\n",
3178 self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
3179 }
3180 $this->yy_destructor($yymajor, $yytokenvalue);
3181 $yymajor = self::YYNOCODE;
3182 } else {
3183 while ($this->yyidx >= 0 &&
3184 $yymx != self::YYERRORSYMBOL &&
3185 ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
3186 ){
3187 $this->yy_pop_parser_stack();
3188 }
3189 if ($this->yyidx < 0 || $yymajor==0) {
3190 $this->yy_destructor($yymajor, $yytokenvalue);
3191 $this->yy_parse_failed();
3192 $yymajor = self::YYNOCODE;
3193 } elseif ($yymx != self::YYERRORSYMBOL) {
3194 $u2 = 0;
3195 $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
3196 }
3197 }
3198 $this->yyerrcnt = 3;
3199 $yyerrorhit = 1;
3200 } else {
3201 if ($this->yyerrcnt <= 0) {
3202 $this->yy_syntax_error($yymajor, $yytokenvalue);
3203 }
3204 $this->yyerrcnt = 3;
3205 $this->yy_destructor($yymajor, $yytokenvalue);
3206 if ($yyendofinput) {
3207 $this->yy_parse_failed();
3208 }
3209 $yymajor = self::YYNOCODE;
3210 }
3211 } else {
3212 $this->yy_accept();
3213 $yymajor = self::YYNOCODE;
3214 }
3215 } while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
3216 }
3217 }
3218 ?>