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