[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/libraries/Smarty/libs/sysplugins/ -> smarty_internal_templateparser.php (source)

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


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1