Code

Removed smarty packages from references
[gosa.git] / gosa-core / include / smarty / sysplugins / smarty_internal_templateparser.php
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     }
3218 ?>