Вход Регистрация
Файл: include/smarty/libs/sysplugins/smarty_internal_templateparser.php
Строк: 1869
<?php

class TP_yyStackEntry
{
    public 
$stateno;       /* The state-number */
    
public $major;         /* The major token value.  This is the code
                     ** number for the token at this stack level */
    
public $minor/* The user-supplied minor token value.  This
                     ** is the value of the token  */
}

;
#line 11 "../smarty/lexer/smarty_internal_templateparser.y"

/**
 * Smarty Template Parser Class
 *
 * This is the template parser.
 * It is generated from the smarty_internal_templateparser.y file
 *
 * @author Uwe Tews <uwe.tews@googlemail.com>
 */
class Smarty_Internal_Templateparser
{
    
#line 23 "../smarty/lexer/smarty_internal_templateparser.y"
    
const Err1 'Security error: Call to private object member not allowed';
    const 
Err2 'Security error: Call to dynamic object member not allowed';
    const 
Err3 'PHP in template not allowed. Use SmartyBC to enable it';
    const 
TP_VERT                   1;
    const 
TP_COLON                  2;
    const 
TP_UNIMATH                3;
    const 
TP_PHP                    4;
    const 
TP_TEXT                   5;
    const 
TP_STRIPON                6;
    const 
TP_STRIPOFF               7;
    const 
TP_LITERALSTART           8;
    const 
TP_LITERALEND             9;
    const 
TP_LITERAL                10;
    const 
TP_SIMPELOUTPUT           11;
    const 
TP_SIMPLETAG              12;
    const 
TP_SMARTYBLOCKCHILDPARENT 13;
    const 
TP_LDEL                   14;
    const 
TP_RDEL                   15;
    const 
TP_DOLLARID               16;
    const 
TP_EQUAL                  17;
    const 
TP_ID                     18;
    const 
TP_PTR                    19;
    const 
TP_LDELMAKENOCACHE        20;
    const 
TP_LDELIF                 21;
    const 
TP_LDELFOR                22;
    const 
TP_SEMICOLON              23;
    const 
TP_INCDEC                 24;
    const 
TP_TO                     25;
    const 
TP_STEP                   26;
    const 
TP_LDELFOREACH            27;
    const 
TP_SPACE                  28;
    const 
TP_AS                     29;
    const 
TP_APTR                   30;
    const 
TP_LDELSETFILTER          31;
    const 
TP_CLOSETAG               32;
    const 
TP_LDELSLASH              33;
    const 
TP_ATTR                   34;
    const 
TP_INTEGER                35;
    const 
TP_COMMA                  36;
    const 
TP_OPENP                  37;
    const 
TP_CLOSEP                 38;
    const 
TP_MATH                   39;
    const 
TP_ISIN                   40;
    const 
TP_QMARK                  41;
    const 
TP_NOT                    42;
    const 
TP_TYPECAST               43;
    const 
TP_HEX                    44;
    const 
TP_DOT                    45;
    const 
TP_INSTANCEOF             46;
    const 
TP_SINGLEQUOTESTRING      47;
    const 
TP_DOUBLECOLON            48;
    const 
TP_NAMESPACE              49;
    const 
TP_AT                     50;
    const 
TP_HATCH                  51;
    const 
TP_OPENB                  52;
    const 
TP_CLOSEB                 53;
    const 
TP_DOLLAR                 54;
    const 
TP_LOGOP                  55;
    const 
TP_SLOGOP                 56;
    const 
TP_TLOGOP                 57;
    const 
TP_SINGLECOND             58;
    const 
TP_QUOTE                  59;
    const 
TP_BACKTICK               60;
    const 
YY_NO_ACTION              511;
    const 
YY_ACCEPT_ACTION          510;
    const 
YY_ERROR_ACTION           509;
    const 
YY_SZ_ACTTAB 2178;
    const 
YY_SHIFT_USE_DFLT = -23;
    const 
YY_SHIFT_MAX      227;
    const 
YY_REDUCE_USE_DFLT = -68;
    const 
YY_REDUCE_MAX      176;
    const 
YYNOCODE      108;
    const 
YYSTACKDEPTH  500;
    const 
YYNSTATE      323;
    const 
YYNRULE       186;
    const 
YYERRORSYMBOL 61;
    const 
YYERRSYMDT    'yy0';
    const 
YYFALLBACK    0;
    
/**
     * result status
     *
     * @var bool
     */
    
public $successful true;
    
/**
     * return value
     *
     * @var mixed
     */
    
public $retvalue 0;
    
/**
     * @var
     */
    
public $yymajor;
    
/**
     * last index of array variable
     *
     * @var mixed
     */
    
public $last_index;
    
/**
     * last variable name
     *
     * @var string
     */
    
public $last_variable;
    
/**
     * root parse tree buffer
     *
     * @var Smarty_Internal_ParseTree
     */
    
public $root_buffer;
    
/**
     * current parse tree object
     *
     * @var Smarty_Internal_ParseTree
     */
    
public $current_buffer;
    
/**
     * lexer object
     *
     * @var Smarty_Internal_Templatelexer
     */
    
public $lex;
    
/**
     * internal error flag
     *
     * @var bool
     */
    
private $internalError false;
    
/**
     * {strip} status
     *
     * @var bool
     */
    
public $strip false;
    
/**
     * compiler object
     *
     * @var Smarty_Internal_TemplateCompilerBase
     */
    
public $compiler null;
    
/**
     * smarty object
     *
     * @var Smarty
     */
    
public $smarty null;
    
/**
     * template object
     *
     * @var Smarty_Internal_Template
     */
    
public $template null;
    
/**
     * block nesting level
     *
     * @var int
     */
    
public $block_nesting_level 0;
    
/**
     * security object
     *
     * @var Smarty_Security
     */
    
public $security null;
    
/**
     * template prefix array
     *
     * @var Smarty_Internal_ParseTree[]
     */
    
public $template_prefix = array();
    
/**
     * template prefix array
     *
     * @var Smarty_Internal_ParseTree[]
     */
    
public $template_postfix = array();
    static public 
$yy_action    = array(
        
4326626737911520333201274275,
        
28111312493183379217679,
        
2538937916102425304252218249,
        
21112919030226213425331139,
        
4228320913223385195233773,
        
23629043385170385751738594,
        
2742752811385128385196385217,
        
67980298158210102156174133,
        
2182492118520829028264101264,
        
199394228320931312182195259,
        
773432902317223917475288,
        
2742752811167127256196248217,
        
6793454020305102248345157,
        
21824921183208290268174264,
        
74394228320913131229219574,
        
773432902959924317475345,
        
27427528111512686196248217,
        
67934532216128910287345165,
        
21824921129020811526128255221,
        
74394228320993312210195162,
        
773432902542352473047527,
        
2742752811172127425177248217,
        
6797717425029010242519814,
        
2182492112482083426222206139,
        
74394228320919831223195291,
        
773432903007419843875346,
        
2742752811438127176196267217,
        
67934616128929010223346238,
        
218249211331782632616028913,
        
373942283209198312212195250,
        
773432902161891559775381,
        
274275281114912726417918217,
        
6793819497237102140381251,
        
2182492114194942626419837,
        
303942283209198312212195129,
        
77343290219172119775378,
        
2742752811101127438186210217,
        
67937843812163102220378425,
        
21824921130220821326225215187,
        
42539422832092343127195212,
        
7734329013492404257597,
        
27427528112649110976425217,
        
67925329342616102251198252,
        
21824921119820842626148198135,
        
1323942283209143312264195264,
        
773432901382642052475166,
        
274275281126412527619619217,
        
67945415313454102168290454,
        
2182492111742083145136210251,
        
1523942283209268312213195308,
        
773432909416911114475251,
        
27427528112291287196313217,
        
67951090175111102164289174,
        
2182492111012082652832128150,
        
261394228320910312317195224,
        
772126929023223028211475307,
        
21421327922841032461819264,
        
2602624547793454290257316454,
        
43822831119730978304271272273,
        
270121258310274275281117280,
        
1102848121767943814694438,
        
102454151438218249211307214213,
        
279278841031041809256263159,
        
1301529329513725731629525188,
        
31119730982304307295213303295,
        
10029529519310559295295295295,
        
93295295257316295295295311197,
        
309307304213277295100103295181,
        
92642002972952539329516257,
        
316295252295311197309295304295,
        
2992952952952952952742752812,
        
295301295295295217679253295,
        
29516102299204252218249211274,
        
2752812295301332951542176,
        
7913295295295102295295295218,
        
24921129529528625307295213295,
        
29510029529519310559295295295,
        
2959329529525731629528725311,
        
197309307304213295454100295454,
        
193118674542962532959316295,
        
257316252295295311197309295304,
        
295295307295213295188100295295,
        
1931186729529545429593295295,
        
257316295295226311197309295304,
        
295295307295213295192100295295,
        
1931186729529529529593295295,
        
257316295295295311197309295304,
        
29529530729521329519198295295,
        
1931184629510829529593295295,
        
257316295295295311197309307304,
        
2132952959829529519311847295,
        
21929529593295295257316295295,
        
295311197309307304213295295100,
        
2952951931184529529529529593,
        
295295257316295295295311197309,
        
295304295295307295213295295100,
        
2952951931187029529529529593,
        
295295257316295295295311197309,
        
307304213295295100295295193118,
        
4929529529529593295295257316,
        
295295295311197309307304213295,
        
2951002952951939666295295295,
        
29593295295257316295295295311,
        
197309295304295295307295213295,
        
29510029529519311844295295295,
        
29593295295257316295295295311,
        
197309307304213295295100295295,
        
1931185829529529529593295295,
        
257316295295295311197309307304,
        
21329529510029529519311854295,
        
29529529593295295257316295295,
        
295311197309295304295295307295,
        
21329529510029529519311871295,
        
29529529593295295257316295295,
        
295311197309307304213295295100,
        
2952951931186529529529529593,
        
295295257316295295295311197309,
        
30730421329529510029529519396,
        
5729529529529593295295257316,
        
295295295311197309295304295295,
        
307295213295295100295295185106,
        
5329529529529593295295257316,
        
295295295311197309307304213295,
        
29510029529519311860295295295,
        
29593295295257316295295295311,
        
197309307304213295295100295295,
        
1931187329529529529593295295,
        
257316295295295311197309295304,
        
295295307295213295295100295295,
        
1931185529529529529593295295,
        
257316295295295311197309307304,
        
2132952951002952951939568295,
        
29529529593295295257316295295,
        
295311197309307304213295295100,
        
2952951931186929529529529593,
        
295295257316295295295311197309,
        
295304295295307295213295295100,
        
2952951931185129529529529593,
        
295295257316295295295311197309,
        
307304213295295100295295184118,
        
5229529529529593295295257316,
        
295295295311197309307304213295,
        
29510029529519311847295295295,
        
29593295295257316295295295311,
        
197309295304295295307295213295,
        
29510029529519311850295295295,
        
29593295295257316295295295311,
        
197309307304213295295100295295,
        
1931186229529529529593295295,
        
257316295295295311197309307304,
        
21329529510029529519311863295,
        
29529529593295295257316295295,
        
295311197309295304295295307295,
        
21329529510029529519311861295,
        
29529529593295295257316295295,
        
295311197309307304213295295100,
        
2952951931184829529529529593,
        
295295257316391391391311197309,
        
307304213295295100295295193118,
        
7229529529529593295295257316,
        
295295295311197309295304295295,
        
425295391391295295295295307295,
        
21342519810038295193112391391,
        
3913913893295295295306295295,
        
2953111973092953042953530733,
        
21329529510029513193120295295,
        
413619893382952952314136,
        
295311197309295304319318315245,
        
29520729529531931831524529533,
        
45429529545429513207454438295,
        
4136295295295454295295454295,
        
29514454438295295319318315245,
        
29519829538438295295438307454,
        
213438320100295241193122295438,
        
29529543893454295438295198295,
        
3831119730929530430729521341,
        
36100295295193117295295295295,
        
29593295295295319318315245311,
        
1973092073042952954136295295,
        
2954542952954542952954454438,
        
295295319318315245295294295295,
        
295307295213295295100295295193,
        
12329529529529543893295438141,
        
454295438167311197309295304264,
        
2952954020305295295307295213,
        
29519810038295193116174307295,
        
21329593100295295193113295295,
        
3111973099330429519829538295,
        
29531119730929530430729521341,
        
36100295295193119295295295295,
        
29593295321145319318315245311,
        
1973092073044136295295295295,
        
295454295295454295295295454438,
        
31931831524519829538295198295,
        
3829519829538295295295242295,
        
295295285295295438171295438295,
        
454295438295295295295454295295,
        
45429541364544384136295295,
        
413619829538295295295319318,
        
315245319318315245319318315245,
        
295438295147438295454167438295,
        
2952952952642952954020305227,
        
4136295295295295295295295295,
        
295174295295295295319318315245,
        
1982953829519829538142198295,
        
38167295295173295295264295295,
        
402030529529529510729519829,
        
38295198295381742952954136,
        
29529541362952444136295295,
        
295295295295319318315245319318,
        
3152453193183152454136295295,
        
4136295295295295295295295295,
        
295295319318315245319318315245,
        
198295295295295295295295295295,
        
295295295295349295295295202295,
        
29529529529529529529533295295,
        
29529529513295295425295295295,
        
295295295295295295295425,
    );
    static public 
$yy_lookahead = array(
        
391015711728741112,
        
13143416811828202122,
        
11823414273793183132,
        
33453566376848285242,
        
43444534471549165152,
        
5354323772559172819,
        
11121314341636183820,
        
21221051069445277310173,
        
31323377355437834883,
        
65424344451447164918,
        
515235436101381015915,
        
11121314771635182420,
        
21222886878827243473,
        
313233773554373610183,
        
46424344451647704946,
        
51523545381531015915,
        
11121314231637182420,
        
21222899979827363482,
        
31323354357137167418,
        
46424344458147454977,
        
5152354905318935930,
        
111213141011637182420,
        
212251101102542748117,
        
31323324351437165018,
        
4642434445147364938,
        
515235460461455915,
        
1112131452168181020,
        
21222897985427363438,
        
31323328359537979834,
        
2424344451477149102,
        
5152354787973815915,
        
11121314711683181720,
        
21222819812427733496,
        
313233173519378312,
        
1742434445147714945,
        
51523547810152815915,
        
11121314481645184520,
        
21222852141627183437,
        
31323366356837456465,
        
48424344455347374971,
        
5152354733778375981,
        
11121314831648184820,
        
21221110637142796118,
        
313233135483773173,
        
16424344457347834983,
        
5152354738319305977,
        
11121314831670182820,
        
21221194341427825418,
        
313233101355337944596,
        
94424344456647684992,
        
5152354197799945996,
        
11121314381637189220,
        
212262631899279798101,
        
31323348351637251651,
        
18424344453747184918,
        
5141954535315185966,
        
6768692717218747576,
        
18491151811454848518,
        
19188990911893456,
        
781835111213141715,
        
18358120212245511948,
        
27509452313233666768,
        
69837172807475769594,
        
8194811079484851079694,
        
8990918193661076898107,
        
71107107747576107107107107,
        
8110710784851071071078990,
        
9166936869107717210774,
        
757610310410711811071484,
        
851071810789909110793107,
        
510710710710710711121314,
        
1071610710710720212211107,
        
10714275501831323311,
        
1213141071628107302021,
        
22341071071072710710710731,
        
323310710759606610768107,
        
10771107107747576107107107,
        
107811071078485107596089,
        
9091669368107117110714,
        
74757618104111078114107,
        
84851810710789909110793,
        
107107661076810710071107107,
        
7475761071075010781107107,
        
84851071075089909110793,
        
107107661076810710071107107,
        
74757610710710710781107107,
        
848510710710789909110793,
        
107107661076810710071107107,
        
7475761077810710781107107,
        
84851071071078990916693,
        
6810710771107107747576107,
        
78107107811071078485107107,
        
10789909166936810710771,
        
10710774757610710710710781,
        
1071078485107107107899091,
        
10793107107661076810710771,
        
10710774757610710710710781,
        
1071078485107107107899091,
        
669368107107711071077475,
        
76107107107107811071078485,
        
107107107899091669368107,
        
10771107107747576107107107,
        
10781107107848510710710789,
        
9091107931071076610768107,
        
10771107107747576107107107,
        
10781107107848510710710789,
        
909166936810710771107107,
        
74757610710710710781107107,
        
84851071071078990916693,
        
6810710771107107747576107,
        
107107107811071078485107107,
        
1078990911079310710766107,
        
6810710771107107747576107,
        
107107107811071078485107107,
        
10789909166936810710771,
        
10710774757610710710710781,
        
1071078485107107107899091,
        
669368107107711071077475,
        
76107107107107811071078485,
        
10710710789909110793107107,
        
6610768107107711071077475,
        
76107107107107811071078485,
        
107107107899091669368107,
        
10771107107747576107107107,
        
10781107107848510710710789,
        
909166936810710771107107,
        
74757610710710710781107107,
        
848510710710789909110793,
        
107107661076810710771107107,
        
74757610710710710781107107,
        
84851071071078990916693,
        
6810710771107107747576107,
        
107107107811071078485107107,
        
10789909166936810710771,
        
10710774757610710710710781,
        
1071078485107107107899091,
        
10793107107661076810710771,
        
10710774757610710710710781,
        
1071078485107107107899091,
        
669368107107711071077475,
        
76107107107107811071078485,
        
107107107899091669368107,
        
10771107107747576107107107,
        
10781107107848510710710789,
        
9091107931071076610768107,
        
10771107107747576107107107,
        
10781107107848510710710789,
        
909166936810710771107107,
        
74757610710710710781107107,
        
84851071071078990916693,
        
6810710771107107747576107,
        
107107107811071078485107107,
        
1078990911079310710766107,
        
6810710771107107747576107,
        
107107107811071078485107107,
        
10789909166936810710771,
        
10710774757610710710710781,
        
1071078485123899091,
        
669368107107711071077475,
        
76107107107107811071078485,
        
10710710789909110793107107,
        
37107394010710710710766107,
        
6848171310774755556,
        
575838110710710785107107,
        
10789909110793107266628,
        
6810710771107347475107107,
        
39401813107107853940,
        
1078990911079355565758,
        
10721071075556575810728,
        
11107107141073421819107,
        
39401071071071110710714107,
        
10717181910710755565758,
        
1071107345107107486650,
        
6852537110715747510745,
        
107107488150107521071107,
        
389909110793661076839,
        
40711071077475107107107107,
        
107811071071075556575889,
        
90912931071073940107107,
        
1071110710714107107171819,
        
1071075556575810760107107,
        
10766107681071077110710774,
        
7510710710710745811074873,
        
5010752778990911079383,
        
1071078687881071076610768,
        
1071713107747510166107,
        
6810781711071077475107107,
        
899091819310711073107,
        
10789909110793661076839,
        
40711071077475107107107107,
        
1078110753295556575889,
        
90912933940107107107107,
        
10711107107141071071071819,
        
55565758110731071107,
        
31071107310710710715107,
        
10710715107107451510748107,
        
501075210710710710711107107,
        
14107394018193940107107,
        
3940110731071071075556,
        
57585556575855565758,
        
107451077348107507752107,
        
1071071078310710786878838,
        
3940107107107107107107107107,
        
10710110710710710755565758,
        
1107310711073731107,
        
3771071071510710783107107,
        
8687881071071072310712,
        
3107110731011071073940,
        
1071073940107383940107107,
        
107107107107555657585556,
        
5758555657583940107107,
        
3940107107107107107107107107,
        
1071075556575855565758,
        
1107107107107107107107107107,
        
1071071071071510710710719107,
        
10710710710710710710728107107,
        
1071071073410710737107107107,
        
10710710710710710710748,
    );
    static public 
$yy_shift_ofst = array(
        -
23399399349994494499934999,
        
99, -3999924999999999299,
        
9914919999999999999999,
        
99999929999994949499499,
        
499499499499162116611661198120672039,
        
2047204317471850172019411937187519332071,
        
2071207120712071207120712071207120712071,
        
20712071162916295226952129171255129,
        
7187079255316255129129304337,
        
583178024478422134429441140411,
        
485359440, -22, -22427432424, -22359,
        
437589227227227589227227227227,
        -
23, -23, -23, -23167916945611910195681,
        
674212461, -22, -22, -22, -14, -14, -22360,
        -
22, -22, -22, -22, -1431321, -22, -22301,
        
321, -14, -14, -1431, -22, -22, -22, -14, -14,
        
589589227508589288227227288227,
        
227, -23, -23, -23, -23, -23, -23157330, -12,
        
94144775342194103179258211141,
        
15268241209323387370368188, -8,
        
101556567563552539548574443558,
        
566582581584541543512519506476,
        
479488508502501531529510,
    );
    static public 
$yy_reduce_ofst   = array(
        
460493551579605832806776690746,
        
716113412161242116012981022105210781104,
        
1268148815141432146213241350140613801186,
        
8889969709409148581552158217451690,
        
1781182017921662197419301756373737,
        
37373737373737373737,
        
37373737373737373737,
        
37373737114, -336, -6756226,
        
317233331254774276328190122,
        
429396, -2339374, -23, -23393176413,
        
176407381366364, -23, -23243372426,
        
428430, -23, -23382176, -23, -23, -23, -23,
        -
23324, -23, -23537537537537537549,
        
542537537538538538533533538540,
        
538538538538533521518538538544,
        
535533533533562538538538533533,
        
550550113545550197113113197113,
        
113379395, -2097, -6125,
    );
    static public 
$yyExpectedTokens = array(
        array(),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525354,
              
59,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
311121314161820212227313233353742434445474951525459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
3111213141618202122273132333537424344454749515459,),
        array(
13262834394055565758,),
        array(
132834394055565758,),
        array(
132834394055565758,),
        array(
1338394055565758,),
        array(
123394055565758,),
        array(
1315394055565758,),
        array(
1338394055565758,),
        array(
1323394055565758,),
        array(
1339405556575860,),
        array(
1339405355565758,),
        array(
1315394055565758,),
        array(
1315394055565758,),
        array(
1315394055565758,),
        array(
1329394055565758,),
        array(
1315394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
13394055565758,),
        array(
3394055565758,),
        array(
3394055565758,),
        array(
1618495154,),
        array(
51112131416202122273132335960,),
        array(
1151928343748,),
        array(
16185154,),
        array(
12834,),
        array(
163754,),
        array(
51112131416202122273132335960,),
        array(
111418283034,),
        array(
1114182834,),
        array(
12834,),
        array(
171948,),
        array(
12834,),
        array(
163754,),
        array(
163754,),
        array(
194552,),
        array(
12,),
        array(
456781112131420212227313233,),
        array(
2111417181945485052,),
        array(
1152834,),
        array(
11141850,),
        array(
14161854,),
        array(
1152834,),
        array(
1152834,),
        array(
111418,),
        array(
171948,),
        array(
111418,),
        array(
1948,),
        array(
1618,),
        array(
2834,),
        array(
2834,),
        array(
2834,),
        array(
130,),
        array(
153,),
        array(
1654,),
        array(
2834,),
        array(
1618,),
        array(
119,),
        array(
19,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(
19,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(),
        array(),
        array(),
        array(),
        array(
2111418194548505253,),
        array(
2111417181945485052,),
        array(
21114181945485052,),
        array(
21114181945485052,),
        array(
1114181945485052,),
        array(
1416183554,),
        array(
11141850,),
        array(
174552,),
        array(
111418,),
        array(
2834,),
        array(
2834,),
        array(
2834,),
        array(
4552,),
        array(
4552,),
        array(
2834,),
        array(
1437,),
        array(
2834,),
        array(
2834,),
        array(
2834,),
        array(
2834,),
        array(
4552,),
        array(
1654,),
        array(
4552,),
        array(
2834,),
        array(
2834,),
        array(
1724,),
        array(
4552,),
        array(
4552,),
        array(
4552,),
        array(
4552,),
        array(
1654,),
        array(
2834,),
        array(
2834,),
        array(
2834,),
        array(
4552,),
        array(
4552,),
        array(
19,),
        array(
19,),
        array(
1,),
        array(
37,),
        array(
19,),
        array(
2,),
        array(
1,),
        array(
1,),
        array(
2,),
        array(
1,),
        array(
1,),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(
1233739404855565758,),
        array(
1523252834363845,),
        array(
151728343748,),
        array(
1524283446,),
        array(
1524283446,),
        array(
11141850,),
        array(
37454853,),
        array(
244660,),
        array(
244653,),
        array(
303748,),
        array(
810,),
        array(
3638,),
        array(
2336,),
        array(
4553,),
        array(
3638,),
        array(
3638,),
        array(
2446,),
        array(
1745,),
        array(
3748,),
        array(
3748,),
        array(
3748,),
        array(
1850,),
        array(
910,),
        array(
3653,),
        array(
51,),
        array(
18,),
        array(
18,),
        array(
18,),
        array(
18,),
        array(
18,),
        array(
18,),
        array(
45,),
        array(
35,),
        array(
35,),
        array(
18,),
        array(
17,),
        array(
15,),
        array(
15,),
        array(
9,),
        array(
25,),
        array(
16,),
        array(
18,),
        array(
38,),
        array(
37,),
        array(
51,),
        array(
37,),
        array(
53,),
        array(
53,),
        array(
18,),
        array(
18,),
        array(
41,),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
    );
    static public 
$yy_default       = array(
        
334509509494509509509473509473,
        
473509509509509509509509509509,
        
509509509509509509509509509509,
        
509509509509509509509509509509,
        
509509509509375375354509509509,
        
509509509509509509347380509497,
        
386495496471347359380472377397,
        
382387401402509509413509375509,
        
509375375375428375509509485366,
        
323427389438509389389438428438,
        
428509375375375389389509356509,
        
369482400406371428396405389392,
        
480332404393427427427427427509,
        
440454438348364344436463365438,
        
352355361357464509433362358509,
        
431434435466509363350351465432,
        
486460367438483475372395474370,
        
422438479438479479332413409413,
        
403403439413403403413330509509,
        
409509509403409423413509509509,
        
509509509509509509509509409509,
        
411509509509509509383509509509,
        
484509454418509509509415376388,
        
447481446454445448453360468469,
        
384459444450415490476477407368,
        
478456457458416417443390391442,
        
441425426437374353329331333328,
        
327324325326335336341343373340,
        
339337338408410506498499505461,
        
455470342500503491493492501508,
        
502504507462430398399421420419,
        
412414418424451489394429488487,
        
449452467,
    );
    public static 
$yyFallback = array();
    public 
$yyTraceFILE;
    public 
$yyTracePrompt;
public 
$yyidx;
public 
$yyerrcnt;
public 
$yystack = array();
    public 
$yyTokenName = array(
        
'$''VERT''COLON''UNIMATH',
        
'PHP''TEXT''STRIPON''STRIPOFF',
        
'LITERALSTART''LITERALEND''LITERAL''SIMPELOUTPUT',
        
'SIMPLETAG''SMARTYBLOCKCHILDPARENT''LDEL''RDEL',
        
'DOLLARID''EQUAL''ID''PTR',
        
'LDELMAKENOCACHE''LDELIF''LDELFOR''SEMICOLON',
        
'INCDEC''TO''STEP''LDELFOREACH',
        
'SPACE''AS''APTR''LDELSETFILTER',
        
'CLOSETAG''LDELSLASH''ATTR''INTEGER',
        
'COMMA''OPENP''CLOSEP''MATH',
        
'ISIN''QMARK''NOT''TYPECAST',
        
'HEX''DOT''INSTANCEOF''SINGLEQUOTESTRING',
        
'DOUBLECOLON''NAMESPACE''AT''HATCH',
        
'OPENB''CLOSEB''DOLLAR''LOGOP',
        
'SLOGOP''TLOGOP''SINGLECOND''QUOTE',
        
'BACKTICK''error''start''template',
        
'literal_e2''literal_e1''smartytag''tagbody',
        
'tag''outattr''eqoutattr''varindexed',
        
'output''attributes''variable''value',
        
'expr''modifierlist''statement''statements',
        
'foraction''varvar''modparameters''attribute',
        
'ternary''array''tlop''lop',
        
'scond''function''ns1''doublequoted_with_quotes',
        
'static_class_access''object''arrayindex''indexdef',
        
'varvarele''objectchain''objectelement''method',
        
'params''modifier''modparameter''arrayelements',
        
'arrayelement''doublequoted''doublequotedcontent',
    );
    public static 
$yyRuleName = array(
        
'start ::= template',
        
'template ::= template PHP',
        
'template ::= template TEXT',
        
'template ::= template STRIPON',
        
'template ::= template STRIPOFF',
        
'template ::= template LITERALSTART literal_e2 LITERALEND',
        
'literal_e2 ::= literal_e1 LITERALSTART literal_e1 LITERALEND',
        
'literal_e2 ::= literal_e1',
        
'literal_e1 ::= literal_e1 LITERAL',
        
'literal_e1 ::=',
        
'template ::= template smartytag',
        
'template ::=',
        
'smartytag ::= SIMPELOUTPUT',
        
'smartytag ::= SIMPLETAG',
        
'smartytag ::= SMARTYBLOCKCHILDPARENT',
        
'smartytag ::= LDEL tagbody RDEL',
        
'smartytag ::= tag RDEL',
        
'tagbody ::= outattr',
        
'tagbody ::= DOLLARID eqoutattr',
        
'tagbody ::= varindexed eqoutattr',
        
'eqoutattr ::= EQUAL outattr',
        
'outattr ::= output attributes',
        
'output ::= variable',
        
'output ::= value',
        
'output ::= expr',
        
'tag ::= LDEL ID attributes',
        
'tag ::= LDEL ID',
        
'tag ::= LDEL ID modifierlist attributes',
        
'tag ::= LDEL ID PTR ID attributes',
        
'tag ::= LDEL ID PTR ID modifierlist attributes',
        
'tag ::= LDELMAKENOCACHE DOLLARID',
        
'tag ::= LDELIF expr',
        
'tag ::= LDELIF expr attributes',
        
'tag ::= LDELIF statement',
        
'tag ::= LDELIF statement attributes',
        
'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
        
'foraction ::= EQUAL expr',
        
'foraction ::= INCDEC',
        
'tag ::= LDELFOR statement TO expr attributes',
        
'tag ::= LDELFOR statement TO expr STEP expr attributes',
        
'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
        
'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
        
'tag ::= LDELFOREACH attributes',
        
'tag ::= LDELSETFILTER ID modparameters',
        
'tag ::= LDELSETFILTER ID modparameters modifierlist',
        
'smartytag ::= CLOSETAG',
        
'tag ::= LDELSLASH ID',
        
'tag ::= LDELSLASH ID modifierlist',
        
'tag ::= LDELSLASH ID PTR ID',
        
'tag ::= LDELSLASH ID PTR ID modifierlist',
        
'attributes ::= attributes attribute',
        
'attributes ::= attribute',
        
'attributes ::=',
        
'attribute ::= SPACE ID EQUAL ID',
        
'attribute ::= ATTR expr',
        
'attribute ::= ATTR value',
        
'attribute ::= SPACE ID',
        
'attribute ::= SPACE expr',
        
'attribute ::= SPACE value',
        
'attribute ::= SPACE INTEGER EQUAL expr',
        
'statements ::= statement',
        
'statements ::= statements COMMA statement',
        
'statement ::= DOLLARID EQUAL INTEGER',
        
'statement ::= DOLLARID EQUAL expr',
        
'statement ::= varindexed EQUAL expr',
        
'statement ::= OPENP statement CLOSEP',
        
'expr ::= value',
        
'expr ::= ternary',
        
'expr ::= DOLLARID COLON ID',
        
'expr ::= expr MATH value',
        
'expr ::= expr UNIMATH value',
        
'expr ::= array',
        
'expr ::= expr modifierlist',
        
'expr ::= expr tlop value',
        
'expr ::= expr lop expr',
        
'expr ::= expr scond',
        
'expr ::= expr ISIN array',
        
'expr ::= expr ISIN value',
        
'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
        
'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr',
        
'value ::= variable',
        
'value ::= UNIMATH value',
        
'value ::= NOT value',
        
'value ::= TYPECAST value',
        
'value ::= variable INCDEC',
        
'value ::= HEX',
        
'value ::= INTEGER',
        
'value ::= INTEGER DOT INTEGER',
        
'value ::= INTEGER DOT',
        
'value ::= DOT INTEGER',
        
'value ::= ID',
        
'value ::= function',
        
'value ::= OPENP expr CLOSEP',
        
'value ::= variable INSTANCEOF ns1',
        
'value ::= variable INSTANCEOF variable',
        
'value ::= SINGLEQUOTESTRING',
        
'value ::= doublequoted_with_quotes',
        
'value ::= varindexed DOUBLECOLON static_class_access',
        
'value ::= smartytag',
        
'value ::= value modifierlist',
        
'value ::= NAMESPACE',
        
'value ::= ns1 DOUBLECOLON static_class_access',
        
'ns1 ::= ID',
        
'ns1 ::= NAMESPACE',
        
'variable ::= DOLLARID',
        
'variable ::= varindexed',
        
'variable ::= varvar AT ID',
        
'variable ::= object',
        
'variable ::= HATCH ID HATCH',
        
'variable ::= HATCH ID HATCH arrayindex',
        
'variable ::= HATCH variable HATCH',
        
'variable ::= HATCH variable HATCH arrayindex',
        
'varindexed ::= DOLLARID arrayindex',
        
'varindexed ::= varvar arrayindex',
        
'arrayindex ::= arrayindex indexdef',
        
'arrayindex ::=',
        
'indexdef ::= DOT DOLLARID',
        
'indexdef ::= DOT varvar',
        
'indexdef ::= DOT varvar AT ID',
        
'indexdef ::= DOT ID',
        
'indexdef ::= DOT INTEGER',
        
'indexdef ::= DOT LDEL expr RDEL',
        
'indexdef ::= OPENB ID CLOSEB',
        
'indexdef ::= OPENB ID DOT ID CLOSEB',
        
'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
        
'indexdef ::= OPENB INTEGER CLOSEB',
        
'indexdef ::= OPENB DOLLARID CLOSEB',
        
'indexdef ::= OPENB variable CLOSEB',
        
'indexdef ::= OPENB value CLOSEB',
        
'indexdef ::= OPENB expr CLOSEB',
        
'indexdef ::= OPENB CLOSEB',
        
'varvar ::= DOLLARID',
        
'varvar ::= DOLLAR',
        
'varvar ::= varvar varvarele',
        
'varvarele ::= ID',
        
'varvarele ::= SIMPELOUTPUT',
        
'varvarele ::= LDEL expr RDEL',
        
'object ::= varindexed objectchain',
        
'objectchain ::= objectelement',
        
'objectchain ::= objectchain objectelement',
        
'objectelement ::= PTR ID arrayindex',
        
'objectelement ::= PTR varvar arrayindex',
        
'objectelement ::= PTR LDEL expr RDEL arrayindex',
        
'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
        
'objectelement ::= PTR method',
        
'function ::= ns1 OPENP params CLOSEP',
        
'method ::= ID OPENP params CLOSEP',
        
'method ::= DOLLARID OPENP params CLOSEP',
        
'params ::= params COMMA expr',
        
'params ::= expr',
        
'params ::=',
        
'modifierlist ::= modifierlist modifier modparameters',
        
'modifierlist ::= modifier modparameters',
        
'modifier ::= VERT AT ID',
        
'modifier ::= VERT ID',
        
'modparameters ::= modparameters modparameter',
        
'modparameters ::=',
        
'modparameter ::= COLON value',
        
'modparameter ::= COLON array',
        
'static_class_access ::= method',
        
'static_class_access ::= method objectchain',
        
'static_class_access ::= ID',
        
'static_class_access ::= DOLLARID arrayindex',
        
'static_class_access ::= DOLLARID arrayindex objectchain',
        
'lop ::= LOGOP',
        
'lop ::= SLOGOP',
        
'tlop ::= TLOGOP',
        
'scond ::= SINGLECOND',
        
'array ::= OPENB arrayelements CLOSEB',
        
'arrayelements ::= arrayelement',
        
'arrayelements ::= arrayelements COMMA arrayelement',
        
'arrayelements ::=',
        
'arrayelement ::= value APTR expr',
        
'arrayelement ::= ID APTR expr',
        
'arrayelement ::= expr',
        
'doublequoted_with_quotes ::= QUOTE QUOTE',
        
'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
        
'doublequoted ::= doublequoted doublequotedcontent',
        
'doublequoted ::= doublequotedcontent',
        
'doublequotedcontent ::= BACKTICK variable BACKTICK',
        
'doublequotedcontent ::= BACKTICK expr BACKTICK',
        
'doublequotedcontent ::= DOLLARID',
        
'doublequotedcontent ::= LDEL variable RDEL',
        
'doublequotedcontent ::= LDEL expr RDEL',
        
'doublequotedcontent ::= smartytag',
        
'doublequotedcontent ::= TEXT',
    );
    public static 
$yyRuleInfo = array(
        array(
=> 62=> 1),
        array(
=> 63=> 2),
        array(
=> 63=> 2),
        array(
=> 63=> 2),
        array(
=> 63=> 2),
        array(
=> 63=> 4),
        array(
=> 64=> 4),
        array(
=> 64=> 1),
        array(
=> 65=> 2),
        array(
=> 65=> 0),
        array(
=> 63=> 2),
        array(
=> 63=> 0),
        array(
=> 66=> 1),
        array(
=> 66=> 1),
        array(
=> 66=> 1),
        array(
=> 66=> 3),
        array(
=> 66=> 2),
        array(
=> 67=> 1),
        array(
=> 67=> 2),
        array(
=> 67=> 2),
        array(
=> 70=> 2),
        array(
=> 69=> 2),
        array(
=> 72=> 1),
        array(
=> 72=> 1),
        array(
=> 72=> 1),
        array(
=> 68=> 3),
        array(
=> 68=> 2),
        array(
=> 68=> 4),
        array(
=> 68=> 5),
        array(
=> 68=> 6),
        array(
=> 68=> 2),
        array(
=> 68=> 2),
        array(
=> 68=> 3),
        array(
=> 68=> 2),
        array(
=> 68=> 3),
        array(
=> 68=> 8),
        array(
=> 80=> 2),
        array(
=> 80=> 1),
        array(
=> 68=> 5),
        array(
=> 68=> 7),
        array(
=> 68=> 6),
        array(
=> 68=> 8),
        array(
=> 68=> 2),
        array(
=> 68=> 3),
        array(
=> 68=> 4),
        array(
=> 66=> 1),
        array(
=> 68=> 2),
        array(
=> 68=> 3),
        array(
=> 68=> 4),
        array(
=> 68=> 5),
        array(
=> 73=> 2),
        array(
=> 73=> 1),
        array(
=> 73=> 0),
        array(
=> 83=> 4),
        array(
=> 83=> 2),
        array(
=> 83=> 2),
        array(
=> 83=> 2),
        array(
=> 83=> 2),
        array(
=> 83=> 2),
        array(
=> 83=> 4),
        array(
=> 79=> 1),
        array(
=> 79=> 3),
        array(
=> 78=> 3),
        array(
=> 78=> 3),
        array(
=> 78=> 3),
        array(
=> 78=> 3),
        array(
=> 76=> 1),
        array(
=> 76=> 1),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 76=> 1),
        array(
=> 76=> 2),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 76=> 2),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 84=> 7),
        array(
=> 84=> 7),
        array(
=> 75=> 1),
        array(
=> 75=> 2),
        array(
=> 75=> 2),
        array(
=> 75=> 2),
        array(
=> 75=> 2),
        array(
=> 75=> 1),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 75=> 2),
        array(
=> 75=> 2),
        array(
=> 75=> 1),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 75=> 3),
        array(
=> 75=> 3),
        array(
=> 75=> 1),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 75=> 1),
        array(
=> 75=> 2),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 90=> 1),
        array(
=> 90=> 1),
        array(
=> 74=> 1),
        array(
=> 74=> 1),
        array(
=> 74=> 3),
        array(
=> 74=> 1),
        array(
=> 74=> 3),
        array(
=> 74=> 4),
        array(
=> 74=> 3),
        array(
=> 74=> 4),
        array(
=> 71=> 2),
        array(
=> 71=> 2),
        array(
=> 94=> 2),
        array(
=> 94=> 0),
        array(
=> 95=> 2),
        array(
=> 95=> 2),
        array(
=> 95=> 4),
        array(
=> 95=> 2),
        array(
=> 95=> 2),
        array(
=> 95=> 4),
        array(
=> 95=> 3),
        array(
=> 95=> 5),
        array(
=> 95=> 3),
        array(
=> 95=> 3),
        array(
=> 95=> 3),
        array(
=> 95=> 3),
        array(
=> 95=> 3),
        array(
=> 95=> 3),
        array(
=> 95=> 2),
        array(
=> 81=> 1),
        array(
=> 81=> 1),
        array(
=> 81=> 2),
        array(
=> 96=> 1),
        array(
=> 96=> 1),
        array(
=> 96=> 3),
        array(
=> 93=> 2),
        array(
=> 97=> 1),
        array(
=> 97=> 2),
        array(
=> 98=> 3),
        array(
=> 98=> 3),
        array(
=> 98=> 5),
        array(
=> 98=> 6),
        array(
=> 98=> 2),
        array(
=> 89=> 4),
        array(
=> 99=> 4),
        array(
=> 99=> 4),
        array(
=> 100=> 3),
        array(
=> 100=> 1),
        array(
=> 100=> 0),
        array(
=> 77=> 3),
        array(
=> 77=> 2),
        array(
=> 101=> 3),
        array(
=> 101=> 2),
        array(
=> 82=> 2),
        array(
=> 82=> 0),
        array(
=> 102=> 2),
        array(
=> 102=> 2),
        array(
=> 92=> 1),
        array(
=> 92=> 2),
        array(
=> 92=> 1),
        array(
=> 92=> 2),
        array(
=> 92=> 3),
        array(
=> 87=> 1),
        array(
=> 87=> 1),
        array(
=> 86=> 1),
        array(
=> 88=> 1),
        array(
=> 85=> 3),
        array(
=> 103=> 1),
        array(
=> 103=> 3),
        array(
=> 103=> 0),
        array(
=> 104=> 3),
        array(
=> 104=> 3),
        array(
=> 104=> 1),
        array(
=> 91=> 2),
        array(
=> 91=> 3),
        array(
=> 105=> 2),
        array(
=> 105=> 1),
        array(
=> 106=> 3),
        array(
=> 106=> 3),
        array(
=> 106=> 1),
        array(
=> 106=> 3),
        array(
=> 106=> 3),
        array(
=> 106=> 1),
        array(
=> 106=> 1),
    );
        public static 
$yyReduceMap = array(
        
0   => 0,
        
1   => 1,
        
2   => 2,
        
3   => 3,
        
4   => 4,
        
5   => 5,
        
6   => 6,
        
7   => 7,
        
22  => 7,
        
23  => 7,
        
24  => 7,
        
37  => 7,
        
57  => 7,
        
58  => 7,
        
66  => 7,
        
67  => 7,
        
71  => 7,
        
80  => 7,
        
85  => 7,
        
86  => 7,
        
91  => 7,
        
95  => 7,
        
96  => 7,
        
100 => 7,
        
102 => 7,
        
107 => 7,
        
169 => 7,
        
174 => 7,
        
8   => 8,
        
9   => 9,
        
10  => 10,
        
12  => 12,
        
13  => 13,
        
14  => 14,
        
15  => 15,
        
16  => 16,
        
17  => 17,
        
18  => 18,
        
19  => 19,
        
20  => 20,
        
21  => 21,
        
25  => 25,
        
26  => 26,
        
27  => 27,
        
28  => 28,
        
29  => 29,
        
30  => 30,
        
31  => 31,
        
32  => 32,
        
34  => 32,
        
33  => 33,
        
35  => 35,
        
36  => 36,
        
38  => 38,
        
39  => 39,
        
40  => 40,
        
41  => 41,
        
42  => 42,
        
43  => 43,
        
44  => 44,
        
45  => 45,
        
46  => 46,
        
47  => 47,
        
48  => 48,
        
49  => 49,
        
50  => 50,
        
51  => 51,
        
60  => 51,
        
149 => 51,
        
153 => 51,
        
157 => 51,
        
158 => 51,
        
52  => 52,
        
150 => 52,
        
156 => 52,
        
53  => 53,
        
54  => 54,
        
55  => 54,
        
56  => 56,
        
134 => 56,
        
59  => 59,
        
61  => 61,
        
62  => 62,
        
63  => 62,
        
64  => 64,
        
65  => 65,
        
68  => 68,
        
69  => 69,
        
70  => 69,
        
72  => 72,
        
99  => 72,
        
73  => 73,
        
74  => 74,
        
75  => 75,
        
76  => 76,
        
77  => 77,
        
78  => 78,
        
79  => 79,
        
81  => 81,
        
83  => 81,
        
84  => 81,
        
114 => 81,
        
82  => 82,
        
87  => 87,
        
88  => 88,
        
89  => 89,
        
90  => 90,
        
92  => 92,
        
93  => 93,
        
94  => 93,
        
97  => 97,
        
98  => 98,
        
101 => 101,
        
103 => 103,
        
104 => 104,
        
105 => 105,
        
106 => 106,
        
108 => 108,
        
109 => 109,
        
110 => 110,
        
111 => 111,
        
112 => 112,
        
113 => 113,
        
115 => 115,
        
171 => 115,
        
116 => 116,
        
117 => 117,
        
118 => 118,
        
119 => 119,
        
120 => 120,
        
121 => 121,
        
129 => 121,
        
122 => 122,
        
123 => 123,
        
124 => 124,
        
125 => 124,
        
127 => 124,
        
128 => 124,
        
126 => 126,
        
130 => 130,
        
131 => 131,
        
132 => 132,
        
175 => 132,
        
133 => 133,
        
135 => 135,
        
136 => 136,
        
137 => 137,
        
138 => 138,
        
139 => 139,
        
140 => 140,
        
141 => 141,
        
142 => 142,
        
143 => 143,
        
144 => 144,
        
145 => 145,
        
146 => 146,
        
147 => 147,
        
148 => 148,
        
151 => 151,
        
152 => 152,
        
154 => 154,
        
155 => 155,
        
159 => 159,
        
160 => 160,
        
161 => 161,
        
162 => 162,
        
163 => 163,
        
164 => 164,
        
165 => 165,
        
166 => 166,
        
167 => 167,
        
168 => 168,
        
170 => 170,
        
172 => 172,
        
173 => 173,
        
176 => 176,
        
177 => 177,
        
178 => 178,
        
179 => 179,
        
182 => 179,
        
180 => 180,
        
183 => 180,
        
181 => 181,
        
184 => 184,
        
185 => 185,
    );                    
/* Index of top element in stack */
        
private $_retvalue;                 /* Shifts left before out of the error */

    /**
     * constructor
     *
     * @param Smarty_Internal_Templatelexer        $lex
     * @param Smarty_Internal_TemplateCompilerBase $compiler
     */
    
function __construct(Smarty_Internal_Templatelexer $lexSmarty_Internal_TemplateCompilerBase $compiler)
    {
        
$this->lex $lex;
        
$this->compiler $compiler;
        
$this->template $this->compiler->template;
        
$this->smarty $this->template->smarty;
        
$this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy false;
        
$this->current_buffer $this->root_buffer = new Smarty_Internal_ParseTree_Template();
    }  
/* The parser's stack */

    /**
     * insert PHP code in current buffer
     *
     * @param string $code
     */
    
public function insertPhpCode($code)
    {
        
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this$code));
    }

    
/**
     * error rundown
     *
     */
    
public function errorRunDown()
    {
        while (
$this->yystack !== array()) {
            
$this->yy_pop_parser_stack();
        }
        if (
is_resource($this->yyTraceFILE)) {
            
fclose($this->yyTraceFILE);
        }
    }

    
/**
     *  merge PHP code with prefix code and return parse tree tag object
     *
     * @param string $code
     *
     * @return Smarty_Internal_ParseTree_Tag
     */
    
public function mergePrefixCode($code)
    {
        
$tmp '';
        foreach (
$this->compiler->prefix_code as $preCode) {
            
$tmp .= $preCode;
        }
        
$this->compiler->prefix_code = array();
        
$tmp .= $code;
        return new 
Smarty_Internal_ParseTree_Tag($this$this->compiler->processNocacheCode($tmptrue));
    }

    public function 
Trace($TraceFILE$zTracePrompt)
    {
        if (!
$TraceFILE) {
            
$zTracePrompt 0;
        } else if (!
$zTracePrompt) {
            
$TraceFILE 0;
        }
        
$this->yyTraceFILE $TraceFILE;
        
$this->yyTracePrompt $zTracePrompt;
    }

    public function 
PrintTrace()
    {
        
$this->yyTraceFILE fopen('php://output''w');
        
$this->yyTracePrompt '<br>';
    }

    public function 
tokenName($tokenType)
    {
        if (
$tokenType === 0) {
            return 
'End of Input';
        }
        if (
$tokenType && $tokenType count($this->yyTokenName)) {
            return 
$this->yyTokenName$tokenType ];
        } else {
            return 
'Unknown';
        }
    }

    public static function 
yy_destructor($yymajor$yypminor)
    {
        switch (
$yymajor) {
            default:
                break;   
/* If no destructor action specified: do nothing */
        
}
    }

    public function 
yy_pop_parser_stack()
    {
        if (empty(
$this->yystack)) {
            return;
        }
        
$yytos array_pop($this->yystack);
        if (
$this->yyTraceFILE && $this->yyidx >= 0) {
            
fwrite($this->yyTraceFILE,
                   
$this->yyTracePrompt 'Popping ' $this->yyTokenName$yytos->major ] .
                   
"n");
        }
        
$yymajor $yytos->major;
        
self::yy_destructor($yymajor$yytos->minor);
        
$this->yyidx--;
        return 
$yymajor;
    }

    public function 
__destruct()
    {
        while (
$this->yystack !== Array()) {
            
$this->yy_pop_parser_stack();
        }
        if (
is_resource($this->yyTraceFILE)) {
            
fclose($this->yyTraceFILE);
        }
    }

    public function 
yy_get_expected_tokens($token)
    {
        static 
$res3 = array();
        static 
$res4 = array();
        
$state $this->yystack$this->yyidx ]->stateno;
        
$expected self::$yyExpectedTokens$state ];
        if (isset(
$res3$state ][ $token ])) {
            if (
$res3$state ][ $token ]) {
                return 
$expected;
            }
        } else {
            if (
$res3$state ][ $token ] = in_array($tokenself::$yyExpectedTokens$state ], true)) {
                return 
$expected;
            }
        }
        
$stack $this->yystack;
        
$yyidx $this->yyidx;
        do {
            
$yyact $this->yy_find_shift_action($token);
            if (
$yyact >= self::YYNSTATE && $yyact self::YYNSTATE self::YYNRULE) {
                
// reduce action
                
$done 0;
                do {
                    if (
$done++ === 100) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// too much recursion prevents proper detection
                        // so give up
                        
return array_unique($expected);
                    }
                    
$yyruleno $yyact self::YYNSTATE;
                    
$this->yyidx -= self::$yyRuleInfo$yyruleno ][ ];
                    
$nextstate $this->yy_find_reduce_action(
                        
$this->yystack$this->yyidx ]->stateno,
                        
self::$yyRuleInfo$yyruleno ][ ]);
                    if (isset(
self::$yyExpectedTokens$nextstate ])) {
                        
$expected array_merge($expectedself::$yyExpectedTokens$nextstate ]);
                        if (isset(
$res4$nextstate ][ $token ])) {
                            if (
$res4$nextstate ][ $token ]) {
                                
$this->yyidx $yyidx;
                                
$this->yystack $stack;
                                return 
array_unique($expected);
                            }
                        } else {
                            if (
$res4$nextstate ][ $token ] =
                                
in_array($tokenself::$yyExpectedTokens$nextstate ], true)) {
                                
$this->yyidx $yyidx;
                                
$this->yystack $stack;
                                return 
array_unique($expected);
                            }
                        }
                    }
                    if (
$nextstate self::YYNSTATE) {
                        
// we need to shift a non-terminal
                        
$this->yyidx++;
                        
$x = new TP_yyStackEntry;
                        
$x->stateno $nextstate;
                        
$x->major self::$yyRuleInfo$yyruleno ][ ];
                        
$this->yystack$this->yyidx ] = $x;
                        continue 
2;
                    } else if (
$nextstate === self::YYNSTATE self::YYNRULE 1) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        
return array_unique($expected);
                    } else if (
$nextstate === self::YY_NO_ACTION) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// input accepted, but not shifted (I guess)
                        
return $expected;
                    } else {
                        
$yyact $nextstate;
                    }
                } while (
true);
            }
            break;
        } while (
true);
        
$this->yyidx $yyidx;
        
$this->yystack $stack;
        return 
array_unique($expected);
    }

    public function 
yy_is_expected_token($token)
    {
        static 
$res = array();
        static 
$res2 = array();
        if (
$token === 0) {
            return 
true// 0 is not part of this
        
}
        
$state $this->yystack$this->yyidx ]->stateno;
        if (isset(
$res$state ][ $token ])) {
            if (
$res$state ][ $token ]) {
                return 
true;
            }
        } else {
            if (
$res$state ][ $token ] = in_array($tokenself::$yyExpectedTokens$state ], true)) {
                return 
true;
            }
        }
        
$stack $this->yystack;
        
$yyidx $this->yyidx;
        do {
            
$yyact $this->yy_find_shift_action($token);
            if (
$yyact >= self::YYNSTATE && $yyact self::YYNSTATE self::YYNRULE) {
                
// reduce action
                
$done 0;
                do {
                    if (
$done++ === 100) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// too much recursion prevents proper detection
                        // so give up
                        
return true;
                    }
                    
$yyruleno $yyact self::YYNSTATE;
                    
$this->yyidx -= self::$yyRuleInfo$yyruleno ][ ];
                    
$nextstate $this->yy_find_reduce_action(
                        
$this->yystack$this->yyidx ]->stateno,
                        
self::$yyRuleInfo$yyruleno ][ ]);
                    if (isset(
$res2$nextstate ][ $token ])) {
                        if (
$res2$nextstate ][ $token ]) {
                            
$this->yyidx $yyidx;
                            
$this->yystack $stack;
                            return 
true;
                        }
                    } else {
                        if (
$res2$nextstate ][ $token ] = (isset(self::$yyExpectedTokens$nextstate ]) &&
                                                             
in_array($token,
                                                                      
self::$yyExpectedTokens$nextstate ],
                                                                      
true))) {
                            
$this->yyidx $yyidx;
                            
$this->yystack $stack;
                            return 
true;
                        }
                    }
                    if (
$nextstate self::YYNSTATE) {
                        
// we need to shift a non-terminal
                        
$this->yyidx++;
                        
$x = new TP_yyStackEntry;
                        
$x->stateno $nextstate;
                        
$x->major self::$yyRuleInfo$yyruleno ][ ];
                        
$this->yystack$this->yyidx ] = $x;
                        continue 
2;
                    } else if (
$nextstate === self::YYNSTATE self::YYNRULE 1) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        if (!
$token) {
                            
// end of input: this is valid
                            
return true;
                        }
                        
// the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        
return false;
                    } else if (
$nextstate === self::YY_NO_ACTION) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// input accepted, but not shifted (I guess)
                        
return true;
                    } else {
                        
$yyact $nextstate;
                    }
                } while (
true);
            }
            break;
        } while (
true);
        
$this->yyidx $yyidx;
        
$this->yystack $stack;
        return 
true;
    }

    public function 
yy_find_shift_action($iLookAhead)
    {
        
$stateno $this->yystack$this->yyidx ]->stateno;
        
/* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
        
if (!isset(self::$yy_shift_ofst$stateno ])) {
            
// no shift actions
            
return self::$yy_default$stateno ];
        }
        
$i self::$yy_shift_ofst$stateno ];
        if (
$i === self::YY_SHIFT_USE_DFLT) {
            return 
self::$yy_default$stateno ];
        }
        if (
$iLookAhead === self::YYNOCODE) {
            return 
self::YY_NO_ACTION;
        }
        
$i += $iLookAhead;
        if (
$i || $i >= self::YY_SZ_ACTTAB ||
            
self::$yy_lookahead$i ] != $iLookAhead) {
            if (
count(self::$yyFallback) && $iLookAhead count(self::$yyFallback)
                && (
$iFallback self::$yyFallback$iLookAhead ]) != 0) {
                if (
$this->yyTraceFILE) {
                    
fwrite($this->yyTraceFILE,
                           
$this->yyTracePrompt 'FALLBACK ' .
                           
$this->yyTokenName$iLookAhead ] . ' => ' .
                           
$this->yyTokenName$iFallback ] . "n");
                }
                return 
$this->yy_find_shift_action($iFallback);
            }
            return 
self::$yy_default$stateno ];
        } else {
            return 
self::$yy_action$i ];
        }
    }

    public function 
yy_find_reduce_action($stateno$iLookAhead)
    {
        
/* $stateno = $this->yystack[$this->yyidx]->stateno; */
        
if (!isset(self::$yy_reduce_ofst$stateno ])) {
            return 
self::$yy_default$stateno ];
        }
        
$i self::$yy_reduce_ofst$stateno ];
        if (
$i === self::YY_REDUCE_USE_DFLT) {
            return 
self::$yy_default$stateno ];
        }
        if (
$iLookAhead === self::YYNOCODE) {
            return 
self::YY_NO_ACTION;
        }
        
$i += $iLookAhead;
        if (
$i || $i >= self::YY_SZ_ACTTAB ||
            
self::$yy_lookahead$i ] != $iLookAhead) {
            return 
self::$yy_default$stateno ];
        } else {
            return 
self::$yy_action$i ];
        }
    }

    
#line 234 "../smarty/lexer/smarty_internal_templateparser.y"

    
public function yy_shift($yyNewState$yyMajor$yypMinor)
    {
        
$this->yyidx++;
        if (
$this->yyidx >= self::YYSTACKDEPTH) {
            
$this->yyidx--;
            if (
$this->yyTraceFILE) {
                
fprintf($this->yyTraceFILE"%sStack Overflow!n"$this->yyTracePrompt);
            }
            while (
$this->yyidx >= 0) {
                
$this->yy_pop_parser_stack();
            }
            
#line 221 "../smarty/lexer/smarty_internal_templateparser.y"
            
$this->internalError true;
            
$this->compiler->trigger_template_error('Stack overflow in template parser');
            return;
        }
        
$yytos = new TP_yyStackEntry;
        
$yytos->stateno $yyNewState;
        
$yytos->major $yyMajor;
        
$yytos->minor $yypMinor;
        
$this->yystack[] = $yytos;
        if (
$this->yyTraceFILE && $this->yyidx 0) {
            
fprintf($this->yyTraceFILE,
                    
"%sShift %dn",
                    
$this->yyTracePrompt,
                    
$yyNewState);
            
fprintf($this->yyTraceFILE"%sStack:"$this->yyTracePrompt);
            for (
$i 1$i <= $this->yyidx$i++) {
                
fprintf($this->yyTraceFILE,
                        
" %s",
                        
$this->yyTokenName$this->yystack$i ]->major ]);
            }
            
fwrite($this->yyTraceFILE"n");
        }
    }

    
#line 242 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r0()
    {
        
$this->root_buffer->prepend_array($this$this->template_prefix);
        
$this->root_buffer->append_array($this$this->template_postfix);
        
$this->_retvalue $this->root_buffer->to_smarty_php($this);
    }

    
#line 251 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r1()
    {
        
$code $this->compiler->compileTag('private_php',
                                            array(array(
'code' => $this->yystack$this->yyidx ]->minor),
                                                  array(
'type' => $this->lex->phpType)),
                                            array());
        if (
$this->compiler->has_code && !empty($code)) {
            
$tmp '';
            foreach (
$this->compiler->prefix_code as $code) {
                
$tmp .= $code;
            }
            
$this->compiler->prefix_code = array();
            
$this->current_buffer->append_subtree($this,
                                                  new 
Smarty_Internal_ParseTree_Tag($this,
                                                                                    
$this->compiler->processNocacheCode($tmp .
                                                                                                                        
$code,
                                                                                                                        
true)));
        }
    }

    
#line 255 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r2()
    {
        
$this->current_buffer->append_subtree($this,
                                              
$this->compiler->processText($this->yystack$this->yyidx ]->minor));
    }

    
#line 259 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r3()
    {
        
$this->strip true;
    }

    
#line 264 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r4()
    {
        
$this->strip false;
    }

    
#line 269 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r5()
    {
        
$this->current_buffer->append_subtree($this,
                                              new 
Smarty_Internal_ParseTree_Text($this->yystack$this->yyidx +
                                                                                                 -
]->minor));
    }

    
#line 272 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r6()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor $this->yystack$this->yyidx + -]->minor;
    }

    
#line 276 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r7()
    {
        
$this->_retvalue $this->yystack$this->yyidx ]->minor;
    }

    
#line 281 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r8()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor $this->yystack$this->yyidx ]->minor;
    }

    
#line 285 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r9()
    {
        
$this->_retvalue '';
    }

    
#line 297 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r10()
    {
        if (
$this->compiler->has_code) {
            
$this->current_buffer->append_subtree($this,
                                                  
$this->mergePrefixCode($this->yystack$this->yyidx ]->minor));
        }
        
$this->compiler->has_variable_string false;
        
$this->block_nesting_level count($this->compiler->_tag_stack);
    }

    
#line 307 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r12()
    {
        
$var trim(substr($this->yystack$this->yyidx ]->minor,
                           
$this->compiler->getLdelLength(),
                           -
$this->compiler->getRdelLength()),
                    
' $');
        if (
preg_match('/^(.*)(s+nocache)$/'$var$match)) {
            
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                           array(
'nocache'),
                                                           array(
'value' => $this->compiler->compileVariable(''' .
                                                                                                             $match[ 1 ] .
                                                                                                             '''
)));
        } else {
            
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                           array(),
                                                           array(
'value' => $this->compiler->compileVariable(''' .
                                                                                                             $var .
                                                                                                             '''
)));
        }
    }

    
#line 328 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r13()
    {
        
$tag trim(substr($this->yystack$this->yyidx ]->minor,
                           
$this->compiler->getLdelLength(),
                           -
$this->compiler->getRdelLength()));
        if (
$tag == 'strip') {
            
$this->strip true;
            
$this->_retvalue null;;
        } else {
            if (
defined($tag)) {
                if (
$this->security) {
                    
$this->security->isTrustedConstant($tag$this->compiler);
                }
                
$this->_retvalue =
                    
$this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
            } else {
                if (
preg_match('/^(.*)(s+nocache)$/'$tag$match)) {
                    
$this->_retvalue $this->compiler->compileTag($match], array(''nocache''));
                } else {
                    
$this->_retvalue $this->compiler->compileTag($tag, array());
                }
            }
        }
    }

    
#line 339 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r14()
    {
        
$j strrpos($this->yystack$this->yyidx ]->minor'.');
        if (
$this->yystack$this->yyidx ]->minor$j ] == 'c') {
            
// {$smarty.block.child}
            
$this->_retvalue =
                
$this->compiler->compileTag('child', array(), array($this->yystack$this->yyidx ]->minor));;
        } else {
            
// {$smarty.block.parent}
            
$this->_retvalue =
                
$this->compiler->compileTag('parent', array(), array($this->yystack$this->yyidx ]->minor));;
        }
    }

    
#line 343 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r15()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
#line 347 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r16()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
#line 356 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r17()
    {
        
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                       
$this->yystack$this->yyidx ]->minor],
                                                       array(
'value' => $this->yystack$this->yyidx +
                                                                                        
]->minor]));
    }

    
#line 360 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r18()
    {
        
$this->_retvalue $this->compiler->compileTag('assign',
                                                       
array_merge(array(array('value' => $this->yystack$this->yyidx +
                                                                                                          
]->minor]),
                                                                         array(
'var' => ''' .
                                                                                        substr($this->yystack[ $this->yyidx +
                                                                                                               -1 ]->minor,
                                                                                               1) . '''
)),
                                                                   
$this->yystack$this->yyidx ]->minor]));
    }

    
#line 364 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r19()
    {
        
$this->_retvalue $this->compiler->compileTag('assign',
                                                       
array_merge(array(array('value' => $this->yystack$this->yyidx +
                                                                                                          
]->minor]),
                                                                         array(
'var' => $this->yystack$this->yyidx +
                                                                                                        -
]->minor'var' ])),
                                                                   
$this->yystack$this->yyidx ]->minor]),
                                                       array(
'smarty_internal_index' => $this->yystack$this->yyidx +
                                                                                                        -
]->minor'smarty_internal_index' ]));
    }

    
#line 368 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r20()
    {
        
$this->_retvalue $this->yystack$this->yyidx ]->minor;
    }

    
#line 383 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r21()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + -]->minor$this->yystack$this->yyidx ]->minor);
    }

    
#line 393 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r25()
    {
        if (
defined($this->yystack$this->yyidx + -]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + -]->minor$this->compiler);
            }
            
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                           
$this->yystack$this->yyidx ]->minor,
                                                           array(
'value' => $this->yystack$this->yyidx +
                                                                                            -
]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                                                           
$this->yystack$this->yyidx ]->minor);
        }
    }

    
#line 406 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r26()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                           array(),
                                                           array(
'value' => $this->yystack$this->yyidx ]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor, array());
        }
    }

    
#line 418 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r27()
    {
        if (
defined($this->yystack$this->yyidx + -]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + -]->minor$this->compiler);
            }
            
$this->_retvalue $this->compiler->compileTag('private_print_expression',
                                                           
$this->yystack$this->yyidx ]->minor,
                                                           array(
'value'        => $this->yystack$this->yyidx +
                                                                                                   -
]->minor,
                                                                 
'modifierlist' => $this->yystack$this->yyidx +
                                                                                                   -
]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                                                           
$this->yystack$this->yyidx ]->minor,
                                                           array(
'modifierlist' => $this->yystack$this->yyidx +
                                                                                                   -
]->minor));
        }
    }

    
#line 423 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r28()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                -
]->minor));
    }

    
#line 428 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r29()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'modifierlist'  => $this->yystack$this->yyidx +
                                                                                                -
]->minor,
                                                             
'object_method' => $this->yystack$this->yyidx +
                                                                                                -
]->minor));
    }

    
#line 433 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r30()
    {
        
$this->_retvalue $this->compiler->compileTag('make_nocache',
                                                       array(array(
'var' => ''' . substr($this->yystack[ $this->yyidx +
                                                                                                          0 ]->minor,
                                                                                          1) . '''
)));
    }

    
#line 438 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r31()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue $this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag,
                                                       array(),
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               
]->minor));
    }

    
#line 443 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r32()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue $this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag,
                                                       
$this->yystack$this->yyidx ]->minor,
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               -
]->minor));
    }

    
#line 454 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r33()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue $this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag,
                                                       array(),
                                                       array(
'if condition' => $this->yystack$this->yyidx +
                                                                                               
]->minor));
    }

    
#line 458 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r35()
    {
        
$this->_retvalue $this->compiler->compileTag('for',
                                                       
array_merge($this->yystack$this->yyidx ]->minor,
                                                                   array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                          -
]->minor),
                                                                         array(
'ifexp' => $this->yystack$this->yyidx +
                                                                                                          -
]->minor),
                                                                         array(
'var' => $this->yystack$this->yyidx +
                                                                                                        -
]->minor),
                                                                         array(
'step' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor))),
                                                       
1);
    }

    
#line 466 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r36()
    {
        
$this->_retvalue '=' $this->yystack$this->yyidx ]->minor;
    }

    
#line 470 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r38()
    {
        
$this->_retvalue $this->compiler->compileTag('for',
                                                       
array_merge($this->yystack$this->yyidx ]->minor,
                                                                   array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                          -
]->minor),
                                                                         array(
'to' => $this->yystack$this->yyidx +
                                                                                                       -
]->minor))),
                                                       
0);
    }

    
#line 475 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r39()
    {
        
$this->_retvalue $this->compiler->compileTag('for',
                                                       
array_merge($this->yystack$this->yyidx ]->minor,
                                                                   array(array(
'start' => $this->yystack$this->yyidx +
                                                                                                          -
]->minor),
                                                                         array(
'to' => $this->yystack$this->yyidx +
                                                                                                       -
]->minor),
                                                                         array(
'step' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor))),
                                                       
0);
    }

    
#line 479 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r40()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach',
                                                       
array_merge($this->yystack$this->yyidx ]->minor,
                                                                   array(array(
'from' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor),
                                                                         array(
'item' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor))));
    }

    
#line 482 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r41()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach',
                                                       
array_merge($this->yystack$this->yyidx ]->minor,
                                                                   array(array(
'from' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor),
                                                                         array(
'item' => $this->yystack$this->yyidx +
                                                                                                         -
]->minor),
                                                                         array(
'key' => $this->yystack$this->yyidx +
                                                                                                        -
]->minor))));
    }

    
#line 487 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r42()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach'$this->yystack$this->yyidx ]->minor);
    }

    
#line 491 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r43()
    {
        
$this->_retvalue $this->compiler->compileTag('setfilter',
                                                       array(),
                                                       array(
'modifier_list' => array(array_merge(array($this->yystack$this->yyidx +
                                                                                                                        -
]->minor),
                                                                                                  
$this->yystack$this->yyidx +
                                                                                                                  
]->minor))));
    }

    
#line 497 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r44()
    {
        
$this->_retvalue $this->compiler->compileTag('setfilter',
                                                       array(),
                                                       array(
'modifier_list' => array_merge(array(array_merge(array($this->yystack$this->yyidx +
                                                                                                                                    -
]->minor),
                                                                                                              
$this->yystack$this->yyidx +
                                                                                                                              -
]->minor)),
                                                                                            
$this->yystack$this->yyidx +
                                                                                                            
]->minor)));
    }

    
#line 506 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r45()
    {
        
$tag trim(substr($this->yystack$this->yyidx ]->minor,
                           
$this->compiler->getLdelLength(),
                           -
$this->compiler->getRdelLength()),
                    
' /');
        if (
$tag === 'strip') {
            
$this->strip false;
            
$this->_retvalue null;
        } else {
            
$this->_retvalue $this->compiler->compileTag($tag 'close', array());
        }
    }

    
#line 510 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r46()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor 'close', array());
    }

    
#line 515 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r47()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close',
                                                       array(),
                                                       array(
'modifier_list' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 519 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r48()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close',
                                                       array(),
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 527 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r49()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close',
                                                       array(),
                                                       array(
'object_method' => $this->yystack$this->yyidx +
                                                                                                -
]->minor,
                                                             
'modifier_list' => $this->yystack$this->yyidx +
                                                                                                
]->minor));
    }

    
#line 533 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r50()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
        
$this->_retvalue[] = $this->yystack$this->yyidx ]->minor;
    }

    
#line 538 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r51()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx ]->minor);
    }

    
#line 543 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r52()
    {
        
$this->_retvalue = array();
    }

    
#line 554 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r53()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue =
                array(
$this->yystack$this->yyidx + -]->minor => $this->yystack$this->yyidx ]->minor);
        } else {
            
$this->_retvalue =
                array(
$this->yystack$this->yyidx + -]->minor => ''' . $this->yystack[ $this->yyidx + 0 ]->minor .
                                                                    '''
);
        }
    }

    
#line 562 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r54()
    {
        
$this->_retvalue =
            array(
trim($this->yystack$this->yyidx + -]->minor" =nrt") => $this->yystack$this->yyidx +
                                                                                                  
]->minor);
    }

    
#line 574 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r56()
    {
        
$this->_retvalue ''' . $this->yystack[ $this->yyidx + 0 ]->minor . ''';
    }

    
#line 587 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r59()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -]->minor => $this->yystack$this->yyidx ]->minor);
    }

    
#line 592 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r61()
    {
        
$this->yystack$this->yyidx + -]->minor[] = $this->yystack$this->yyidx ]->minor;
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
#line 599 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r62()
    {
        
$this->_retvalue = array('var'   => ''' . substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) . ''',
                                 
'value' => $this->yystack$this->yyidx ]->minor);
    }

    
#line 603 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r64()
    {
        
$this->_retvalue = array('var'   => $this->yystack$this->yyidx + -]->minor,
                                 
'value' => $this->yystack$this->yyidx ]->minor);
    }

    
#line 623 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r65()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
#line 628 "../smarty/lexer/smarty_internal_templateparser.y"

    
function yy_r68()
    {
        
$this->_retvalue =
            
'$_smarty_tpl->getStreamVariable('' . substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) . '://' .
            
$this->yystack$this->yyidx ]->minor '')';
    }

    #line 642 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r69()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -2 ]->minor . trim($this->yystack[ $this->yyidx + -1 ]->minor) .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 648 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r72()
    {
        $this->_retvalue = $this->compiler->compileTag('
private_modifier',
                                                       array(),
                                                       array('
value'        => $this->yystack[ $this->yyidx +
                                                                                               -1 ]->minor,
                                                             '
modifierlist' => $this->yystack[ $this->yyidx +
                                                                                               0 ]->minor));
    }

    #line 652 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r73()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -1 ]->minor[ '
pre' ] . $this->yystack[ $this->yyidx + -2 ]->minor .
            $this->yystack[ $this->yyidx + -1 ]->minor[ '
op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
    }

    #line 656 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r74()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor .
                           $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 660 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r75()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor . '
)';
    }

    #line 664 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r76()
    {
        $this->_retvalue =
            '
in_array(' . $this->yystack[ $this->yyidx + -2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor .
            '
)';
    }

    #line 672 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r77()
    {
        $this->_retvalue = '
in_array(' . $this->yystack[ $this->yyidx + -2 ]->minor . ',(array)' .
                           $this->yystack[ $this->yyidx + 0 ]->minor . '
)';
    }

    #line 676 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r78()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -5 ]->minor . ' 
' . $this->compiler->compileVariable(''' .
                                                                                                                 
substr($this->yystack$this->yyidx +
                                                                                                                                        -
]->minor,
                                                                                                                        
1) .
                                                                                                                 
''') .
                           ' 
' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 686 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r79()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -5 ]->minor . ' 
' . $this->yystack[ $this->yyidx + -2 ]->minor . ' ' .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 691 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r81()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 712 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r82()
    {
        $this->_retvalue = '
!' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 716 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r87()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 720 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r88()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '
.';
    }

    #line 725 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r89()
    {
        $this->_retvalue = '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 742 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r90()
    {
        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
            if ($this->security) {
                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
            }
            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
        } else {
            $this->_retvalue = ''' 
$this->yystack$this->yyidx ]->minor ''';
        }
    }

    #line 746 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r92()
    {
        $this->_retvalue = '
(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
    }

    #line 764 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r93()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor .
                           $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 775 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r97()
    {
        $prefixVar = $this->compiler->getNewPrefixVariable();
        if ($this->yystack[ $this->yyidx + -2 ]->minor[ '
var' ] === ''smarty'') {
            $this->compiler->appendPrefixCode("<?php {$prefixVar} = " .
                                              $this->compiler->compileTag('
private_special_variable',
                                                                          array(),
                                                                          $this->yystack[ $this->yyidx +
                                                                                          -2 ]->minor[ '
smarty_internal_index' ]) .
                                              '
;?>');
        } else {
            $this->compiler->appendPrefixCode("<?php  {$prefixVar} = " .
                                              
$this->compiler->compileVariable($this->yystack$this->yyidx +
                                                                                               -2 ]->minor[ 'var' ]) .
                                              
$this->yystack$this->yyidx + -2 ]->minor[ 'smarty_internal_index' ] .
                                              ';?>');
        }
        
$this->_retvalue = $prefixVar . '::' . $this->yystack$this->yyidx + 0 ]->minor[ 0 ] .
                           
$this->yystack$this->yyidx + 0 ]->minor[ 1 ];
    }

    #line 792 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r98()
    {
        
$prefixVar = $this->compiler->getNewPrefixVariable();
        
$tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack$this->yyidx + 0 ]->minor);
        
$this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php {$prefixVar} = ob_get_clean();?>"));
        $this->_retvalue = $prefixVar;
    }

    #line 811 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r101()
    {
        if (!in_array(strtolower($this->yystack[ $this->yyidx + -2 ]->minor), array('self', 'parent')) &&
            (!$this->security || $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + -2 ]->minor,
                                                                             $this->yystack[ $this->yyidx + 0 ]->minor,
                                                                             $this->compiler))) {
            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ])) {
                $this->_retvalue =
                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ] . '::' .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
            } else {
                $this->_retvalue =
                    $this->yystack[ $this->yyidx + -2 ]->minor . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
            }
        } else {
            $this->compiler->trigger_template_error('static class '' . $this->yystack[ $this->yyidx + -2 ]->minor .
                                                    '' is undefined or not allowed by security setting');
        }
    }

    #line 822 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r103()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 825 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r104()
    {
        $this->_retvalue =
            $this->compiler->compileVariable(''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''');
    }

    #line 838 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r105()
    {
        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] === ''smarty'') {
            $smarty_var = $this->compiler->compileTag('private_special_variable',
                                                      array(),
                                                      $this->yystack[ $this->yyidx +
                                                                      0 ]->minor[ 'smarty_internal_index' ]);
            $this->_retvalue = $smarty_var;
        } else {
            // used for array reset,next,prev,end,current
            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
                               $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
        }
    }

    #line 848 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r106()
    {
        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + -2 ]->minor . ']->' .
                           $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 852 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r108()
    {
        $this->_retvalue =
            $this->compiler->compileConfigVariable(''' . $this->yystack[ $this->yyidx + -1 ]->minor . ''');
    }

    #line 856 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r109()
    {
        $this->_retvalue = '(is_array($tmp = ' .
                           $this->compiler->compileConfigVariable(''' . $this->yystack[ $this->yyidx + -2 ]->minor .
                                                                  ''') . ') ? $tmp' .
                           $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
    }

    #line 860 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r110()
    {
        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -1 ]->minor);
    }

    #line 864 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r111()
    {
        $this->_retvalue =
            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -2 ]->minor) .
            ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
    }

    #line 867 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r112()
    {
        $this->_retvalue = array('var' => ''' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . ''',
                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
    }

    #line 880 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r113()
    {
        $this->_retvalue = array('var'                   => $this->yystack[ $this->yyidx + -1 ]->minor,
                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
    }

    #line 886 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r115()
    {
        return;
    }

    #line 889 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r116()
    {
        $this->_retvalue =
            '[' . $this->compiler->compileVariable(''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''') .
            ']';
    }

    #line 893 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r117()
    {
        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
    }

    #line 897 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r118()
    {
        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + -2 ]->minor) . '->' .
                           $this->yystack[ $this->yyidx + 0 ]->minor . ']';
    }

    #line 901 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r119()
    {
        $this->_retvalue = '['' . $this->yystack[ $this->yyidx + 0 ]->minor . '']';
    }

    #line 906 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r120()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
    }

    #line 911 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r121()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
    }

    #line 915 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r122()
    {
        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable',
                                                             array(),
                                                             '['section']['' .
                                                             $this->yystack[ $this->yyidx + -1 ]->minor .
                                                             '']['index']') . ']';
    }

    #line 918 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r123()
    {
        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable',
                                                             array(),
                                                             '['section']['' .
                                                             $this->yystack[ $this->yyidx + -3 ]->minor . '']['' .
                                                             $this->yystack[ $this->yyidx + -1 ]->minor . '']') . ']';
    }

    #line 924 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r124()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
    }

    #line 940 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r126()
    {
        $this->_retvalue = '[' . $this->compiler->compileVariable(''' .
                                                                  substr($this->yystack[ $this->yyidx + -1 ]->minor,
                                                                         1) . ''') . ']';;
    }

    #line 950 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r130()
    {
        $this->_retvalue = '[]';
    }

    #line 954 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r131()
    {
        $this->_retvalue = ''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''';
    }

    #line 959 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r132()
    {
        $this->_retvalue = '''';
    }

    #line 967 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r133()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 973 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r135()
    {
        $var = trim(substr($this->yystack[ $this->yyidx + 0 ]->minor,
                           $this->compiler->getLdelLength(),
                           -$this->compiler->getRdelLength()),
                    ' $');
        $this->_retvalue = $this->compiler->compileVariable(''' . $var . ''');
    }

    #line 980 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r136()
    {
        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
    }

    #line 989 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r137()
    {
        if ($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ] === ''smarty'') {
            $this->_retvalue = $this->compiler->compileTag('private_special_variable',
                                                           array(),
                                                           $this->yystack[ $this->yyidx +
                                                                           -1 ]->minor[ 'smarty_internal_index' ]) .
                               $this->yystack[ $this->yyidx + 0 ]->minor;
        } else {
            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ]) .
                               $this->yystack[ $this->yyidx + -1 ]->minor[ 'smarty_internal_index' ] .
                               $this->yystack[ $this->yyidx + 0 ]->minor;
        }
    }

    #line 994 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r138()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 999 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r139()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 1006 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r140()
    {
        if ($this->security && substr($this->yystack[ $this->yyidx + -1 ]->minor, 0, 1) === '_') {
            $this->compiler->trigger_template_error(self::Err1);
        }
        $this->_retvalue =
            '->' . $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 1013 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r141()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::Err2);
        }
        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor) .
                           $this->yystack[ $this->yyidx + 0 ]->minor . '}';
    }

    #line 1020 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r142()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::Err2);
        }
        $this->_retvalue =
            '->{' . $this->yystack[ $this->yyidx + -2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
    }

    #line 1028 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r143()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::Err2);
        }
        $this->_retvalue =
            '->{'' . $this->yystack[ $this->yyidx + -4 ]->minor . ''.' . $this->yystack[ $this->yyidx + -2 ]->minor .
            $this->yystack[ $this->yyidx + 0 ]->minor . '}';
    }

    #line 1036 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r144()
    {
        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    #line 1044 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r145()
    {
        $this->_retvalue = $this->compiler->compilePHPFunctionCall($this->yystack[ $this->yyidx + -3 ]->minor,
                                                                   $this->yystack[ $this->yyidx + -1 ]->minor);
    }

    #line 1051 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r146()
    {
        if ($this->security && substr($this->yystack[ $this->yyidx + -3 ]->minor, 0, 1) === '_') {
            $this->compiler->trigger_template_error(self::Err1);
        }
        $this->_retvalue = $this->yystack[ $this->yyidx + -3 ]->minor . '(' .
                           implode(',', $this->yystack[ $this->yyidx + -1 ]->minor) . ')';
    }

    #line 1062 "../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r147()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::Err2);
        }
        $prefixVar = $this->compiler->getNewPrefixVariable();
        $this->compiler->appendPrefixCode("<?php {$prefixVar} = " . $this->compiler->compileVariable(''' .
                                                                                                     substr(
$this->yystack$this->yyidx +
                                                                                                                            -3 ]->minor,
                                                                                                            1) . ''') .
                                          ';?>');
        
$this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack$this->yyidx + -1 ]->minor) . ')';
    }

    #line 1079 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r148()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + -2 ]->minor, array($this->yystack$this->yyidx + 0 ]->minor));
    }

    #line 1083 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r151()
    {
        
$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)));
    }

    #line 1091 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r152()
    {
        
$this->_retvalue =
            array(array_merge(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor));
    }

    #line 1099 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r154()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1118 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r155()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1123 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r159()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '', 'method');
    }

    #line 1128 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r160()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'method');
    }

    #line 1133 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r161()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '');
    }

    #line 1138 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r162()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'property');
    }

    #line 1144 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r163()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + -2 ]->minor,
                                 
$this->yystack$this->yyidx + -1 ]->minor . $this->yystack$this->yyidx + 0 ]->minor,
                                 'property');
    }

    #line 1148 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r164()
    {
        
$this->_retvalue = ' ' . trim($this->yystack$this->yyidx + 0 ]->minor) . ' ';
    }

    #line 1167 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r165()
    {
        static 
$lops = array(
            'eq'  => ' == ',
            'ne'  => ' != ',
            'neq' => ' != ',
            'gt'  => ' > ',
            'ge'  => ' >= ',
            'gte' => ' >= ',
            'lt'  => ' < ',
            'le'  => ' <= ',
            'lte' => ' <= ',
            'mod' => ' % ',
            'and' => ' && ',
            'or'  => ' || ',
            'xor' => ' xor ',
        );
        
$op = strtolower(preg_replace('/s*/', '', $this->yystack$this->yyidx + 0 ]->minor));
        
$this->_retvalue = $lops[ $op ];
    }

    #line 1180 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r166()
    {
        static 
$tlops = array(
            'isdivby'     => array('op' => ' % ', 'pre' => '!('),
            'isnotdivby'  => array('op' => ' % ', 'pre' => '('),
            'isevenby'    => array('op' => ' / ', 'pre' => '!(1 & '),
            'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
            'isoddby'     => array('op' => ' / ', 'pre' => '(1 & '),
            'isnotoddby'  => array('op' => ' / ', 'pre' => '!(1 & '),
        );
        
$op = strtolower(preg_replace('/s*/', '', $this->yystack$this->yyidx + 0 ]->minor));
        
$this->_retvalue = $tlops[ $op ];
    }

    #line 1194 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r167()
    {
        static 
$scond = array(
            'iseven'    => '!(1 & ',
            'isnoteven' => '(1 & ',
            'isodd'     => '(1 & ',
            'isnotodd'  => '!(1 & ',
        );
        
$op = strtolower(str_replace(' ', '', $this->yystack$this->yyidx + 0 ]->minor));
        
$this->_retvalue = $scond[ $op ];
    }

    #line 1202 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r168()
    {
        
$this->_retvalue = 'array(' . $this->yystack$this->yyidx + -1 ]->minor . ')';
    }

    #line 1210 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r170()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + -2 ]->minor . ',' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1214 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r172()
    {
        
$this->_retvalue =
            
$this->yystack$this->yyidx + -2 ]->minor . '=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1230 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r173()
    {
        
$this->_retvalue =
            ''' . 
$this->yystack$this->yyidx + -2 ]->minor . ''=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    #line 1236 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r176()
    {
        
$this->compiler->leaveDoubleQuote();
        
$this->_retvalue = $this->yystack$this->yyidx + -1 ]->minor->to_smarty_php($this);
    }

    #line 1241 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r177()
    {
        
$this->yystack$this->yyidx + -1 ]->minor->append_subtree($this$this->yystack$this->yyidx + 0 ]->minor);
        
$this->_retvalue = $this->yystack$this->yyidx + -1 ]->minor;
    }

    #line 1245 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r178()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    #line 1249 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r179()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack$this->yyidx + -1 ]->minor);
    }

    #line 1253 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r180()
    {
        
$this->_retvalue =
            new Smarty_Internal_ParseTree_Code('(string)(' . 
$this->yystack$this->yyidx + -1 ]->minor . ')');
    }

    #line 1265 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r181()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars['' .
                                                              substr(
$this->yystack$this->yyidx + 0 ]->minor, 1) .
                                                              '']->value');
    }

    #line 1269 "
../smarty/lexer/smarty_internal_templateparser.y"

    function yy_r184()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    function yy_r185()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack$this->yyidx + 0 ]->minor);
    }

    public function yy_reduce(
$yyruleno)
    {
        if (
$this->yyTraceFILE && $yyruleno >= 0
            && 
$yyruleno < count(self::$yyRuleName)) {
            fprintf(
$this->yyTraceFILE,
                    "
%sReduce (%d) [%s].n",
                    
$this->yyTracePrompt,
                    
$yyruleno,
                    self::
$yyRuleName[ $yyruleno ]);
        }
        
$this->_retvalue = $yy_lefthand_side = null;
        if (isset(self::
$yyReduceMap[ $yyruleno ])) {
            // call the action
            
$this->_retvalue = null;
            
$this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
            
$yy_lefthand_side = $this->_retvalue;
        }
        
$yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
        
$yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
        
$this->yyidx -= $yysize;
        for (
$i = $yysize$i$i--) {
            // pop all of the right-hand side parameters
            array_pop(
$this->yystack);
        }
        
$yyact = $this->yy_find_reduce_action($this->yystack$this->yyidx ]->stateno, $yygoto);
        if (
$yyact < self::YYNSTATE) {
            if (!
$this->yyTraceFILE && $yysize) {
                
$this->yyidx++;
                
$x = new TP_yyStackEntry;
                
$x->stateno = $yyact;
                
$x->major = $yygoto;
                
$x->minor = $yy_lefthand_side;
                
$this->yystack$this->yyidx ] = $x;
            } else {
                
$this->yy_shift($yyact$yygoto$yy_lefthand_side);
            }
        } else if (
$yyact === self::YYNSTATE + self::YYNRULE + 1) {
            
$this->yy_accept();
        }
    }

    public function yy_parse_failed()
    {
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE, "%sFail!n", $this->yyTracePrompt);
        }
        while (
$this->yyidx >= 0) {
            
$this->yy_pop_parser_stack();
        }
    }

    public function yy_syntax_error(
$yymajor$TOKEN)
    {
        #line 214 "
../smarty/lexer/smarty_internal_templateparser.y"
        
$this->internalError = true;
        
$this->yymajor = $yymajor;
        
$this->compiler->trigger_template_error();
    }

    public function yy_accept()
    {
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE, "%sAccept!n", $this->yyTracePrompt);
        }
        while (
$this->yyidx >= 0) {
            
$this->yy_pop_parser_stack();
        }
        #line 207 "
../smarty/lexer/smarty_internal_templateparser.y"
        
$this->successful = !$this->internalError;
        
$this->internalError = false;
        
$this->retvalue = $this->_retvalue;
    }

    public function doParse(
$yymajor$yytokenvalue)
    {
        
$yyerrorhit = 0;   /* True if yymajor has invoked an error */
        if (
$this->yyidx === null || $this->yyidx < 0) {
            
$this->yyidx = 0;
            
$this->yyerrcnt = -1;
            
$x = new TP_yyStackEntry;
            
$x->stateno = 0;
            
$x->major = 0;
            
$this->yystack = array();
            
$this->yystack[] = $x;
        }
        
$yyendofinput = ($yymajor == 0);
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE,
                    "
%sInput %sn",
                    
$this->yyTracePrompt,
                    
$this->yyTokenName$yymajor ]);
        }
        do {
            
$yyact = $this->yy_find_shift_action($yymajor);
            if (
$yymajor < self::YYERRORSYMBOL &&
                !
$this->yy_is_expected_token($yymajor)) {
                // force a syntax error
                
$yyact = self::YY_ERROR_ACTION;
            }
            if (
$yyact < self::YYNSTATE) {
                
$this->yy_shift($yyact$yymajor$yytokenvalue);
                
$this->yyerrcnt--;
                if (
$yyendofinput && $this->yyidx >= 0) {
                    
$yymajor = 0;
                } else {
                    
$yymajor = self::YYNOCODE;
                }
            } else if (
$yyact < self::YYNSTATE + self::YYNRULE) {
                
$this->yy_reduce($yyact - self::YYNSTATE);
            } else if (
$yyact === self::YY_ERROR_ACTION) {
                if (
$this->yyTraceFILE) {
                    fprintf(
$this->yyTraceFILE,
                            "
%sSyntax Error!n",
                            
$this->yyTracePrompt);
                }
                if (self::YYERRORSYMBOL) {
                    if (
$this->yyerrcnt < 0) {
                        
$this->yy_syntax_error($yymajor$yytokenvalue);
                    }
                    
$yymx = $this->yystack$this->yyidx ]->major;
                    if (
$yymx === self::YYERRORSYMBOL || $yyerrorhit) {
                        if (
$this->yyTraceFILE) {
                            fprintf(
$this->yyTraceFILE,
                                    "
%sDiscard input token %sn",
                                    
$this->yyTracePrompt,
                                    
$this->yyTokenName$yymajor ]);
                        }
                        
$this->yy_destructor($yymajor$yytokenvalue);
                        
$yymajor = self::YYNOCODE;
                    } else {
                        while (
$this->yyidx >= 0 &&
                               
$yymx !== self::YYERRORSYMBOL &&
                               (
$yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
                        ) {
                            
$this->yy_pop_parser_stack();
                        }
                        if (
$this->yyidx < 0 || $yymajor == 0) {
                            
$this->yy_destructor($yymajor$yytokenvalue);
                            
$this->yy_parse_failed();
                            
$yymajor = self::YYNOCODE;
                        } else if (
$yymx !== self::YYERRORSYMBOL) {
                            
$u2 = 0;
                            
$this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
                        }
                    }
                    
$this->yyerrcnt = 3;
                    
$yyerrorhit = 1;
                } else {
                    if (
$this->yyerrcnt <= 0) {
                        
$this->yy_syntax_error($yymajor$yytokenvalue);
                    }
                    
$this->yyerrcnt = 3;
                    
$this->yy_destructor($yymajor$yytokenvalue);
                    if (
$yyendofinput) {
                        
$this->yy_parse_failed();
                    }
                    
$yymajor = self::YYNOCODE;
                }
            } else {
                
$this->yy_accept();
                
$yymajor = self::YYNOCODE;
            }
        } while (
$yymajor !== self::YYNOCODE && $this->yyidx >= 0);
    }
}
Онлайн: 1
Реклама