From 2629108e1a1e70c1ca9ca10a4dcdb621392c603a Mon Sep 17 00:00:00 2001 From: cajus Date: Fri, 7 Jan 2011 11:13:39 +0000 Subject: [PATCH] Updated smarty to 3.0.6 git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20581 594d385d-05f5-0310-b6e9-bd551577e9d8 --- gosa-core/include/smarty/Smarty.class.php | 10 +- gosa-core/include/smarty/debug.tpl | 13 +- .../smarty_internal_compile_block.php | 11 +- .../smarty_internal_compile_extends.php | 3 + .../sysplugins/smarty_internal_compile_if.php | 63 +- ...ernal_compile_private_special_variable.php | 14 +- .../smarty_internal_compile_while.php | 25 +- .../smarty_internal_compilebase.php | 3 +- .../sysplugins/smarty_internal_data.php | 2 +- .../sysplugins/smarty_internal_debug.php | 273 +- .../sysplugins/smarty_internal_template.php | 3 + .../smarty_internal_templatecompilerbase.php | 30 +- .../smarty_internal_templateparser.php | 2694 +++++++++-------- .../sysplugins/smarty_internal_write_file.php | 12 +- 14 files changed, 1650 insertions(+), 1506 deletions(-) diff --git a/gosa-core/include/smarty/Smarty.class.php b/gosa-core/include/smarty/Smarty.class.php index 77d527cfc..75c90ffc7 100644 --- a/gosa-core/include/smarty/Smarty.class.php +++ b/gosa-core/include/smarty/Smarty.class.php @@ -3,7 +3,7 @@ /** * Project: Smarty: the PHP compiling template engine * File: Smarty.class.php - * SVN: $Id: Smarty.class.php 3794 2010-11-15 22:54:59Z uwe.tews@googlemail.com $ + * SVN: $Id: Smarty.class.php 3845 2010-12-05 17:21:02Z uwe.tews@googlemail.com $ * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,7 +28,7 @@ * @author Monte Ohrt * @author Uwe Tews * @package Smarty - * @version 3.0.5 + * @version 3.0.6 */ /** @@ -87,7 +87,7 @@ class Smarty extends Smarty_Internal_Data { * constant definitions */ // smarty version - const SMARTY_VERSION = 'Smarty-3.0.5'; + const SMARTY_VERSION = 'Smarty-3.0.6'; //define variable scopes const SCOPE_LOCAL = 0; const SCOPE_PARENT = 1; @@ -238,6 +238,8 @@ class Smarty extends Smarty_Internal_Data { public $deprecation_notices = true; // Smarty 2 BC public $_version = self::SMARTY_VERSION; + // self pointer to Smarty object + public $smarty; /** * Class constructor, initializes basic smarty properties @@ -329,7 +331,7 @@ class Smarty extends Smarty_Internal_Data { } } // return redered template - if (isset($this->autoload_filters['output']) || isset($this->registered_filters['output'])) { + if ((!$this->caching || $_template->resource_object->isEvaluated) && (isset($this->autoload_filters['output']) || isset($this->registered_filters['output']))) { $_output = Smarty_Internal_Filter_Handler::runFilter('output', $_template->getRenderedTemplate(), $_template); } else { $_output = $_template->getRenderedTemplate(); diff --git a/gosa-core/include/smarty/debug.tpl b/gosa-core/include/smarty/debug.tpl index 2a456ca94..058c5b204 100644 --- a/gosa-core/include/smarty/debug.tpl +++ b/gosa-core/include/smarty/debug.tpl @@ -86,8 +86,9 @@ td { -

Smarty Debug Console - Total Time {$execution_time|string_format:"%.5f"}

+

Smarty Debug Console - {if isset($template_name)}{$template_name|debug_print_var}{else}Total Time {$execution_time|string_format:"%.5f"}{/if}

+{if !empty($template_data)}

included templates & config files (load time in seconds)

@@ -99,6 +100,7 @@ td {
{/foreach}
+{/if}

assigned template variables

@@ -124,13 +126,8 @@ td { {/capture} diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php index 7f622165a..b1b64374a 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_block.php @@ -46,7 +46,7 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { static function saveBlockData($block_content, $block_tag, $template, $filepath) { - $_rdl = preg_quote($template->smarty->right_delimiter); + $_rdl = preg_quote($template->smarty->right_delimiter); $_ldl = preg_quote($template->smarty->left_delimiter); if (0 == preg_match("!({$_ldl}block\s+)(name=)?(\w+|'.*'|\".*\")(\s*?)?((append|prepend|nocache)(=true)?)?(\s*{$_rdl})!", $block_tag, $_match)) { @@ -85,7 +85,7 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { $template->block_data[$_name]['mode'] = 'replace'; } $template->block_data[$_name]['file'] = $filepath; - } + } } static function compileChildBlock ($compiler, $_name = null) @@ -100,6 +100,8 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { break; } } + // flag that child is already compile by {$smarty.block.child} inclusion + $compiler->template->block_data[$_name]['compiled'] = true; } if ($_name == null) { $compiler->trigger_template_error('{$smarty.block.child} used out of context', $this->compiler->lex->taglineno); @@ -108,7 +110,7 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { if (!isset($compiler->template->block_data[$_name])) { return ''; } - $_tpl = new Smarty_Internal_template ('eval:' . $compiler->template->block_data[$_name]['source'], $compiler->smarty, $compiler->template, $compiler->template->cache_id, + $_tpl = new Smarty_Internal_template ('eval:' . $compiler->template->block_data[$_name]['source'], $compiler->smarty, $compiler->template, $compiler->template->cache_id, $compiler->template->compile_id = null, $compiler->template->caching, $compiler->template->cache_lifetime); $_tpl->properties['nocache_hash'] = $compiler->template->properties['nocache_hash']; $_tpl->template_filepath = $compiler->template->block_data[$_name]['file']; @@ -141,7 +143,6 @@ class Smarty_Internal_Compile_Block extends Smarty_Internal_CompileBase { } } unset($_tpl); - $compiler->template->block_data[$_name]['compiled'] = true; return $_output; } @@ -172,7 +173,7 @@ class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase { } else { $_output = $compiler->parser->current_buffer->to_smarty_php(); unset ($compiler->template->block_data[$_name]['compiled']); - } + } // reset flags $compiler->parser->current_buffer = $saved_data[1]; $compiler->nocache = $saved_data[2]; diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php index 3d3ac7976..b62b531d0 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_extends.php @@ -40,6 +40,9 @@ class Smarty_Internal_Compile_Extends extends Smarty_Internal_CompileBase { $_smarty_tpl = $compiler->template; $include_file = null; + if (strpos($_attr['file'],'$_tmp') !== false) { + $this->compiler->trigger_template_error('illegal value for file attribute', $this->compiler->lex->taglineno); + } eval('$include_file = ' . $_attr['file'] . ';'); // create template object $_template = new $compiler->smarty->template_class($include_file, $this->smarty, $compiler->template); diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php index 496451364..2d9d2c6a8 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_if.php @@ -31,14 +31,23 @@ class Smarty_Internal_Compile_If extends Smarty_Internal_CompileBase { $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache; if (is_array($parameter['if condition'])) { if ($this->compiler->nocache) { - $_nocache = '(null,true)'; + $_nocache = ',true'; // create nocache var to make it know for further compiling - $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } } else { $_nocache = ''; } - $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { return ""; @@ -88,24 +97,33 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase { list($nesting, $compiler->tag_nocache) = $this->_close_tag(array('if', 'elseif')); - if (is_array($parameter['if condition'])) { - $condition_by_assign = true; - if ($this->compiler->nocache) { - $_nocache = '(null,true)'; - // create nocache var to make it know for further compiling - $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); - } else { - $_nocache = ''; - } - } else { - $condition_by_assign = false; - } + if (is_array($parameter['if condition'])) { + $condition_by_assign = true; + if ($this->compiler->nocache) { + $_nocache = ',true'; + // create nocache var to make it know for further compiling + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } + } else { + $_nocache = ''; + } + } else { + $condition_by_assign = false; + } if (empty($this->compiler->prefix_code)) { if ($condition_by_assign) { $this->_open_tag('elseif', array($nesting + 1, $compiler->tag_nocache)); - $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { $this->_open_tag('elseif', array($nesting, $compiler->tag_nocache)); @@ -117,8 +135,13 @@ class Smarty_Internal_Compile_Elseif extends Smarty_Internal_CompileBase { $this->compiler->prefix_code = array(); $this->_open_tag('elseif', array($nesting + 1, $compiler->tag_nocache)); if ($condition_by_assign) { - $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable{$_nocache};"; - $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + if (is_array($parameter['if condition']['var'])) { + $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "{$tmp}tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].",null,true,false)->value{$_nocache});"; + $_output .= "if (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { return "{$tmp}"; diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php index 22fd95171..f9a8535c7 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_private_special_variable.php @@ -56,21 +56,11 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C break; case 'template': - if ($compiler->smarty->inheritance) { - $ptr = $compiler->template->parent; - } else { - $ptr = $compiler->template; - } - $_template_name = $ptr->template_resource; + $_template_name = $compiler->template->template_resource; return "'$_template_name'"; case 'current_dir': - if ($compiler->smarty->inheritance) { - $ptr = $compiler->template->parent; - } else { - $ptr = $compiler->template; - } - $_template_dir_name = dirname($ptr->getTemplateFilepath()); + $_template_dir_name = dirname($compiler->template->getTemplateFilepath()); return "'$_template_dir_name'"; case 'version': diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php index ecad07148..c7fd462f8 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_while.php @@ -30,14 +30,29 @@ class Smarty_Internal_Compile_While extends Smarty_Internal_CompileBase { // maybe nocache because of nocache variables $this->compiler->nocache = $this->compiler->nocache | $this->compiler->tag_nocache; - - if (is_array($parameter['if condition'])) { - $_output = " tpl_vars[".$parameter['if condition']['var']."])) \$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable;\n"; - $_output .= " while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value'].") {\n ?>"; + if ($this->compiler->nocache) { + $_nocache = ',true'; + // create nocache var to make it know for further compiling + if (is_array($parameter['if condition']['var'])) { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var']['var'], "'")] = new Smarty_variable(null, true); + } else { + $this->compiler->template->tpl_vars[trim($parameter['if condition']['var'], "'")] = new Smarty_variable(null, true); + } + } else { + $_nocache = ''; + $_nocache2 = ''; + } + if (is_array($parameter['if condition']['var'])) { + $_output = "tpl_vars[".$parameter['if condition']['var']['var']."]) || !is_array(\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value)) \$_smarty_tpl->createLocalArrayVariable(".$parameter['if condition']['var']['var']."$_nocache2);\n"; + $_output .= "while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']['var']."]->value".$parameter['if condition']['var']['smarty_internal_index']." = ".$parameter['if condition']['value']."){?>"; + } else { + $_output = "tpl_vars[".$parameter['if condition']['var']."] = new Smarty_Variable(\$_smarty_tpl->getVariable(".$parameter['if condition']['var'].")->value{$_nocache},null,true,false);"; + $_output .= "while (\$_smarty_tpl->tpl_vars[".$parameter['if condition']['var']."]->value = ".$parameter['if condition']['value']."){?>"; + } return $_output; } else { - return ''; + return ""; } } } diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php index 5b3260a29..6418acceb 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_compilebase.php @@ -71,7 +71,8 @@ class Smarty_Internal_CompileBase { } // must be named attribute } else { - $_indexed_attr = array_merge($_indexed_attr, $mixed); + reset($mixed); + $_indexed_attr[key($mixed)] = $mixed[key($mixed)]; } } } diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php index 9246f7f64..178188271 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php @@ -184,7 +184,7 @@ class Smarty_Internal_Data { function getTemplateVars($varname = null, $_ptr = null, $search_parents = true) { if (isset($varname)) { - $_var = $this->getVariable($varname, $_ptr, $search_parents); + $_var = $this->getVariable($varname, $_ptr, $search_parents, false); if (is_object($_var)) { return $_var->value; } else { diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php b/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php index d165d7d78..0fd22a6a6 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php @@ -1,133 +1,170 @@ parent)) { - $ptr = $ptr->parent; - } - if ($obj instanceof Smarty) { - $smarty = $obj; - } else { - $smarty = $obj->smarty; - } - $_assigned_vars = $ptr->tpl_vars; - ksort($_assigned_vars); - $_config_vars = $ptr->config_vars; - ksort($_config_vars); - $ldelim = $smarty->left_delimiter; - $rdelim = $smarty->right_delimiter; - $smarty->left_delimiter = '{'; - $smarty->right_delimiter = '}'; - $_template = new Smarty_Internal_Template ($smarty->debug_tpl, $smarty); - $_template->caching = false; - $_template->force_compile = false; - $_template->disableSecurity(); - $_template->cache_id = null; - $_template->compile_id = null; - $_template->assign('template_data', self::$template_data); - $_template->assign('assigned_vars', $_assigned_vars); - $_template->assign('config_vars', $_config_vars); - $_template->assign('execution_time', microtime(true) - $smarty->start_time); - echo $smarty->fetch($_template); - $smarty->left_delimiter = $ldelim; - $smarty->right_delimiter = $rdelim; - } + /** + * End logging of cache time + */ + public static function end_cache($template) + { + $key = self::get_key($template); + self::$template_data[$key]['cache_time'] += microtime(true) - self::$template_data[$key]['start_time']; + } + /** + * Opens a window for the Smarty Debugging Consol and display the data + */ + public static function display_debug($obj) + { + // prepare information of assigned variables + $ptr = self::get_debug_vars($obj); + if ($obj instanceof Smarty) { + $smarty = $obj; + } else { + $smarty = $obj->smarty; + } + $_assigned_vars = $ptr->tpl_vars; + ksort($_assigned_vars); + $_config_vars = $ptr->config_vars; + ksort($_config_vars); + $ldelim = $smarty->left_delimiter; + $rdelim = $smarty->right_delimiter; + $smarty->left_delimiter = '{'; + $smarty->right_delimiter = '}'; + $_template = new Smarty_Internal_Template ($smarty->debug_tpl, $smarty); + $_template->caching = false; + $_template->force_compile = false; + $_template->disableSecurity(); + $_template->cache_id = null; + $_template->compile_id = null; + if ($obj instanceof Smarty_Internal_Template) { + $_template->assign('template_name',$obj->resource_type.':'.$obj->resource_name); + } + if ($obj instanceof Smarty) { + $_template->assign('template_data', self::$template_data); + } else { + $_template->assign('template_data', null); + } + $_template->assign('assigned_vars', $_assigned_vars); + $_template->assign('config_vars', $_config_vars); + $_template->assign('execution_time', microtime(true) - $smarty->start_time); + echo $_template->getRenderedTemplate(); + $smarty->left_delimiter = $ldelim; + $smarty->right_delimiter = $rdelim; + } + /* + * Recursively gets variables from all template/data scopes + */ + public static function get_debug_vars($obj) + { + $config_vars = $obj->config_vars; + $tpl_vars = array(); + foreach ($obj->tpl_vars as $key => $var) { + $tpl_vars[$key] = clone $var; + if ($obj instanceof Smarty_Internal_Template) { + $tpl_vars[$key]->scope = $obj->resource_type.':'.$obj->resource_name; + } elseif ($obj instanceof Smarty_Data) { + $tpl_vars[$key]->scope = 'Data object'; + } else { + $tpl_vars[$key]->scope = 'Smarty root'; + } + } - /** - * get_key - */ - static function get_key($template) - { - // calculate Uid if not already done - if ($template->templateUid == '') { - $template->getTemplateFilepath(); - } - $key = $template->templateUid; - if (isset(self::$template_data[$key])) { - return $key; - } else { - self::$template_data[$key]['name'] = $template->getTemplateFilepath(); - self::$template_data[$key]['compile_time'] = 0; - self::$template_data[$key]['render_time'] = 0; - self::$template_data[$key]['cache_time'] = 0; - return $key; - } - } -} + if (isset($obj->parent)) { + $parent = self::get_debug_vars($obj->parent); + $tpl_vars = array_merge($parent->tpl_vars, $tpl_vars); + $config_vars = array_merge($parent->config_vars, $config_vars); + } else { + foreach (Smarty::$global_tpl_vars as $name => $var) { + if (!array_key_exists($name, $tpl_vars)) { + $clone = clone $var; + $clone->scope = 'Global'; + $tpl_vars[$name] = $clone; + } + } + } + return (object) array('tpl_vars' => $tpl_vars, 'config_vars' => $config_vars); + } + + /** + * get_key + */ + static function get_key($template) + { + // calculate Uid if not already done + if ($template->templateUid == '') { + $template->getTemplateFilepath(); + } + $key = $template->templateUid; + if (isset(self::$template_data[$key])) { + return $key; + } else { + self::$template_data[$key]['name'] = $template->getTemplateFilepath(); + self::$template_data[$key]['compile_time'] = 0; + self::$template_data[$key]['render_time'] = 0; + self::$template_data[$key]['cache_time'] = 0; + return $key; + } + } +} ?> \ No newline at end of file diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_template.php b/gosa-core/include/smarty/sysplugins/smarty_internal_template.php index 94f2deb9d..d361b4c61 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_template.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_template.php @@ -500,6 +500,9 @@ class Smarty_Internal_Template extends Smarty_Internal_Data { $output .= preg_replace("!/\*/?%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!", '', $cache_parts[0][$curr_idx]); } } + if (isset($this->smarty->autoload_filters['output']) || isset($this->smarty->registered_filters['output'])) { + $output = Smarty_Internal_Filter_Handler::runFilter('output', $output, $this); + } // rendering (must be done before writing cache file because of {function} nocache handling) $_smarty_tpl = $this; ob_start(); diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php index ffa7955e8..38d612e0a 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php @@ -67,7 +67,7 @@ class Smarty_Internal_TemplateCompilerBase { $_content = $template->getTemplateSource(); // run prefilter if required if (isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) { - $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template); + $template->template_source = $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template); } // on empty template just return header if ($_content == '') { @@ -401,24 +401,26 @@ class Smarty_Internal_TemplateCompilerBase { $line = $this->lex->line; } $match = preg_split("/\n/", $this->lex->data); - $error_text = 'Syntax Error in template "' . $this->template->getTemplateFilepath() . '" on line ' . $line . ' "' . htmlspecialchars($match[$line-1]) . '" '; + $error_text = 'Syntax Error in template "' . $this->template->getTemplateFilepath() . '" on line ' . $line . ' "' . htmlspecialchars(trim(preg_replace('![\t\r\n]+!',' ',$match[$line-1]))) . '" '; if (isset($args)) { // individual error message $error_text .= $args; } else { // expected token from parser - foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) { - $exp_token = $this->parser->yyTokenName[$token]; - if (isset($this->lex->smarty_token_names[$exp_token])) { - // token type from lexer - $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"'; - } else { - // otherwise internal token name - $expect[] = $this->parser->yyTokenName[$token]; - } - } - // output parser error message - $error_text .= ' - Unexpected "' . $this->lex->value . '", expected one of: ' . implode(' , ', $expect); + $error_text .= ' - Unexpected "' . $this->lex->value.'"'; + if (count($this->parser->yy_get_expected_tokens($this->parser->yymajor)) <= 4 ) { + foreach ($this->parser->yy_get_expected_tokens($this->parser->yymajor) as $token) { + $exp_token = $this->parser->yyTokenName[$token]; + if (isset($this->lex->smarty_token_names[$exp_token])) { + // token type from lexer + $expect[] = '"' . $this->lex->smarty_token_names[$exp_token] . '"'; + } else { + // otherwise internal token name + $expect[] = $this->parser->yyTokenName[$token]; + } + } + $error_text .= ', expected one of: ' . implode(' , ', $expect); + } } throw new SmartyCompilerException($error_text); } diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php index ab94f95e1..342d2bea7 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php @@ -172,23 +172,23 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php const TP_LDELSLASH = 32; const TP_INTEGER = 33; const TP_COMMA = 34; - const TP_MATH = 35; - const TP_UNIMATH = 36; - const TP_ANDSYM = 37; - const TP_ISIN = 38; - const TP_ISDIVBY = 39; - const TP_ISNOTDIVBY = 40; - const TP_ISEVEN = 41; - const TP_ISNOTEVEN = 42; - const TP_ISEVENBY = 43; - const TP_ISNOTEVENBY = 44; - const TP_ISODD = 45; - const TP_ISNOTODD = 46; - const TP_ISODDBY = 47; - const TP_ISNOTODDBY = 48; - const TP_INSTANCEOF = 49; - const TP_OPENP = 50; - const TP_CLOSEP = 51; + const TP_OPENP = 35; + const TP_CLOSEP = 36; + const TP_MATH = 37; + const TP_UNIMATH = 38; + const TP_ANDSYM = 39; + const TP_ISIN = 40; + const TP_ISDIVBY = 41; + const TP_ISNOTDIVBY = 42; + const TP_ISEVEN = 43; + const TP_ISNOTEVEN = 44; + const TP_ISEVENBY = 45; + const TP_ISNOTEVENBY = 46; + const TP_ISODD = 47; + const TP_ISNOTODD = 48; + const TP_ISODDBY = 49; + const TP_ISNOTODDBY = 50; + const TP_INSTANCEOF = 51; const TP_QMARK = 52; const TP_NOT = 53; const TP_TYPECAST = 54; @@ -215,798 +215,836 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php const TP_QUOTE = 75; const TP_BACKTICK = 76; const TP_DOLLARID = 77; - const YY_NO_ACTION = 572; - const YY_ACCEPT_ACTION = 571; - const YY_ERROR_ACTION = 570; + const YY_NO_ACTION = 584; + const YY_ACCEPT_ACTION = 583; + const YY_ERROR_ACTION = 582; - const YY_SZ_ACTTAB = 2394; + const YY_SZ_ACTTAB = 2566; static public $yy_action = array( - /* 0 */ 192, 249, 282, 291, 295, 270, 277, 272, 269, 284, - /* 10 */ 287, 373, 349, 168, 155, 308, 39, 136, 138, 5, - /* 20 */ 320, 12, 222, 185, 228, 219, 12, 126, 7, 134, - /* 30 */ 303, 251, 246, 232, 48, 45, 44, 43, 26, 24, - /* 40 */ 255, 250, 16, 27, 267, 286, 14, 10, 364, 307, - /* 50 */ 298, 305, 313, 46, 185, 362, 168, 340, 365, 7, - /* 60 */ 192, 12, 266, 268, 271, 289, 239, 245, 257, 260, - /* 70 */ 254, 297, 353, 345, 192, 290, 302, 157, 13, 208, - /* 80 */ 224, 237, 229, 72, 140, 119, 571, 91, 252, 282, - /* 90 */ 291, 176, 363, 338, 273, 12, 327, 314, 13, 304, - /* 100 */ 41, 237, 30, 230, 196, 259, 195, 175, 48, 45, - /* 110 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 120 */ 14, 10, 211, 318, 13, 147, 439, 237, 100, 34, - /* 130 */ 13, 12, 439, 237, 30, 273, 266, 268, 271, 289, - /* 140 */ 239, 245, 257, 260, 254, 297, 353, 345, 192, 192, - /* 150 */ 302, 181, 148, 8, 224, 101, 229, 72, 13, 119, - /* 160 */ 5, 237, 273, 299, 264, 350, 363, 338, 126, 12, - /* 170 */ 327, 314, 46, 304, 214, 336, 293, 145, 181, 259, - /* 180 */ 201, 12, 48, 45, 44, 43, 26, 24, 255, 250, - /* 190 */ 16, 27, 267, 286, 14, 10, 13, 2, 309, 237, - /* 200 */ 18, 46, 214, 441, 12, 19, 279, 130, 330, 441, - /* 210 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297, - /* 220 */ 353, 345, 192, 328, 302, 342, 360, 372, 224, 112, - /* 230 */ 229, 54, 12, 119, 127, 13, 46, 316, 237, 369, - /* 240 */ 363, 338, 12, 12, 327, 314, 32, 304, 124, 154, - /* 250 */ 233, 209, 311, 31, 170, 312, 48, 45, 44, 43, - /* 260 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 270 */ 192, 317, 315, 5, 435, 102, 367, 12, 12, 221, - /* 280 */ 12, 126, 131, 293, 266, 268, 271, 289, 239, 245, - /* 290 */ 257, 260, 254, 297, 353, 345, 304, 438, 355, 164, - /* 300 */ 343, 29, 29, 438, 48, 45, 44, 43, 26, 24, - /* 310 */ 255, 250, 16, 27, 267, 286, 14, 10, 339, 247, - /* 320 */ 248, 436, 181, 33, 4, 40, 138, 436, 114, 220, - /* 330 */ 46, 322, 266, 268, 271, 289, 239, 245, 257, 260, - /* 340 */ 254, 297, 353, 345, 192, 302, 159, 167, 347, 224, - /* 350 */ 13, 229, 72, 237, 119, 5, 273, 21, 22, 285, - /* 360 */ 209, 363, 338, 126, 121, 327, 314, 259, 304, 5, - /* 370 */ 181, 99, 231, 177, 312, 197, 29, 126, 48, 45, - /* 380 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 390 */ 14, 10, 192, 234, 326, 334, 306, 163, 156, 259, - /* 400 */ 12, 12, 12, 192, 293, 28, 266, 268, 271, 289, - /* 410 */ 239, 245, 257, 260, 254, 297, 353, 345, 435, 354, - /* 420 */ 13, 181, 348, 205, 12, 12, 48, 45, 44, 43, - /* 430 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 440 */ 6, 241, 150, 280, 6, 325, 293, 12, 301, 12, - /* 450 */ 210, 12, 273, 253, 266, 268, 271, 289, 239, 245, - /* 460 */ 257, 260, 254, 297, 353, 345, 192, 38, 180, 165, - /* 470 */ 152, 13, 122, 97, 237, 161, 324, 366, 12, 273, - /* 480 */ 273, 46, 23, 21, 22, 273, 204, 238, 222, 173, - /* 490 */ 228, 292, 111, 12, 133, 134, 181, 12, 246, 232, - /* 500 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27, - /* 510 */ 267, 286, 14, 10, 256, 160, 172, 356, 3, 13, - /* 520 */ 12, 329, 227, 12, 369, 273, 174, 12, 266, 268, - /* 530 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345, - /* 540 */ 192, 180, 357, 37, 370, 137, 294, 162, 333, 166, - /* 550 */ 192, 366, 12, 158, 12, 179, 23, 273, 303, 273, - /* 560 */ 281, 358, 222, 273, 228, 274, 12, 346, 259, 134, - /* 570 */ 259, 217, 246, 232, 48, 45, 44, 43, 26, 24, - /* 580 */ 255, 250, 16, 27, 267, 286, 14, 10, 192, 149, - /* 590 */ 368, 13, 215, 226, 207, 36, 11, 132, 138, 273, - /* 600 */ 192, 98, 266, 268, 271, 289, 239, 245, 257, 260, - /* 610 */ 254, 297, 353, 345, 303, 180, 359, 37, 370, 169, - /* 620 */ 312, 12, 48, 45, 44, 43, 26, 24, 255, 250, - /* 630 */ 16, 27, 267, 286, 14, 10, 121, 144, 216, 337, - /* 640 */ 13, 361, 236, 194, 210, 116, 132, 273, 12, 120, - /* 650 */ 266, 268, 271, 289, 239, 245, 257, 260, 254, 297, - /* 660 */ 353, 345, 192, 302, 300, 105, 123, 224, 94, 229, - /* 670 */ 55, 15, 119, 135, 129, 109, 192, 263, 303, 363, - /* 680 */ 338, 303, 143, 327, 314, 259, 304, 303, 303, 171, - /* 690 */ 335, 258, 273, 261, 90, 118, 48, 45, 44, 43, - /* 700 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 710 */ 192, 35, 323, 180, 311, 138, 153, 192, 113, 259, - /* 720 */ 351, 20, 12, 96, 266, 268, 271, 289, 239, 245, - /* 730 */ 257, 260, 254, 297, 353, 345, 303, 275, 25, 42, - /* 740 */ 276, 212, 95, 352, 48, 45, 44, 43, 26, 24, - /* 750 */ 255, 250, 16, 27, 267, 286, 14, 10, 93, 318, - /* 760 */ 318, 103, 318, 265, 318, 318, 318, 318, 318, 318, - /* 770 */ 318, 303, 266, 268, 271, 289, 239, 245, 257, 260, - /* 780 */ 254, 297, 353, 345, 192, 318, 302, 104, 318, 318, - /* 790 */ 224, 318, 229, 82, 318, 119, 318, 318, 318, 318, - /* 800 */ 303, 318, 363, 338, 318, 12, 327, 314, 318, 304, - /* 810 */ 318, 318, 318, 318, 318, 318, 318, 318, 48, 45, - /* 820 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 830 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318, - /* 840 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289, - /* 850 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318, - /* 860 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43, - /* 870 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 880 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 890 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 900 */ 257, 260, 254, 297, 353, 345, 192, 371, 302, 318, - /* 910 */ 318, 318, 224, 318, 229, 86, 318, 119, 318, 318, - /* 920 */ 318, 178, 318, 318, 363, 338, 318, 318, 327, 314, - /* 930 */ 318, 304, 318, 318, 318, 318, 318, 318, 318, 318, - /* 940 */ 48, 45, 44, 43, 26, 24, 255, 250, 16, 27, - /* 950 */ 267, 286, 14, 10, 192, 318, 318, 318, 318, 318, - /* 960 */ 318, 318, 318, 318, 318, 318, 318, 318, 266, 268, - /* 970 */ 271, 289, 239, 245, 257, 260, 254, 297, 353, 345, - /* 980 */ 318, 318, 206, 318, 318, 318, 318, 318, 48, 45, - /* 990 */ 44, 43, 26, 24, 255, 250, 16, 27, 267, 286, - /* 1000 */ 14, 10, 192, 318, 318, 318, 318, 318, 318, 318, - /* 1010 */ 318, 318, 318, 318, 318, 318, 266, 268, 271, 289, - /* 1020 */ 239, 245, 257, 260, 254, 297, 353, 345, 318, 318, - /* 1030 */ 318, 318, 318, 318, 318, 318, 48, 45, 44, 43, - /* 1040 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 1050 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 1060 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 1070 */ 257, 260, 254, 297, 353, 345, 48, 45, 44, 43, - /* 1080 */ 26, 24, 255, 250, 16, 27, 267, 286, 14, 10, - /* 1090 */ 318, 318, 318, 318, 318, 318, 318, 318, 318, 318, - /* 1100 */ 318, 318, 318, 318, 266, 268, 271, 289, 239, 245, - /* 1110 */ 257, 260, 254, 297, 353, 345, 318, 318, 318, 318, - /* 1120 */ 39, 318, 115, 186, 318, 302, 222, 318, 228, 319, - /* 1130 */ 318, 229, 318, 134, 119, 318, 246, 232, 223, 318, - /* 1140 */ 318, 50, 321, 441, 318, 327, 314, 318, 304, 441, - /* 1150 */ 318, 318, 318, 318, 318, 9, 225, 318, 47, 49, - /* 1160 */ 242, 218, 331, 318, 318, 99, 1, 262, 318, 318, - /* 1170 */ 318, 39, 318, 115, 199, 318, 46, 222, 318, 228, - /* 1180 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223, - /* 1190 */ 318, 318, 50, 318, 318, 318, 318, 318, 302, 318, - /* 1200 */ 318, 318, 193, 318, 229, 85, 9, 119, 318, 47, - /* 1210 */ 49, 242, 218, 331, 363, 338, 99, 1, 327, 314, - /* 1220 */ 318, 304, 39, 318, 115, 187, 318, 318, 222, 318, - /* 1230 */ 228, 92, 200, 341, 318, 134, 318, 318, 246, 232, - /* 1240 */ 223, 318, 318, 50, 318, 318, 318, 318, 318, 302, - /* 1250 */ 318, 318, 318, 193, 318, 229, 85, 9, 119, 318, - /* 1260 */ 47, 49, 242, 218, 331, 363, 338, 99, 1, 327, - /* 1270 */ 314, 318, 304, 39, 318, 114, 199, 318, 318, 222, - /* 1280 */ 318, 228, 92, 318, 344, 318, 134, 318, 318, 246, - /* 1290 */ 232, 223, 318, 318, 50, 318, 318, 318, 318, 318, - /* 1300 */ 302, 318, 318, 318, 224, 318, 229, 67, 17, 119, - /* 1310 */ 318, 47, 49, 242, 218, 331, 363, 338, 99, 1, - /* 1320 */ 327, 314, 318, 304, 39, 318, 115, 190, 318, 318, - /* 1330 */ 222, 318, 228, 92, 318, 318, 318, 134, 318, 318, - /* 1340 */ 246, 232, 223, 318, 318, 50, 318, 318, 318, 318, - /* 1350 */ 318, 302, 318, 318, 318, 224, 318, 229, 68, 9, - /* 1360 */ 119, 318, 47, 49, 242, 218, 331, 363, 338, 99, - /* 1370 */ 1, 327, 314, 318, 304, 39, 318, 125, 199, 318, - /* 1380 */ 318, 222, 318, 228, 92, 318, 318, 318, 134, 318, - /* 1390 */ 318, 246, 232, 223, 318, 318, 50, 318, 318, 318, - /* 1400 */ 318, 318, 302, 318, 318, 318, 224, 318, 229, 77, - /* 1410 */ 9, 119, 318, 47, 49, 242, 218, 331, 363, 338, - /* 1420 */ 99, 1, 327, 314, 318, 304, 39, 318, 128, 89, - /* 1430 */ 318, 318, 222, 318, 228, 92, 318, 318, 318, 134, - /* 1440 */ 318, 318, 246, 232, 223, 318, 318, 50, 318, 318, - /* 1450 */ 318, 318, 318, 302, 318, 318, 318, 224, 318, 229, - /* 1460 */ 61, 9, 119, 318, 47, 49, 242, 218, 331, 363, - /* 1470 */ 338, 99, 1, 327, 314, 318, 304, 39, 318, 115, - /* 1480 */ 182, 318, 318, 222, 318, 228, 92, 318, 318, 318, - /* 1490 */ 134, 318, 318, 246, 232, 223, 318, 318, 50, 318, - /* 1500 */ 318, 318, 318, 318, 302, 318, 318, 318, 224, 318, - /* 1510 */ 229, 73, 9, 119, 318, 47, 49, 242, 218, 331, - /* 1520 */ 363, 338, 99, 1, 327, 314, 318, 304, 39, 318, - /* 1530 */ 115, 183, 318, 318, 222, 318, 228, 92, 318, 318, - /* 1540 */ 318, 134, 318, 318, 246, 232, 191, 318, 318, 50, - /* 1550 */ 318, 318, 318, 318, 318, 302, 318, 318, 318, 224, - /* 1560 */ 318, 229, 63, 9, 119, 318, 47, 49, 242, 218, - /* 1570 */ 331, 363, 338, 99, 1, 327, 314, 318, 304, 39, - /* 1580 */ 318, 117, 199, 318, 318, 222, 318, 228, 92, 318, - /* 1590 */ 318, 318, 134, 318, 318, 246, 232, 223, 318, 318, - /* 1600 */ 50, 318, 318, 318, 318, 318, 302, 318, 318, 318, - /* 1610 */ 224, 318, 229, 70, 9, 119, 318, 47, 49, 242, - /* 1620 */ 218, 331, 363, 338, 99, 1, 327, 314, 318, 304, - /* 1630 */ 39, 318, 114, 203, 318, 318, 222, 318, 228, 92, - /* 1640 */ 318, 318, 318, 134, 318, 318, 246, 232, 223, 318, - /* 1650 */ 318, 50, 318, 318, 318, 318, 318, 302, 318, 318, - /* 1660 */ 318, 224, 318, 229, 74, 17, 119, 318, 47, 49, - /* 1670 */ 242, 218, 331, 363, 338, 99, 318, 327, 314, 318, - /* 1680 */ 304, 39, 318, 114, 199, 318, 318, 222, 318, 228, - /* 1690 */ 92, 318, 318, 318, 134, 318, 318, 246, 232, 223, - /* 1700 */ 482, 318, 50, 318, 318, 318, 482, 318, 482, 318, - /* 1710 */ 482, 482, 318, 482, 151, 318, 17, 167, 482, 47, - /* 1720 */ 49, 242, 218, 331, 273, 318, 99, 21, 22, 318, - /* 1730 */ 318, 318, 318, 482, 5, 482, 318, 318, 318, 318, - /* 1740 */ 181, 92, 126, 318, 318, 141, 482, 302, 167, 318, - /* 1750 */ 318, 224, 318, 229, 81, 273, 119, 318, 21, 22, - /* 1760 */ 482, 318, 318, 363, 338, 318, 318, 327, 314, 318, - /* 1770 */ 304, 181, 302, 318, 318, 318, 224, 318, 229, 71, - /* 1780 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 1790 */ 318, 318, 327, 314, 302, 304, 318, 318, 224, 318, - /* 1800 */ 229, 79, 318, 119, 318, 318, 318, 318, 318, 318, - /* 1810 */ 363, 338, 318, 318, 327, 314, 302, 304, 318, 318, - /* 1820 */ 108, 318, 106, 51, 318, 107, 318, 318, 318, 318, - /* 1830 */ 318, 318, 363, 338, 302, 318, 327, 314, 224, 304, - /* 1840 */ 229, 78, 318, 119, 318, 318, 318, 318, 318, 318, - /* 1850 */ 363, 338, 192, 318, 327, 314, 318, 304, 318, 302, - /* 1860 */ 318, 318, 318, 224, 318, 229, 64, 310, 119, 318, - /* 1870 */ 318, 213, 318, 12, 318, 363, 338, 302, 318, 327, - /* 1880 */ 314, 224, 304, 229, 62, 318, 119, 318, 318, 318, - /* 1890 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 302, - /* 1900 */ 304, 5, 318, 188, 318, 229, 84, 318, 119, 126, - /* 1910 */ 318, 318, 318, 318, 318, 363, 338, 302, 318, 327, - /* 1920 */ 314, 224, 304, 229, 80, 318, 119, 318, 318, 318, - /* 1930 */ 318, 318, 318, 363, 338, 318, 318, 327, 314, 318, - /* 1940 */ 304, 318, 302, 318, 318, 318, 224, 318, 229, 76, - /* 1950 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 1960 */ 302, 318, 327, 314, 224, 304, 229, 66, 318, 119, - /* 1970 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318, - /* 1980 */ 327, 314, 302, 304, 318, 318, 224, 318, 229, 83, - /* 1990 */ 318, 119, 318, 318, 318, 318, 318, 318, 363, 338, - /* 2000 */ 302, 318, 327, 314, 224, 304, 229, 75, 318, 119, - /* 2010 */ 318, 318, 318, 318, 318, 318, 363, 338, 318, 318, - /* 2020 */ 327, 314, 318, 304, 318, 302, 318, 318, 318, 184, - /* 2030 */ 318, 229, 58, 318, 119, 318, 318, 318, 318, 318, - /* 2040 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229, - /* 2050 */ 87, 318, 119, 318, 318, 318, 318, 318, 318, 363, - /* 2060 */ 338, 318, 318, 327, 314, 302, 304, 318, 318, 189, - /* 2070 */ 318, 229, 69, 318, 119, 318, 318, 318, 318, 318, - /* 2080 */ 318, 363, 338, 302, 318, 327, 314, 224, 304, 229, - /* 2090 */ 59, 318, 119, 318, 318, 318, 318, 318, 318, 363, - /* 2100 */ 338, 318, 318, 327, 314, 318, 304, 318, 302, 318, - /* 2110 */ 318, 318, 224, 318, 229, 57, 318, 119, 318, 318, - /* 2120 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314, - /* 2130 */ 108, 304, 110, 56, 318, 107, 318, 318, 318, 318, - /* 2140 */ 318, 318, 363, 338, 318, 318, 327, 314, 302, 304, - /* 2150 */ 318, 318, 224, 318, 198, 60, 318, 119, 318, 318, - /* 2160 */ 318, 318, 318, 318, 363, 338, 302, 318, 327, 314, - /* 2170 */ 224, 304, 229, 65, 318, 119, 318, 318, 318, 318, - /* 2180 */ 318, 318, 363, 338, 318, 318, 327, 314, 318, 304, - /* 2190 */ 318, 302, 318, 318, 318, 224, 318, 229, 52, 318, - /* 2200 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302, - /* 2210 */ 318, 327, 314, 202, 304, 229, 53, 318, 119, 318, - /* 2220 */ 318, 318, 318, 318, 318, 363, 338, 318, 318, 327, - /* 2230 */ 314, 302, 304, 318, 318, 224, 318, 229, 88, 318, - /* 2240 */ 119, 318, 318, 318, 318, 318, 318, 363, 338, 302, - /* 2250 */ 318, 327, 314, 240, 304, 229, 302, 318, 119, 318, - /* 2260 */ 283, 318, 229, 318, 318, 119, 244, 318, 318, 327, - /* 2270 */ 314, 318, 304, 318, 302, 318, 327, 314, 235, 304, - /* 2280 */ 229, 302, 318, 119, 318, 278, 318, 229, 318, 318, - /* 2290 */ 119, 318, 318, 318, 327, 314, 318, 304, 318, 302, - /* 2300 */ 318, 327, 314, 288, 304, 229, 318, 318, 119, 302, - /* 2310 */ 318, 318, 318, 296, 318, 229, 318, 318, 119, 327, - /* 2320 */ 314, 318, 304, 318, 318, 318, 318, 318, 318, 327, - /* 2330 */ 314, 302, 304, 318, 318, 332, 318, 229, 302, 318, - /* 2340 */ 119, 318, 243, 318, 229, 318, 318, 119, 318, 318, - /* 2350 */ 142, 327, 314, 167, 304, 318, 318, 318, 327, 314, - /* 2360 */ 273, 304, 318, 21, 22, 139, 318, 146, 167, 318, - /* 2370 */ 167, 318, 318, 318, 318, 273, 181, 273, 21, 22, - /* 2380 */ 21, 22, 318, 318, 318, 318, 318, 318, 318, 318, - /* 2390 */ 318, 181, 318, 181, + /* 0 */ 218, 272, 271, 275, 274, 278, 277, 276, 270, 262, + /* 10 */ 260, 264, 268, 196, 298, 285, 42, 22, 159, 265, + /* 20 */ 19, 29, 222, 374, 237, 29, 294, 29, 280, 149, + /* 30 */ 243, 19, 378, 225, 374, 244, 52, 47, 50, 45, + /* 40 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 50 */ 292, 299, 291, 290, 295, 190, 123, 342, 196, 279, + /* 60 */ 293, 135, 335, 322, 321, 308, 309, 310, 307, 306, + /* 70 */ 302, 303, 304, 305, 218, 242, 319, 175, 199, 133, + /* 80 */ 138, 19, 248, 72, 374, 124, 19, 288, 448, 374, + /* 90 */ 41, 14, 339, 311, 448, 29, 348, 329, 376, 320, + /* 100 */ 34, 583, 95, 273, 271, 275, 219, 3, 301, 3, + /* 110 */ 52, 47, 50, 45, 38, 37, 331, 332, 40, 39, + /* 120 */ 340, 337, 30, 25, 7, 231, 17, 108, 134, 167, + /* 130 */ 140, 35, 140, 143, 336, 192, 335, 322, 321, 308, + /* 140 */ 309, 310, 307, 306, 302, 303, 304, 305, 218, 334, + /* 150 */ 319, 193, 353, 10, 138, 3, 248, 55, 3, 119, + /* 160 */ 136, 36, 31, 371, 218, 19, 339, 311, 374, 29, + /* 170 */ 348, 329, 29, 320, 199, 27, 223, 258, 140, 372, + /* 180 */ 224, 140, 254, 220, 52, 47, 50, 45, 38, 37, + /* 190 */ 331, 332, 40, 39, 340, 337, 30, 25, 341, 179, + /* 200 */ 32, 159, 106, 323, 29, 194, 379, 342, 218, 288, + /* 210 */ 335, 322, 321, 308, 309, 310, 307, 306, 302, 303, + /* 220 */ 304, 305, 218, 366, 319, 199, 186, 218, 138, 190, + /* 230 */ 248, 72, 445, 124, 218, 266, 288, 364, 445, 123, + /* 240 */ 339, 311, 447, 29, 348, 329, 19, 320, 447, 374, + /* 250 */ 23, 3, 199, 16, 211, 29, 297, 170, 52, 47, + /* 260 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337, + /* 270 */ 30, 25, 218, 172, 140, 183, 104, 46, 19, 189, + /* 280 */ 379, 374, 41, 288, 335, 322, 321, 308, 309, 310, + /* 290 */ 307, 306, 302, 303, 304, 305, 344, 188, 444, 199, + /* 300 */ 218, 235, 249, 216, 29, 191, 379, 342, 52, 47, + /* 310 */ 50, 45, 38, 37, 331, 332, 40, 39, 340, 337, + /* 320 */ 30, 25, 242, 19, 142, 43, 374, 130, 245, 28, + /* 330 */ 29, 159, 107, 346, 335, 322, 321, 308, 309, 310, + /* 340 */ 307, 306, 302, 303, 304, 305, 218, 347, 319, 27, + /* 350 */ 46, 257, 138, 198, 248, 62, 164, 119, 240, 218, + /* 360 */ 267, 252, 228, 126, 339, 311, 288, 205, 348, 329, + /* 370 */ 103, 320, 8, 261, 444, 357, 180, 376, 376, 29, + /* 380 */ 29, 29, 52, 47, 50, 45, 38, 37, 331, 332, + /* 390 */ 40, 39, 340, 337, 30, 25, 184, 349, 361, 365, + /* 400 */ 27, 284, 358, 29, 29, 29, 288, 29, 335, 322, + /* 410 */ 321, 308, 309, 310, 307, 306, 302, 303, 304, 305, + /* 420 */ 218, 319, 202, 221, 181, 138, 154, 248, 72, 171, + /* 430 */ 124, 313, 9, 162, 288, 289, 163, 339, 311, 288, + /* 440 */ 320, 348, 329, 288, 320, 376, 288, 281, 269, 370, + /* 450 */ 376, 214, 6, 29, 29, 29, 52, 47, 50, 45, + /* 460 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 470 */ 218, 178, 239, 283, 373, 19, 226, 238, 374, 29, + /* 480 */ 29, 288, 335, 322, 321, 308, 309, 310, 307, 306, + /* 490 */ 302, 303, 304, 305, 177, 205, 286, 202, 227, 377, + /* 500 */ 8, 166, 29, 376, 288, 29, 52, 47, 50, 45, + /* 510 */ 38, 37, 331, 332, 40, 39, 340, 337, 30, 25, + /* 520 */ 202, 218, 363, 375, 380, 315, 235, 296, 29, 29, + /* 530 */ 29, 29, 335, 322, 321, 308, 309, 310, 307, 306, + /* 540 */ 302, 303, 304, 305, 197, 369, 352, 19, 327, 218, + /* 550 */ 236, 29, 29, 165, 234, 156, 174, 52, 47, 50, + /* 560 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30, + /* 570 */ 25, 26, 344, 5, 19, 314, 199, 212, 19, 199, + /* 580 */ 159, 241, 218, 335, 322, 321, 308, 309, 310, 307, + /* 590 */ 306, 302, 303, 304, 305, 218, 319, 300, 100, 46, + /* 600 */ 138, 19, 248, 76, 233, 124, 6, 218, 110, 351, + /* 610 */ 201, 338, 339, 311, 115, 168, 348, 329, 123, 320, + /* 620 */ 182, 338, 287, 234, 105, 288, 324, 338, 235, 240, + /* 630 */ 288, 52, 47, 50, 45, 38, 37, 331, 332, 40, + /* 640 */ 39, 340, 337, 30, 25, 218, 333, 144, 263, 33, + /* 650 */ 13, 342, 312, 156, 29, 355, 97, 335, 322, 321, + /* 660 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 338, + /* 670 */ 141, 32, 325, 121, 195, 131, 356, 229, 127, 2, + /* 680 */ 250, 52, 47, 50, 45, 38, 37, 331, 332, 40, + /* 690 */ 39, 340, 337, 30, 25, 318, 228, 11, 330, 94, + /* 700 */ 129, 282, 218, 253, 159, 29, 323, 335, 322, 321, + /* 710 */ 308, 309, 310, 307, 306, 302, 303, 304, 305, 218, + /* 720 */ 218, 319, 18, 101, 148, 122, 114, 248, 54, 44, + /* 730 */ 124, 202, 99, 158, 316, 367, 376, 339, 311, 338, + /* 740 */ 29, 348, 329, 376, 320, 338, 338, 354, 169, 368, + /* 750 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 760 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 770 */ 46, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 780 */ 113, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 790 */ 303, 304, 305, 338, 321, 321, 321, 321, 321, 321, + /* 800 */ 321, 321, 321, 321, 256, 52, 47, 50, 45, 38, + /* 810 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 820 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 830 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 840 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321, + /* 850 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 860 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 218, + /* 870 */ 12, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 880 */ 382, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 890 */ 303, 304, 305, 321, 321, 321, 321, 321, 321, 321, + /* 900 */ 321, 321, 321, 321, 321, 52, 47, 50, 45, 38, + /* 910 */ 37, 331, 332, 40, 39, 340, 337, 30, 25, 321, + /* 920 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 930 */ 321, 335, 322, 321, 308, 309, 310, 307, 306, 302, + /* 940 */ 303, 304, 305, 218, 319, 321, 321, 321, 138, 321, + /* 950 */ 248, 61, 321, 124, 321, 98, 132, 321, 200, 321, + /* 960 */ 339, 311, 321, 321, 348, 329, 321, 320, 338, 338, + /* 970 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52, + /* 980 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340, + /* 990 */ 337, 30, 25, 218, 321, 321, 321, 321, 321, 321, + /* 1000 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309, + /* 1010 */ 310, 307, 306, 302, 303, 304, 305, 321, 321, 321, + /* 1020 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 52, + /* 1030 */ 47, 50, 45, 38, 37, 331, 332, 40, 39, 340, + /* 1040 */ 337, 30, 25, 321, 321, 321, 321, 321, 321, 321, + /* 1050 */ 321, 321, 321, 321, 321, 335, 322, 321, 308, 309, + /* 1060 */ 310, 307, 306, 302, 303, 304, 305, 52, 47, 50, + /* 1070 */ 45, 38, 37, 331, 332, 40, 39, 340, 337, 30, + /* 1080 */ 25, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1090 */ 321, 321, 321, 335, 322, 321, 308, 309, 310, 307, + /* 1100 */ 306, 302, 303, 304, 305, 321, 321, 321, 321, 42, + /* 1110 */ 321, 139, 207, 321, 319, 222, 321, 237, 138, 321, + /* 1120 */ 248, 78, 149, 124, 321, 378, 225, 232, 321, 15, + /* 1130 */ 339, 311, 49, 321, 348, 329, 321, 320, 321, 321, + /* 1140 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1150 */ 247, 328, 321, 319, 103, 1, 255, 145, 321, 248, + /* 1160 */ 321, 321, 124, 321, 42, 321, 139, 209, 321, 96, + /* 1170 */ 222, 321, 237, 348, 329, 321, 320, 149, 345, 321, + /* 1180 */ 378, 225, 232, 24, 15, 321, 321, 49, 321, 222, + /* 1190 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378, + /* 1200 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103, + /* 1210 */ 1, 321, 146, 321, 248, 321, 321, 124, 321, 42, + /* 1220 */ 161, 130, 209, 193, 96, 222, 321, 237, 348, 329, + /* 1230 */ 288, 320, 149, 36, 31, 378, 225, 232, 321, 21, + /* 1240 */ 321, 321, 49, 350, 20, 343, 199, 319, 218, 321, + /* 1250 */ 321, 155, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1260 */ 247, 328, 321, 450, 103, 1, 321, 348, 329, 450, + /* 1270 */ 320, 321, 321, 321, 42, 321, 125, 209, 321, 96, + /* 1280 */ 222, 321, 237, 321, 321, 321, 321, 149, 345, 321, + /* 1290 */ 378, 225, 232, 24, 4, 321, 321, 49, 46, 222, + /* 1300 */ 321, 237, 321, 321, 321, 321, 149, 321, 321, 378, + /* 1310 */ 225, 321, 51, 48, 317, 247, 328, 321, 319, 103, + /* 1320 */ 1, 321, 151, 321, 248, 321, 321, 124, 321, 42, + /* 1330 */ 176, 139, 204, 193, 96, 222, 321, 237, 348, 329, + /* 1340 */ 288, 320, 149, 36, 31, 378, 225, 215, 321, 15, + /* 1350 */ 321, 321, 49, 362, 20, 343, 199, 319, 218, 321, + /* 1360 */ 321, 150, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1370 */ 247, 328, 321, 259, 103, 1, 321, 348, 329, 29, + /* 1380 */ 320, 321, 321, 321, 42, 173, 128, 92, 193, 96, + /* 1390 */ 222, 321, 237, 321, 218, 288, 321, 149, 36, 31, + /* 1400 */ 378, 225, 232, 321, 15, 321, 321, 49, 46, 381, + /* 1410 */ 321, 199, 319, 230, 321, 29, 152, 321, 248, 321, + /* 1420 */ 321, 124, 51, 48, 317, 247, 328, 321, 3, 103, + /* 1430 */ 1, 321, 348, 329, 321, 320, 321, 321, 321, 42, + /* 1440 */ 185, 139, 208, 102, 96, 222, 321, 237, 321, 321, + /* 1450 */ 288, 140, 149, 36, 31, 378, 225, 232, 321, 15, + /* 1460 */ 321, 321, 49, 321, 321, 321, 199, 319, 321, 321, + /* 1470 */ 321, 147, 321, 248, 321, 321, 124, 51, 48, 317, + /* 1480 */ 247, 328, 321, 321, 103, 1, 321, 348, 329, 321, + /* 1490 */ 320, 321, 321, 321, 42, 187, 139, 203, 193, 96, + /* 1500 */ 222, 321, 237, 321, 321, 288, 321, 149, 36, 31, + /* 1510 */ 378, 225, 232, 321, 15, 321, 160, 49, 321, 193, + /* 1520 */ 321, 199, 321, 321, 321, 321, 288, 321, 321, 36, + /* 1530 */ 31, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1540 */ 1, 321, 199, 321, 321, 321, 321, 321, 321, 42, + /* 1550 */ 321, 139, 206, 218, 96, 222, 321, 237, 321, 321, + /* 1560 */ 321, 321, 149, 321, 321, 378, 225, 232, 450, 15, + /* 1570 */ 321, 321, 49, 321, 450, 321, 321, 321, 321, 321, + /* 1580 */ 321, 246, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1590 */ 247, 328, 321, 321, 103, 1, 321, 321, 321, 321, + /* 1600 */ 321, 321, 321, 46, 42, 321, 137, 209, 321, 96, + /* 1610 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321, + /* 1620 */ 378, 225, 232, 321, 15, 321, 321, 49, 321, 321, + /* 1630 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1640 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1650 */ 1, 321, 321, 321, 321, 321, 321, 321, 321, 42, + /* 1660 */ 321, 130, 210, 321, 96, 222, 321, 237, 321, 321, + /* 1670 */ 321, 321, 149, 321, 321, 378, 225, 232, 321, 21, + /* 1680 */ 321, 321, 49, 321, 321, 321, 321, 321, 321, 321, + /* 1690 */ 321, 321, 321, 321, 321, 321, 321, 51, 48, 317, + /* 1700 */ 247, 328, 321, 321, 103, 321, 321, 321, 321, 321, + /* 1710 */ 321, 321, 321, 321, 42, 321, 130, 209, 321, 96, + /* 1720 */ 222, 321, 237, 321, 321, 321, 321, 149, 321, 321, + /* 1730 */ 378, 225, 232, 321, 21, 321, 321, 49, 321, 321, + /* 1740 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1750 */ 321, 321, 51, 48, 317, 247, 328, 321, 321, 103, + /* 1760 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 493, + /* 1770 */ 321, 321, 321, 321, 96, 493, 321, 493, 321, 493, + /* 1780 */ 493, 321, 493, 321, 321, 321, 321, 493, 3, 493, + /* 1790 */ 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + /* 1800 */ 321, 321, 321, 319, 493, 321, 321, 117, 321, 248, + /* 1810 */ 82, 140, 124, 321, 321, 493, 321, 321, 321, 339, + /* 1820 */ 311, 321, 321, 348, 329, 321, 320, 321, 321, 493, + /* 1830 */ 321, 321, 321, 321, 321, 321, 319, 217, 360, 321, + /* 1840 */ 117, 321, 248, 82, 321, 124, 321, 321, 321, 321, + /* 1850 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320, + /* 1860 */ 321, 321, 138, 321, 248, 90, 321, 124, 321, 321, + /* 1870 */ 321, 359, 321, 321, 339, 311, 321, 321, 348, 329, + /* 1880 */ 321, 320, 321, 321, 321, 321, 319, 321, 321, 321, + /* 1890 */ 138, 321, 248, 69, 321, 124, 321, 321, 321, 321, + /* 1900 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320, + /* 1910 */ 321, 321, 319, 321, 321, 321, 138, 321, 248, 67, + /* 1920 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 1930 */ 321, 321, 348, 329, 321, 320, 319, 321, 321, 321, + /* 1940 */ 138, 321, 248, 58, 321, 124, 321, 321, 321, 321, + /* 1950 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320, + /* 1960 */ 248, 62, 321, 124, 321, 321, 321, 321, 321, 321, + /* 1970 */ 339, 311, 321, 321, 348, 329, 319, 320, 321, 321, + /* 1980 */ 138, 321, 248, 56, 321, 124, 321, 321, 321, 321, + /* 1990 */ 321, 321, 339, 311, 321, 321, 348, 329, 321, 320, + /* 2000 */ 321, 319, 321, 321, 321, 112, 321, 248, 71, 321, + /* 2010 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319, + /* 2020 */ 321, 348, 329, 111, 320, 248, 81, 321, 124, 321, + /* 2030 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348, + /* 2040 */ 329, 138, 320, 248, 74, 321, 124, 321, 321, 321, + /* 2050 */ 321, 321, 321, 339, 311, 321, 321, 348, 329, 319, + /* 2060 */ 320, 321, 321, 138, 321, 248, 91, 321, 124, 321, + /* 2070 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348, + /* 2080 */ 329, 321, 320, 321, 319, 321, 321, 321, 138, 321, + /* 2090 */ 248, 64, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2100 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 63, + /* 2110 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2120 */ 319, 321, 348, 329, 138, 320, 248, 83, 321, 124, + /* 2130 */ 321, 321, 321, 321, 321, 321, 339, 311, 321, 321, + /* 2140 */ 348, 329, 319, 320, 321, 321, 138, 321, 248, 79, + /* 2150 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2160 */ 321, 321, 348, 329, 321, 320, 321, 319, 321, 321, + /* 2170 */ 321, 138, 321, 248, 75, 321, 124, 321, 321, 321, + /* 2180 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 138, + /* 2190 */ 320, 248, 70, 321, 124, 321, 321, 321, 321, 321, + /* 2200 */ 321, 339, 311, 319, 321, 348, 329, 109, 320, 248, + /* 2210 */ 68, 321, 124, 321, 321, 321, 321, 321, 321, 339, + /* 2220 */ 311, 321, 321, 348, 329, 319, 320, 321, 321, 138, + /* 2230 */ 321, 248, 77, 321, 124, 321, 321, 321, 321, 321, + /* 2240 */ 321, 339, 311, 321, 321, 348, 329, 321, 320, 321, + /* 2250 */ 319, 321, 321, 321, 138, 321, 248, 73, 321, 124, + /* 2260 */ 321, 321, 321, 321, 321, 321, 339, 311, 319, 321, + /* 2270 */ 348, 329, 138, 320, 213, 65, 321, 124, 321, 321, + /* 2280 */ 321, 321, 321, 321, 339, 311, 319, 321, 348, 329, + /* 2290 */ 138, 320, 248, 86, 321, 124, 321, 321, 321, 321, + /* 2300 */ 321, 321, 339, 311, 321, 321, 348, 329, 319, 320, + /* 2310 */ 321, 321, 138, 321, 248, 88, 321, 124, 321, 321, + /* 2320 */ 321, 321, 321, 321, 339, 311, 321, 321, 348, 329, + /* 2330 */ 321, 320, 321, 319, 321, 321, 321, 93, 321, 120, + /* 2340 */ 59, 321, 116, 321, 321, 321, 321, 321, 321, 339, + /* 2350 */ 311, 319, 321, 348, 329, 138, 320, 248, 57, 321, + /* 2360 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 319, + /* 2370 */ 321, 348, 329, 138, 320, 248, 60, 321, 124, 321, + /* 2380 */ 321, 321, 321, 321, 321, 339, 311, 321, 321, 348, + /* 2390 */ 329, 319, 320, 321, 321, 138, 321, 248, 89, 321, + /* 2400 */ 124, 321, 321, 321, 321, 321, 321, 339, 311, 321, + /* 2410 */ 321, 348, 329, 321, 320, 321, 319, 321, 321, 321, + /* 2420 */ 138, 321, 248, 85, 321, 124, 321, 321, 321, 321, + /* 2430 */ 321, 321, 339, 311, 319, 321, 348, 329, 138, 320, + /* 2440 */ 248, 80, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2450 */ 339, 311, 319, 321, 348, 329, 138, 320, 248, 84, + /* 2460 */ 321, 124, 321, 321, 321, 321, 321, 321, 339, 311, + /* 2470 */ 321, 321, 348, 329, 319, 320, 321, 321, 138, 321, + /* 2480 */ 248, 66, 321, 124, 321, 321, 321, 321, 321, 321, + /* 2490 */ 339, 311, 321, 321, 348, 329, 321, 320, 321, 319, + /* 2500 */ 321, 321, 321, 138, 321, 248, 87, 321, 124, 321, + /* 2510 */ 321, 321, 321, 321, 321, 339, 311, 319, 321, 348, + /* 2520 */ 329, 93, 320, 118, 53, 321, 116, 321, 321, 321, + /* 2530 */ 321, 321, 321, 339, 311, 319, 321, 348, 329, 153, + /* 2540 */ 320, 248, 319, 321, 124, 321, 157, 321, 248, 321, + /* 2550 */ 321, 124, 326, 321, 321, 348, 329, 321, 320, 251, + /* 2560 */ 321, 321, 348, 329, 321, 320, ); static public $yy_lookahead = array( /* 0 */ 1, 81, 82, 83, 3, 4, 5, 6, 7, 8, - /* 10 */ 9, 10, 11, 12, 106, 16, 15, 95, 20, 50, - /* 20 */ 16, 22, 21, 56, 23, 56, 22, 58, 61, 28, - /* 30 */ 108, 62, 31, 32, 35, 36, 37, 38, 39, 40, - /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 4, 5, - /* 50 */ 6, 7, 8, 49, 56, 16, 12, 13, 14, 61, - /* 60 */ 1, 22, 63, 64, 65, 66, 67, 68, 69, 70, - /* 70 */ 71, 72, 73, 74, 1, 16, 82, 106, 15, 20, - /* 80 */ 86, 18, 88, 89, 87, 91, 79, 80, 81, 82, - /* 90 */ 83, 114, 98, 99, 97, 22, 102, 103, 15, 105, - /* 100 */ 27, 18, 19, 92, 93, 108, 112, 114, 35, 36, + /* 10 */ 9, 10, 11, 12, 22, 16, 15, 19, 20, 16, + /* 20 */ 15, 22, 21, 18, 23, 22, 83, 22, 85, 28, + /* 30 */ 94, 15, 31, 32, 18, 30, 37, 38, 39, 40, + /* 40 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 50 */ 4, 5, 6, 7, 8, 90, 58, 25, 12, 13, + /* 60 */ 14, 17, 63, 64, 65, 66, 67, 68, 69, 70, + /* 70 */ 71, 72, 73, 74, 1, 59, 82, 87, 113, 35, + /* 80 */ 86, 15, 88, 89, 18, 91, 15, 97, 16, 18, + /* 90 */ 19, 19, 98, 99, 22, 22, 102, 103, 108, 105, + /* 100 */ 27, 79, 80, 81, 82, 83, 112, 35, 76, 35, /* 110 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 120 */ 47, 48, 59, 110, 15, 87, 16, 18, 90, 19, - /* 130 */ 15, 22, 22, 18, 19, 97, 63, 64, 65, 66, - /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 1, - /* 150 */ 82, 113, 87, 30, 86, 90, 88, 89, 15, 91, - /* 160 */ 50, 18, 97, 16, 16, 33, 98, 99, 58, 22, - /* 170 */ 102, 103, 49, 105, 59, 16, 25, 106, 113, 108, - /* 180 */ 112, 22, 35, 36, 37, 38, 39, 40, 41, 42, - /* 190 */ 43, 44, 45, 46, 47, 48, 15, 34, 16, 18, - /* 200 */ 19, 49, 59, 16, 22, 15, 25, 17, 18, 22, + /* 120 */ 47, 48, 49, 50, 34, 59, 15, 84, 17, 18, + /* 130 */ 58, 15, 58, 17, 18, 114, 63, 64, 65, 66, + /* 140 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 33, + /* 150 */ 82, 90, 62, 30, 86, 35, 88, 89, 35, 91, + /* 160 */ 92, 100, 101, 16, 1, 15, 98, 99, 18, 22, + /* 170 */ 102, 103, 22, 105, 113, 34, 56, 36, 58, 16, + /* 180 */ 30, 58, 62, 20, 37, 38, 39, 40, 41, 42, + /* 190 */ 43, 44, 45, 46, 47, 48, 49, 50, 16, 87, + /* 200 */ 19, 20, 90, 107, 22, 109, 110, 25, 1, 97, /* 210 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - /* 220 */ 73, 74, 1, 33, 82, 62, 16, 76, 86, 17, - /* 230 */ 88, 89, 22, 91, 92, 15, 49, 16, 18, 82, - /* 240 */ 98, 99, 22, 22, 102, 103, 15, 105, 17, 18, - /* 250 */ 30, 56, 107, 30, 109, 110, 35, 36, 37, 38, + /* 220 */ 73, 74, 1, 16, 82, 113, 87, 1, 86, 90, + /* 230 */ 88, 89, 16, 91, 1, 13, 97, 16, 22, 58, + /* 240 */ 98, 99, 16, 22, 102, 103, 15, 105, 22, 18, + /* 250 */ 19, 35, 113, 94, 112, 22, 25, 106, 37, 38, /* 260 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 270 */ 1, 16, 16, 50, 16, 118, 119, 22, 22, 88, - /* 280 */ 22, 58, 91, 25, 63, 64, 65, 66, 67, 68, - /* 290 */ 69, 70, 71, 72, 73, 74, 105, 16, 83, 90, - /* 300 */ 85, 34, 34, 22, 35, 36, 37, 38, 39, 40, - /* 310 */ 41, 42, 43, 44, 45, 46, 47, 48, 51, 51, - /* 320 */ 51, 16, 113, 19, 22, 19, 20, 22, 17, 18, - /* 330 */ 49, 18, 63, 64, 65, 66, 67, 68, 69, 70, - /* 340 */ 71, 72, 73, 74, 1, 82, 87, 90, 60, 86, - /* 350 */ 15, 88, 89, 18, 91, 50, 97, 100, 101, 16, - /* 360 */ 56, 98, 99, 58, 58, 102, 103, 108, 105, 50, - /* 370 */ 113, 60, 59, 109, 110, 112, 34, 58, 35, 36, - /* 380 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 390 */ 47, 48, 1, 51, 16, 16, 16, 106, 90, 108, - /* 400 */ 22, 22, 22, 1, 25, 15, 63, 64, 65, 66, - /* 410 */ 67, 68, 69, 70, 71, 72, 73, 74, 16, 16, - /* 420 */ 15, 113, 60, 18, 22, 22, 35, 36, 37, 38, - /* 430 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 440 */ 50, 16, 87, 16, 50, 16, 25, 22, 16, 22, - /* 450 */ 2, 22, 97, 62, 63, 64, 65, 66, 67, 68, - /* 460 */ 69, 70, 71, 72, 73, 74, 1, 19, 113, 87, - /* 470 */ 87, 15, 17, 90, 18, 87, 18, 10, 22, 97, - /* 480 */ 97, 49, 15, 100, 101, 97, 30, 16, 21, 24, - /* 490 */ 23, 16, 18, 22, 22, 28, 113, 22, 31, 32, - /* 500 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - /* 510 */ 45, 46, 47, 48, 16, 87, 24, 16, 50, 15, - /* 520 */ 22, 16, 18, 22, 82, 97, 34, 22, 63, 64, - /* 530 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - /* 540 */ 1, 113, 75, 76, 77, 95, 16, 87, 16, 87, - /* 550 */ 1, 10, 22, 87, 22, 16, 15, 97, 108, 97, - /* 560 */ 16, 119, 21, 97, 23, 16, 22, 33, 108, 28, - /* 570 */ 108, 18, 31, 32, 35, 36, 37, 38, 39, 40, - /* 580 */ 41, 42, 43, 44, 45, 46, 47, 48, 1, 87, - /* 590 */ 104, 15, 17, 18, 18, 26, 2, 111, 20, 97, - /* 600 */ 1, 95, 63, 64, 65, 66, 67, 68, 69, 70, - /* 610 */ 71, 72, 73, 74, 108, 113, 75, 76, 77, 109, - /* 620 */ 110, 22, 35, 36, 37, 38, 39, 40, 41, 42, - /* 630 */ 43, 44, 45, 46, 47, 48, 58, 87, 51, 104, - /* 640 */ 15, 18, 16, 18, 2, 18, 111, 97, 22, 17, - /* 650 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, - /* 660 */ 73, 74, 1, 82, 18, 95, 17, 86, 95, 88, - /* 670 */ 89, 52, 91, 96, 95, 95, 1, 16, 108, 98, - /* 680 */ 99, 108, 87, 102, 103, 108, 105, 108, 108, 18, - /* 690 */ 18, 16, 97, 62, 18, 17, 35, 36, 37, 38, - /* 700 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 710 */ 1, 2, 97, 113, 107, 20, 106, 1, 17, 108, - /* 720 */ 111, 22, 22, 95, 63, 64, 65, 66, 67, 68, - /* 730 */ 69, 70, 71, 72, 73, 74, 108, 92, 94, 2, - /* 740 */ 22, 94, 106, 13, 35, 36, 37, 38, 39, 40, - /* 750 */ 41, 42, 43, 44, 45, 46, 47, 48, 95, 120, - /* 760 */ 120, 84, 120, 115, 120, 120, 120, 120, 120, 120, - /* 770 */ 120, 108, 63, 64, 65, 66, 67, 68, 69, 70, - /* 780 */ 71, 72, 73, 74, 1, 120, 82, 95, 120, 120, - /* 790 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, - /* 800 */ 108, 120, 98, 99, 120, 22, 102, 103, 120, 105, - /* 810 */ 120, 120, 120, 120, 120, 120, 120, 120, 35, 36, - /* 820 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 830 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120, - /* 840 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66, - /* 850 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120, - /* 860 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38, - /* 870 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 880 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 890 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 900 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 120, - /* 910 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 920 */ 120, 16, 120, 120, 98, 99, 120, 120, 102, 103, - /* 930 */ 120, 105, 120, 120, 120, 120, 120, 120, 120, 120, - /* 940 */ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - /* 950 */ 45, 46, 47, 48, 1, 120, 120, 120, 120, 120, - /* 960 */ 120, 120, 120, 120, 120, 120, 120, 120, 63, 64, - /* 970 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, - /* 980 */ 120, 120, 29, 120, 120, 120, 120, 120, 35, 36, - /* 990 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - /* 1000 */ 47, 48, 1, 120, 120, 120, 120, 120, 120, 120, - /* 1010 */ 120, 120, 120, 120, 120, 120, 63, 64, 65, 66, - /* 1020 */ 67, 68, 69, 70, 71, 72, 73, 74, 120, 120, - /* 1030 */ 120, 120, 120, 120, 120, 120, 35, 36, 37, 38, - /* 1040 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 1050 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 1060 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 1070 */ 69, 70, 71, 72, 73, 74, 35, 36, 37, 38, - /* 1080 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - /* 1090 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, - /* 1100 */ 120, 120, 120, 120, 63, 64, 65, 66, 67, 68, - /* 1110 */ 69, 70, 71, 72, 73, 74, 120, 120, 120, 120, - /* 1120 */ 15, 120, 17, 18, 120, 82, 21, 120, 23, 86, - /* 1130 */ 120, 88, 120, 28, 91, 120, 31, 32, 33, 120, - /* 1140 */ 120, 36, 99, 16, 120, 102, 103, 120, 105, 22, - /* 1150 */ 120, 120, 120, 120, 120, 50, 29, 120, 53, 54, - /* 1160 */ 55, 56, 57, 120, 120, 60, 61, 62, 120, 120, - /* 1170 */ 120, 15, 120, 17, 18, 120, 49, 21, 120, 23, - /* 1180 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33, - /* 1190 */ 120, 120, 36, 120, 120, 120, 120, 120, 82, 120, - /* 1200 */ 120, 120, 86, 120, 88, 89, 50, 91, 120, 53, - /* 1210 */ 54, 55, 56, 57, 98, 99, 60, 61, 102, 103, - /* 1220 */ 120, 105, 15, 120, 17, 18, 120, 120, 21, 120, - /* 1230 */ 23, 75, 116, 117, 120, 28, 120, 120, 31, 32, - /* 1240 */ 33, 120, 120, 36, 120, 120, 120, 120, 120, 82, - /* 1250 */ 120, 120, 120, 86, 120, 88, 89, 50, 91, 120, - /* 1260 */ 53, 54, 55, 56, 57, 98, 99, 60, 61, 102, - /* 1270 */ 103, 120, 105, 15, 120, 17, 18, 120, 120, 21, - /* 1280 */ 120, 23, 75, 120, 117, 120, 28, 120, 120, 31, - /* 1290 */ 32, 33, 120, 120, 36, 120, 120, 120, 120, 120, - /* 1300 */ 82, 120, 120, 120, 86, 120, 88, 89, 50, 91, - /* 1310 */ 120, 53, 54, 55, 56, 57, 98, 99, 60, 61, - /* 1320 */ 102, 103, 120, 105, 15, 120, 17, 18, 120, 120, - /* 1330 */ 21, 120, 23, 75, 120, 120, 120, 28, 120, 120, - /* 1340 */ 31, 32, 33, 120, 120, 36, 120, 120, 120, 120, - /* 1350 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 50, - /* 1360 */ 91, 120, 53, 54, 55, 56, 57, 98, 99, 60, - /* 1370 */ 61, 102, 103, 120, 105, 15, 120, 17, 18, 120, - /* 1380 */ 120, 21, 120, 23, 75, 120, 120, 120, 28, 120, - /* 1390 */ 120, 31, 32, 33, 120, 120, 36, 120, 120, 120, - /* 1400 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1410 */ 50, 91, 120, 53, 54, 55, 56, 57, 98, 99, - /* 1420 */ 60, 61, 102, 103, 120, 105, 15, 120, 17, 18, - /* 1430 */ 120, 120, 21, 120, 23, 75, 120, 120, 120, 28, - /* 1440 */ 120, 120, 31, 32, 33, 120, 120, 36, 120, 120, - /* 1450 */ 120, 120, 120, 82, 120, 120, 120, 86, 120, 88, - /* 1460 */ 89, 50, 91, 120, 53, 54, 55, 56, 57, 98, - /* 1470 */ 99, 60, 61, 102, 103, 120, 105, 15, 120, 17, - /* 1480 */ 18, 120, 120, 21, 120, 23, 75, 120, 120, 120, - /* 1490 */ 28, 120, 120, 31, 32, 33, 120, 120, 36, 120, - /* 1500 */ 120, 120, 120, 120, 82, 120, 120, 120, 86, 120, - /* 1510 */ 88, 89, 50, 91, 120, 53, 54, 55, 56, 57, - /* 1520 */ 98, 99, 60, 61, 102, 103, 120, 105, 15, 120, - /* 1530 */ 17, 18, 120, 120, 21, 120, 23, 75, 120, 120, - /* 1540 */ 120, 28, 120, 120, 31, 32, 33, 120, 120, 36, - /* 1550 */ 120, 120, 120, 120, 120, 82, 120, 120, 120, 86, - /* 1560 */ 120, 88, 89, 50, 91, 120, 53, 54, 55, 56, - /* 1570 */ 57, 98, 99, 60, 61, 102, 103, 120, 105, 15, - /* 1580 */ 120, 17, 18, 120, 120, 21, 120, 23, 75, 120, - /* 1590 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 120, - /* 1600 */ 36, 120, 120, 120, 120, 120, 82, 120, 120, 120, - /* 1610 */ 86, 120, 88, 89, 50, 91, 120, 53, 54, 55, - /* 1620 */ 56, 57, 98, 99, 60, 61, 102, 103, 120, 105, - /* 1630 */ 15, 120, 17, 18, 120, 120, 21, 120, 23, 75, - /* 1640 */ 120, 120, 120, 28, 120, 120, 31, 32, 33, 120, - /* 1650 */ 120, 36, 120, 120, 120, 120, 120, 82, 120, 120, - /* 1660 */ 120, 86, 120, 88, 89, 50, 91, 120, 53, 54, - /* 1670 */ 55, 56, 57, 98, 99, 60, 120, 102, 103, 120, - /* 1680 */ 105, 15, 120, 17, 18, 120, 120, 21, 120, 23, - /* 1690 */ 75, 120, 120, 120, 28, 120, 120, 31, 32, 33, - /* 1700 */ 16, 120, 36, 120, 120, 120, 22, 120, 24, 120, - /* 1710 */ 26, 27, 120, 29, 87, 120, 50, 90, 34, 53, - /* 1720 */ 54, 55, 56, 57, 97, 120, 60, 100, 101, 120, - /* 1730 */ 120, 120, 120, 49, 50, 51, 120, 120, 120, 120, - /* 1740 */ 113, 75, 58, 120, 120, 87, 62, 82, 90, 120, - /* 1750 */ 120, 86, 120, 88, 89, 97, 91, 120, 100, 101, - /* 1760 */ 76, 120, 120, 98, 99, 120, 120, 102, 103, 120, - /* 1770 */ 105, 113, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1780 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 1790 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120, - /* 1800 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, - /* 1810 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120, - /* 1820 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, - /* 1830 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, - /* 1840 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, - /* 1850 */ 98, 99, 1, 120, 102, 103, 120, 105, 120, 82, - /* 1860 */ 120, 120, 120, 86, 120, 88, 89, 16, 91, 120, - /* 1870 */ 120, 20, 120, 22, 120, 98, 99, 82, 120, 102, - /* 1880 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, - /* 1890 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82, - /* 1900 */ 105, 50, 120, 86, 120, 88, 89, 120, 91, 58, - /* 1910 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, - /* 1920 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, - /* 1930 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 120, - /* 1940 */ 105, 120, 82, 120, 120, 120, 86, 120, 88, 89, - /* 1950 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 1960 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, - /* 1970 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, - /* 1980 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89, - /* 1990 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, - /* 2000 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, - /* 2010 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, - /* 2020 */ 102, 103, 120, 105, 120, 82, 120, 120, 120, 86, - /* 2030 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, - /* 2040 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, - /* 2050 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, - /* 2060 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86, - /* 2070 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, - /* 2080 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, - /* 2090 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, - /* 2100 */ 99, 120, 120, 102, 103, 120, 105, 120, 82, 120, - /* 2110 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 2120 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, - /* 2130 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, - /* 2140 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, - /* 2150 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, - /* 2160 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, - /* 2170 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, - /* 2180 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, - /* 2190 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120, - /* 2200 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, - /* 2210 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, - /* 2220 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, - /* 2230 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120, - /* 2240 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, - /* 2250 */ 120, 102, 103, 86, 105, 88, 82, 120, 91, 120, - /* 2260 */ 86, 120, 88, 120, 120, 91, 99, 120, 120, 102, - /* 2270 */ 103, 120, 105, 120, 82, 120, 102, 103, 86, 105, - /* 2280 */ 88, 82, 120, 91, 120, 86, 120, 88, 120, 120, - /* 2290 */ 91, 120, 120, 120, 102, 103, 120, 105, 120, 82, - /* 2300 */ 120, 102, 103, 86, 105, 88, 120, 120, 91, 82, - /* 2310 */ 120, 120, 120, 86, 120, 88, 120, 120, 91, 102, - /* 2320 */ 103, 120, 105, 120, 120, 120, 120, 120, 120, 102, - /* 2330 */ 103, 82, 105, 120, 120, 86, 120, 88, 82, 120, - /* 2340 */ 91, 120, 86, 120, 88, 120, 120, 91, 120, 120, - /* 2350 */ 87, 102, 103, 90, 105, 120, 120, 120, 102, 103, - /* 2360 */ 97, 105, 120, 100, 101, 87, 120, 87, 90, 120, - /* 2370 */ 90, 120, 120, 120, 120, 97, 113, 97, 100, 101, - /* 2380 */ 100, 101, 120, 120, 120, 120, 120, 120, 120, 120, - /* 2390 */ 120, 113, 120, 113, + /* 270 */ 49, 50, 1, 87, 58, 106, 90, 51, 15, 109, + /* 280 */ 110, 18, 19, 97, 63, 64, 65, 66, 67, 68, + /* 290 */ 69, 70, 71, 72, 73, 74, 82, 114, 16, 113, + /* 300 */ 1, 91, 92, 93, 22, 109, 110, 25, 37, 38, + /* 310 */ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + /* 320 */ 49, 50, 59, 15, 17, 19, 18, 17, 18, 30, + /* 330 */ 22, 20, 118, 119, 63, 64, 65, 66, 67, 68, + /* 340 */ 69, 70, 71, 72, 73, 74, 1, 76, 82, 34, + /* 350 */ 51, 36, 86, 24, 88, 89, 87, 91, 92, 1, + /* 360 */ 36, 16, 56, 34, 98, 99, 97, 56, 102, 103, + /* 370 */ 60, 105, 61, 16, 16, 16, 106, 108, 108, 22, + /* 380 */ 22, 22, 37, 38, 39, 40, 41, 42, 43, 44, + /* 390 */ 45, 46, 47, 48, 49, 50, 87, 16, 16, 16, + /* 400 */ 34, 16, 36, 22, 22, 22, 97, 22, 63, 64, + /* 410 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + /* 420 */ 1, 82, 113, 88, 87, 86, 91, 88, 89, 87, + /* 430 */ 91, 18, 15, 87, 97, 16, 87, 98, 99, 97, + /* 440 */ 105, 102, 103, 97, 105, 108, 97, 16, 16, 16, + /* 450 */ 108, 112, 35, 22, 22, 22, 37, 38, 39, 40, + /* 460 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 470 */ 1, 87, 59, 16, 16, 15, 17, 18, 18, 22, + /* 480 */ 22, 97, 63, 64, 65, 66, 67, 68, 69, 70, + /* 490 */ 71, 72, 73, 74, 87, 56, 16, 113, 29, 16, + /* 500 */ 61, 106, 22, 108, 97, 22, 37, 38, 39, 40, + /* 510 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 520 */ 113, 1, 16, 16, 16, 16, 91, 92, 22, 22, + /* 530 */ 22, 22, 63, 64, 65, 66, 67, 68, 69, 70, + /* 540 */ 71, 72, 73, 74, 24, 16, 16, 15, 104, 1, + /* 550 */ 18, 22, 22, 90, 2, 111, 90, 37, 38, 39, + /* 560 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + /* 570 */ 50, 19, 82, 35, 15, 18, 113, 18, 15, 113, + /* 580 */ 20, 18, 1, 63, 64, 65, 66, 67, 68, 69, + /* 590 */ 70, 71, 72, 73, 74, 1, 82, 16, 95, 51, + /* 600 */ 86, 15, 88, 89, 18, 91, 35, 1, 95, 119, + /* 610 */ 16, 108, 98, 99, 95, 87, 102, 103, 58, 105, + /* 620 */ 87, 108, 16, 2, 22, 97, 18, 108, 91, 92, + /* 630 */ 97, 37, 38, 39, 40, 41, 42, 43, 44, 45, + /* 640 */ 46, 47, 48, 49, 50, 1, 104, 17, 16, 26, + /* 650 */ 52, 25, 33, 111, 22, 60, 95, 63, 64, 65, + /* 660 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 108, + /* 670 */ 17, 19, 18, 18, 18, 17, 60, 18, 17, 22, + /* 680 */ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + /* 690 */ 46, 47, 48, 49, 50, 33, 56, 2, 18, 18, + /* 700 */ 18, 97, 1, 62, 20, 22, 107, 63, 64, 65, + /* 710 */ 66, 67, 68, 69, 70, 71, 72, 73, 74, 1, + /* 720 */ 1, 82, 22, 106, 96, 86, 95, 88, 89, 2, + /* 730 */ 91, 113, 95, 95, 110, 16, 108, 98, 99, 108, + /* 740 */ 22, 102, 103, 108, 105, 108, 108, 111, 106, 115, + /* 750 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 760 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 770 */ 51, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 780 */ 95, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 790 */ 72, 73, 74, 108, 120, 120, 120, 120, 120, 120, + /* 800 */ 120, 120, 120, 120, 36, 37, 38, 39, 40, 41, + /* 810 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 820 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 830 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 840 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120, + /* 850 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 860 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 1, + /* 870 */ 2, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 880 */ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 890 */ 72, 73, 74, 120, 120, 120, 120, 120, 120, 120, + /* 900 */ 120, 120, 120, 120, 120, 37, 38, 39, 40, 41, + /* 910 */ 42, 43, 44, 45, 46, 47, 48, 49, 50, 120, + /* 920 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 930 */ 120, 63, 64, 65, 66, 67, 68, 69, 70, 71, + /* 940 */ 72, 73, 74, 1, 82, 120, 120, 120, 86, 120, + /* 950 */ 88, 89, 120, 91, 120, 95, 95, 120, 16, 120, + /* 960 */ 98, 99, 120, 120, 102, 103, 120, 105, 108, 108, + /* 970 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37, + /* 980 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + /* 990 */ 48, 49, 50, 1, 120, 120, 120, 120, 120, 120, + /* 1000 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67, + /* 1010 */ 68, 69, 70, 71, 72, 73, 74, 120, 120, 120, + /* 1020 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 37, + /* 1030 */ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + /* 1040 */ 48, 49, 50, 120, 120, 120, 120, 120, 120, 120, + /* 1050 */ 120, 120, 120, 120, 120, 63, 64, 65, 66, 67, + /* 1060 */ 68, 69, 70, 71, 72, 73, 74, 37, 38, 39, + /* 1070 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, + /* 1080 */ 50, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1090 */ 120, 120, 120, 63, 64, 65, 66, 67, 68, 69, + /* 1100 */ 70, 71, 72, 73, 74, 120, 120, 120, 120, 15, + /* 1110 */ 120, 17, 18, 120, 82, 21, 120, 23, 86, 120, + /* 1120 */ 88, 89, 28, 91, 120, 31, 32, 33, 120, 35, + /* 1130 */ 98, 99, 38, 120, 102, 103, 120, 105, 120, 120, + /* 1140 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1150 */ 56, 57, 120, 82, 60, 61, 62, 86, 120, 88, + /* 1160 */ 120, 120, 91, 120, 15, 120, 17, 18, 120, 75, + /* 1170 */ 21, 120, 23, 102, 103, 120, 105, 28, 10, 120, + /* 1180 */ 31, 32, 33, 15, 35, 120, 120, 38, 120, 21, + /* 1190 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31, + /* 1200 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60, + /* 1210 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15, + /* 1220 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103, + /* 1230 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1240 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120, + /* 1250 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1260 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22, + /* 1270 */ 105, 120, 120, 120, 15, 120, 17, 18, 120, 75, + /* 1280 */ 21, 120, 23, 120, 120, 120, 120, 28, 10, 120, + /* 1290 */ 31, 32, 33, 15, 35, 120, 120, 38, 51, 21, + /* 1300 */ 120, 23, 120, 120, 120, 120, 28, 120, 120, 31, + /* 1310 */ 32, 120, 53, 54, 55, 56, 57, 120, 82, 60, + /* 1320 */ 61, 120, 86, 120, 88, 120, 120, 91, 120, 15, + /* 1330 */ 87, 17, 18, 90, 75, 21, 120, 23, 102, 103, + /* 1340 */ 97, 105, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1350 */ 120, 120, 38, 75, 76, 77, 113, 82, 1, 120, + /* 1360 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1370 */ 56, 57, 120, 16, 60, 61, 120, 102, 103, 22, + /* 1380 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75, + /* 1390 */ 21, 120, 23, 120, 1, 97, 120, 28, 100, 101, + /* 1400 */ 31, 32, 33, 120, 35, 120, 120, 38, 51, 16, + /* 1410 */ 120, 113, 82, 20, 120, 22, 86, 120, 88, 120, + /* 1420 */ 120, 91, 53, 54, 55, 56, 57, 120, 35, 60, + /* 1430 */ 61, 120, 102, 103, 120, 105, 120, 120, 120, 15, + /* 1440 */ 87, 17, 18, 90, 75, 21, 120, 23, 120, 120, + /* 1450 */ 97, 58, 28, 100, 101, 31, 32, 33, 120, 35, + /* 1460 */ 120, 120, 38, 120, 120, 120, 113, 82, 120, 120, + /* 1470 */ 120, 86, 120, 88, 120, 120, 91, 53, 54, 55, + /* 1480 */ 56, 57, 120, 120, 60, 61, 120, 102, 103, 120, + /* 1490 */ 105, 120, 120, 120, 15, 87, 17, 18, 90, 75, + /* 1500 */ 21, 120, 23, 120, 120, 97, 120, 28, 100, 101, + /* 1510 */ 31, 32, 33, 120, 35, 120, 87, 38, 120, 90, + /* 1520 */ 120, 113, 120, 120, 120, 120, 97, 120, 120, 100, + /* 1530 */ 101, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1540 */ 61, 120, 113, 120, 120, 120, 120, 120, 120, 15, + /* 1550 */ 120, 17, 18, 1, 75, 21, 120, 23, 120, 120, + /* 1560 */ 120, 120, 28, 120, 120, 31, 32, 33, 16, 35, + /* 1570 */ 120, 120, 38, 120, 22, 120, 120, 120, 120, 120, + /* 1580 */ 120, 29, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1590 */ 56, 57, 120, 120, 60, 61, 120, 120, 120, 120, + /* 1600 */ 120, 120, 120, 51, 15, 120, 17, 18, 120, 75, + /* 1610 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120, + /* 1620 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120, + /* 1630 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1640 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1650 */ 61, 120, 120, 120, 120, 120, 120, 120, 120, 15, + /* 1660 */ 120, 17, 18, 120, 75, 21, 120, 23, 120, 120, + /* 1670 */ 120, 120, 28, 120, 120, 31, 32, 33, 120, 35, + /* 1680 */ 120, 120, 38, 120, 120, 120, 120, 120, 120, 120, + /* 1690 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55, + /* 1700 */ 56, 57, 120, 120, 60, 120, 120, 120, 120, 120, + /* 1710 */ 120, 120, 120, 120, 15, 120, 17, 18, 120, 75, + /* 1720 */ 21, 120, 23, 120, 120, 120, 120, 28, 120, 120, + /* 1730 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120, + /* 1740 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1750 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60, + /* 1760 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 16, + /* 1770 */ 120, 120, 120, 120, 75, 22, 120, 24, 120, 26, + /* 1780 */ 27, 120, 29, 120, 120, 120, 120, 34, 35, 36, + /* 1790 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, + /* 1800 */ 120, 120, 120, 82, 51, 120, 120, 86, 120, 88, + /* 1810 */ 89, 58, 91, 120, 120, 62, 120, 120, 120, 98, + /* 1820 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 76, + /* 1830 */ 120, 120, 120, 120, 120, 120, 82, 116, 117, 120, + /* 1840 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1850 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, + /* 1860 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, + /* 1870 */ 120, 117, 120, 120, 98, 99, 120, 120, 102, 103, + /* 1880 */ 120, 105, 120, 120, 120, 120, 82, 120, 120, 120, + /* 1890 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1900 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, + /* 1910 */ 120, 120, 82, 120, 120, 120, 86, 120, 88, 89, + /* 1920 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 1930 */ 120, 120, 102, 103, 120, 105, 82, 120, 120, 120, + /* 1940 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1950 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, + /* 1960 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 1970 */ 98, 99, 120, 120, 102, 103, 82, 105, 120, 120, + /* 1980 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 1990 */ 120, 120, 98, 99, 120, 120, 102, 103, 120, 105, + /* 2000 */ 120, 82, 120, 120, 120, 86, 120, 88, 89, 120, + /* 2010 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, + /* 2020 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, + /* 2030 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, + /* 2040 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, + /* 2050 */ 120, 120, 120, 98, 99, 120, 120, 102, 103, 82, + /* 2060 */ 105, 120, 120, 86, 120, 88, 89, 120, 91, 120, + /* 2070 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, + /* 2080 */ 103, 120, 105, 120, 82, 120, 120, 120, 86, 120, + /* 2090 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2100 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89, + /* 2110 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2120 */ 82, 120, 102, 103, 86, 105, 88, 89, 120, 91, + /* 2130 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120, + /* 2140 */ 102, 103, 82, 105, 120, 120, 86, 120, 88, 89, + /* 2150 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2160 */ 120, 120, 102, 103, 120, 105, 120, 82, 120, 120, + /* 2170 */ 120, 86, 120, 88, 89, 120, 91, 120, 120, 120, + /* 2180 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86, + /* 2190 */ 105, 88, 89, 120, 91, 120, 120, 120, 120, 120, + /* 2200 */ 120, 98, 99, 82, 120, 102, 103, 86, 105, 88, + /* 2210 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, + /* 2220 */ 99, 120, 120, 102, 103, 82, 105, 120, 120, 86, + /* 2230 */ 120, 88, 89, 120, 91, 120, 120, 120, 120, 120, + /* 2240 */ 120, 98, 99, 120, 120, 102, 103, 120, 105, 120, + /* 2250 */ 82, 120, 120, 120, 86, 120, 88, 89, 120, 91, + /* 2260 */ 120, 120, 120, 120, 120, 120, 98, 99, 82, 120, + /* 2270 */ 102, 103, 86, 105, 88, 89, 120, 91, 120, 120, + /* 2280 */ 120, 120, 120, 120, 98, 99, 82, 120, 102, 103, + /* 2290 */ 86, 105, 88, 89, 120, 91, 120, 120, 120, 120, + /* 2300 */ 120, 120, 98, 99, 120, 120, 102, 103, 82, 105, + /* 2310 */ 120, 120, 86, 120, 88, 89, 120, 91, 120, 120, + /* 2320 */ 120, 120, 120, 120, 98, 99, 120, 120, 102, 103, + /* 2330 */ 120, 105, 120, 82, 120, 120, 120, 86, 120, 88, + /* 2340 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 98, + /* 2350 */ 99, 82, 120, 102, 103, 86, 105, 88, 89, 120, + /* 2360 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 82, + /* 2370 */ 120, 102, 103, 86, 105, 88, 89, 120, 91, 120, + /* 2380 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102, + /* 2390 */ 103, 82, 105, 120, 120, 86, 120, 88, 89, 120, + /* 2400 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120, + /* 2410 */ 120, 102, 103, 120, 105, 120, 82, 120, 120, 120, + /* 2420 */ 86, 120, 88, 89, 120, 91, 120, 120, 120, 120, + /* 2430 */ 120, 120, 98, 99, 82, 120, 102, 103, 86, 105, + /* 2440 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2450 */ 98, 99, 82, 120, 102, 103, 86, 105, 88, 89, + /* 2460 */ 120, 91, 120, 120, 120, 120, 120, 120, 98, 99, + /* 2470 */ 120, 120, 102, 103, 82, 105, 120, 120, 86, 120, + /* 2480 */ 88, 89, 120, 91, 120, 120, 120, 120, 120, 120, + /* 2490 */ 98, 99, 120, 120, 102, 103, 120, 105, 120, 82, + /* 2500 */ 120, 120, 120, 86, 120, 88, 89, 120, 91, 120, + /* 2510 */ 120, 120, 120, 120, 120, 98, 99, 82, 120, 102, + /* 2520 */ 103, 86, 105, 88, 89, 120, 91, 120, 120, 120, + /* 2530 */ 120, 120, 120, 98, 99, 82, 120, 102, 103, 86, + /* 2540 */ 105, 88, 82, 120, 91, 120, 86, 120, 88, 120, + /* 2550 */ 120, 91, 99, 120, 120, 102, 103, 120, 105, 99, + /* 2560 */ 120, 120, 102, 103, 120, 105, ); - const YY_SHIFT_USE_DFLT = -34; - const YY_SHIFT_MAX = 233; + const YY_SHIFT_USE_DFLT = -9; + const YY_SHIFT_MAX = 250; static public $yy_shift_ofst = array( - /* 0 */ 1, 1309, 1309, 1156, 1360, 1156, 1156, 1105, 1156, 1156, - /* 10 */ 1156, 1462, 1513, 1156, 1156, 1564, 1156, 1156, 1156, 1156, - /* 20 */ 1513, 1156, 1156, 1411, 1156, 1156, 1156, 1156, 1156, 1156, - /* 30 */ 1156, 1156, 1156, 1156, 1207, 1156, 1156, 1156, 1156, 1411, - /* 40 */ 1156, 1156, 1258, 1258, 1666, 1666, 1615, 1666, 1666, 1666, - /* 50 */ 1666, 221, 73, 147, -1, 783, 783, 783, 953, 905, - /* 60 */ 831, 539, 709, 343, 269, 391, 661, 587, 465, 1001, - /* 70 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, - /* 80 */ 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1041, 1041, 1851, - /* 90 */ 599, 1, 541, 456, 220, -2, 109, 402, 109, 311, - /* 100 */ 599, 599, 467, 44, 115, 181, 379, 306, 4, 143, - /* 110 */ 258, 59, 335, 335, 335, 405, 675, 576, 335, 578, - /* 120 */ 335, 575, 335, 335, 504, 405, 575, 626, 625, 335, - /* 130 */ 335, 695, 695, 701, 699, 700, 63, 83, 231, 425, - /* 140 */ 427, 475, 403, 471, 429, -33, 256, 182, 159, 39, - /* 150 */ 210, 380, 255, -33, 390, -33, 148, -33, 532, 530, - /* 160 */ 505, 501, 544, -33, 549, 378, 498, 716, 730, 695, - /* 170 */ 695, 468, 718, 718, 701, 737, 737, 695, -34, -34, - /* 180 */ -34, -34, 1684, 110, 1127, 190, -31, 305, 187, 281, - /* 190 */ 223, 304, 313, 123, 448, 268, 492, 267, 151, 319, - /* 200 */ 163, 342, 432, 319, 678, 642, 632, 594, 627, 132, - /* 210 */ 623, 646, 649, 676, 672, 671, 619, 631, 534, 553, - /* 220 */ 288, 362, 302, 195, 152, 212, 394, 468, 472, 421, - /* 230 */ 569, 458, 474, 455, + /* 0 */ 1, 1424, 1259, 1149, 1259, 1149, 1149, 1424, 1094, 1149, + /* 10 */ 1149, 1479, 1149, 1589, 1534, 1149, 1149, 1149, 1314, 1149, + /* 20 */ 1149, 1149, 1149, 1149, 1369, 1149, 1149, 1149, 1149, 1314, + /* 30 */ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + /* 40 */ 1149, 1149, 1369, 1149, 1204, 1204, 1644, 1699, 1699, 1699, + /* 50 */ 1699, 1699, 1699, 147, 221, -1, 73, 718, 718, 718, + /* 60 */ 768, 818, 644, 594, 345, 271, 419, 942, 469, 520, + /* 70 */ 868, 992, 992, 992, 992, 992, 992, 992, 992, 992, + /* 80 */ 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + /* 90 */ 1030, 1030, 1393, 1357, 233, 1, 1278, 150, 5, 308, + /* 100 */ 308, 311, 358, 310, 233, 44, 233, 1168, 46, 1552, + /* 110 */ 263, 1247, 226, 231, 71, 16, -2, 299, 182, 181, + /* 120 */ 282, 163, 719, 459, 560, 532, 44, 460, 559, 581, + /* 130 */ 460, 460, 460, 44, 563, 460, 632, 586, 548, 532, + /* 140 */ 459, 460, 460, 460, 460, 701, 701, 701, 683, 700, + /* 150 */ 701, 701, 701, 701, 684, 701, 684, -9, 66, 111, + /* 160 */ 3, 357, 359, 382, 381, 606, 439, 417, 509, 439, + /* 170 */ 439, 530, 508, 458, 207, 431, 480, 507, 506, 483, + /* 180 */ 439, 457, 432, 439, 529, 433, 385, 383, 727, 684, + /* 190 */ 701, 684, 727, 701, 684, 538, 222, -8, -8, -9, + /* 200 */ -9, -9, -9, 1753, 72, 116, 216, 120, 123, 74, + /* 210 */ 74, 141, 552, 32, 315, 306, 329, 90, 413, 366, + /* 220 */ 682, 616, 657, 659, 658, 655, 656, 661, 662, 641, + /* 230 */ 681, 680, 640, 695, 654, 652, 621, 602, 571, 557, + /* 240 */ 324, 538, 608, 307, 630, 595, 653, 619, 626, 623, + /* 250 */ 598, ); - const YY_REDUCE_USE_DFLT = -93; - const YY_REDUCE_MAX = 181; + const YY_REDUCE_USE_DFLT = -81; + const YY_REDUCE_MAX = 202; static public $yy_reduce_ofst = array( - /* 0 */ 7, 1116, 1167, 263, 142, 68, -6, 2084, 1575, 1218, - /* 10 */ 1320, 1961, 1817, 1473, 1835, 1795, 1752, 1777, 1860, 1878, - /* 20 */ 1943, 1918, 1900, 1734, 1712, 1269, 704, 826, 1371, 1422, - /* 30 */ 1690, 1665, 2001, 1524, 1983, 2149, 2109, 2066, 2127, 2044, - /* 40 */ 2026, 581, 2167, 1043, 2249, 2199, 2192, 2174, 2256, 2227, - /* 50 */ 2217, 383, 1658, 1627, 2263, 2278, 383, 2280, 257, 257, - /* 60 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - /* 70 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, - /* 80 */ 257, 257, 257, 257, 257, 257, 257, 257, 257, 38, - /* 90 */ 65, -80, 157, 259, 460, 145, -3, 428, 462, 191, - /* 100 */ 355, 502, 442, 215, 291, 577, 466, 264, 550, 291, - /* 110 */ 466, 209, 573, 450, 580, 580, 308, 580, 628, 264, - /* 120 */ 663, 486, 506, 570, 579, 692, 535, 595, 580, 71, - /* 130 */ -78, 264, 510, 11, 388, 382, 611, 611, 609, 615, - /* 140 */ 615, 615, 615, 615, 615, 607, 615, 615, 615, 615, - /* 150 */ 615, 615, 615, 607, 610, 607, 600, 607, 615, 615, - /* 160 */ 615, 615, 615, 607, 600, 615, 615, 600, 677, 13, - /* 170 */ 13, 636, 644, 647, 645, 648, 648, 13, -29, -92, - /* 180 */ -23, -7, + /* 0 */ 22, 1721, 68, 339, 266, -6, 142, 1754, 862, 2020, + /* 10 */ 514, 1977, 1776, 2103, 1919, 1872, 1804, 1830, 2121, 2392, + /* 20 */ 2186, 2287, 2269, 2168, 2435, 2143, 639, 1955, 2085, 1937, + /* 30 */ 1032, 2060, 2038, 1894, 1854, 2002, 2352, 2417, 2370, 2334, + /* 40 */ 2204, 2226, 2251, 2309, 2460, 2453, 1071, 1126, 1275, 1385, + /* 50 */ 1330, 1236, 1165, 1353, 1408, 1243, 1429, 1298, 1133, 1353, + /* 60 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 70 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 80 */ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + /* 90 */ 61, 61, 186, 139, 112, -80, 214, -10, 342, 337, + /* 100 */ 269, 96, 309, 335, 384, 210, 407, 490, -57, -35, + /* 110 */ 270, -35, -35, 628, 270, 270, 170, -35, 528, 170, + /* 120 */ 528, 466, -35, 444, 170, 513, 435, 561, 519, 463, + /* 130 */ 519, 637, 395, 537, 861, 631, 533, 519, -35, 519, + /* 140 */ 542, 860, 685, 638, 503, -35, -35, -35, 346, 349, + /* 150 */ -35, -35, -35, -35, 170, -35, 196, -35, 635, 636, + /* 160 */ 604, 604, 604, 604, 604, 618, 599, 642, 604, 599, + /* 170 */ 599, 604, 604, 604, 618, 604, 604, 604, 604, 604, + /* 180 */ 599, 604, 604, 599, 604, 604, 604, 604, 634, 624, + /* 190 */ 618, 624, 634, 618, 624, 617, 43, -64, 159, 21, + /* 200 */ 169, 151, 183, ); static public $yyExpectedTokens = array( /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), - /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 62, 75, ), - /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 61, 75, ), - /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 36, 50, 53, 54, 55, 56, 57, 60, 75, ), - /* 51 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 52 */ array(1, 22, 27, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 53 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 54 */ array(1, 16, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 55 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 56 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 57 */ array(1, 22, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 58 */ array(1, 29, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 59 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 60 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ), - /* 61 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 62 */ array(1, 2, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 63 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 64 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 65 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 66 */ array(1, 16, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 67 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 68 */ array(1, 24, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 69 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 70 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 71 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 72 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 73 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 74 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 75 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 76 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 77 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 78 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 79 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 80 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 81 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 82 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 83 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 84 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 85 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 86 */ array(1, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 87 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 88 */ array(35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), - /* 89 */ array(1, 16, 20, 22, 50, 58, ), - /* 90 */ array(1, 22, ), - /* 91 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), - /* 92 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), - /* 93 */ array(15, 18, 22, 30, ), - /* 94 */ array(15, 18, 22, 30, ), - /* 95 */ array(20, 56, 61, ), - /* 96 */ array(15, 18, 22, ), - /* 97 */ array(1, 16, 22, ), - /* 98 */ array(15, 18, 22, ), - /* 99 */ array(17, 18, 60, ), - /* 100 */ array(1, 22, ), - /* 101 */ array(1, 22, ), - /* 102 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), - /* 103 */ array(4, 5, 6, 7, 8, 12, 13, 14, ), - /* 104 */ array(15, 18, 19, 59, ), - /* 105 */ array(15, 18, 19, 25, ), - /* 106 */ array(16, 22, 25, ), - /* 107 */ array(19, 20, 58, ), - /* 108 */ array(16, 22, 49, ), - /* 109 */ array(15, 18, 59, ), - /* 110 */ array(16, 22, 25, ), - /* 111 */ array(1, 16, 20, ), - /* 112 */ array(15, 18, ), - /* 113 */ array(15, 18, ), - /* 114 */ array(15, 18, ), - /* 115 */ array(15, 18, ), - /* 116 */ array(1, 16, ), - /* 117 */ array(15, 18, ), - /* 118 */ array(15, 18, ), - /* 119 */ array(20, 58, ), - /* 120 */ array(15, 18, ), - /* 121 */ array(17, 18, ), - /* 122 */ array(15, 18, ), - /* 123 */ array(15, 18, ), - /* 124 */ array(15, 18, ), + /* 1 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 2 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 3 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 4 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 5 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 6 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 7 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 8 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 62, 75, ), + /* 9 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 10 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 11 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 12 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 13 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 14 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 15 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 16 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 17 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 18 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 19 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 20 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 21 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 22 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 23 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 24 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 25 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 26 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 27 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 28 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 29 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 30 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 31 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 32 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 33 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 34 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 35 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 36 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 37 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 38 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 39 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 40 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 41 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 42 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 43 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 44 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 45 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ), + /* 46 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 47 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 48 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 49 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 50 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 51 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 52 */ array(15, 17, 18, 21, 23, 28, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ), + /* 53 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 54 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 55 */ array(1, 16, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 56 */ array(1, 22, 27, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 57 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 58 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 59 */ array(1, 22, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 60 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 61 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 62 */ array(1, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 63 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 64 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 65 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 76, ), + /* 66 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 67 */ array(1, 16, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 68 */ array(1, 29, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 69 */ array(1, 24, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 70 */ array(1, 2, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 71 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 72 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 73 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 74 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 75 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 76 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 77 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 78 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 79 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 80 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 81 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 82 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 83 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 84 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 85 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 86 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 87 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 88 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 89 */ array(1, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 90 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 91 */ array(37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, ), + /* 92 */ array(1, 16, 20, 22, 35, 58, ), + /* 93 */ array(1, 16, 22, 51, ), + /* 94 */ array(1, 22, ), + /* 95 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 23, 28, 31, 32, ), + /* 96 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), + /* 97 */ array(15, 18, 22, 30, ), + /* 98 */ array(15, 18, 22, 30, ), + /* 99 */ array(15, 18, 22, ), + /* 100 */ array(15, 18, 22, ), + /* 101 */ array(20, 56, 61, ), + /* 102 */ array(1, 16, 22, ), + /* 103 */ array(17, 18, 60, ), + /* 104 */ array(1, 22, ), + /* 105 */ array(17, 35, ), + /* 106 */ array(1, 22, ), + /* 107 */ array(10, 15, 21, 23, 28, 31, 32, 75, 76, 77, ), + /* 108 */ array(4, 5, 6, 7, 8, 12, 13, 14, ), + /* 109 */ array(1, 16, 22, 29, 51, ), + /* 110 */ array(15, 18, 19, 59, ), + /* 111 */ array(1, 16, 22, 51, ), + /* 112 */ array(1, 16, 22, 51, ), + /* 113 */ array(15, 18, 19, 25, ), + /* 114 */ array(15, 18, 19, ), + /* 115 */ array(15, 18, 59, ), + /* 116 */ array(19, 20, 58, ), + /* 117 */ array(1, 30, 51, ), + /* 118 */ array(16, 22, 25, ), + /* 119 */ array(19, 20, 58, ), + /* 120 */ array(16, 22, 25, ), + /* 121 */ array(1, 16, 20, ), + /* 122 */ array(1, 16, 51, ), + /* 123 */ array(17, 18, ), + /* 124 */ array(20, 58, ), /* 125 */ array(15, 18, ), - /* 126 */ array(17, 18, ), - /* 127 */ array(16, 22, ), + /* 126 */ array(17, 35, ), + /* 127 */ array(15, 18, ), /* 128 */ array(15, 18, ), - /* 129 */ array(15, 18, ), + /* 129 */ array(1, 16, ), /* 130 */ array(15, 18, ), - /* 131 */ array(20, ), - /* 132 */ array(20, ), - /* 133 */ array(17, ), - /* 134 */ array(22, ), - /* 135 */ array(22, ), - /* 136 */ array(15, 18, 59, ), - /* 137 */ array(15, 18, 19, ), - /* 138 */ array(15, 17, 18, ), - /* 139 */ array(16, 22, ), - /* 140 */ array(16, 22, ), - /* 141 */ array(16, 22, ), - /* 142 */ array(16, 22, ), - /* 143 */ array(16, 22, ), - /* 144 */ array(16, 22, ), - /* 145 */ array(56, 61, ), - /* 146 */ array(16, 22, ), - /* 147 */ array(16, 22, ), - /* 148 */ array(16, 22, ), - /* 149 */ array(16, 22, ), - /* 150 */ array(16, 22, ), - /* 151 */ array(16, 22, ), - /* 152 */ array(16, 22, ), - /* 153 */ array(56, 61, ), - /* 154 */ array(15, 50, ), - /* 155 */ array(56, 61, ), - /* 156 */ array(1, 16, ), - /* 157 */ array(56, 61, ), - /* 158 */ array(16, 22, ), - /* 159 */ array(16, 22, ), + /* 131 */ array(15, 18, ), + /* 132 */ array(15, 18, ), + /* 133 */ array(17, 35, ), + /* 134 */ array(15, 18, ), + /* 135 */ array(15, 18, ), + /* 136 */ array(16, 22, ), + /* 137 */ array(15, 18, ), + /* 138 */ array(1, 51, ), + /* 139 */ array(15, 18, ), + /* 140 */ array(17, 18, ), + /* 141 */ array(15, 18, ), + /* 142 */ array(15, 18, ), + /* 143 */ array(15, 18, ), + /* 144 */ array(15, 18, ), + /* 145 */ array(1, ), + /* 146 */ array(1, ), + /* 147 */ array(1, ), + /* 148 */ array(22, ), + /* 149 */ array(22, ), + /* 150 */ array(1, ), + /* 151 */ array(1, ), + /* 152 */ array(1, ), + /* 153 */ array(1, ), + /* 154 */ array(20, ), + /* 155 */ array(1, ), + /* 156 */ array(20, ), + /* 157 */ array(), + /* 158 */ array(15, 18, 59, ), + /* 159 */ array(15, 17, 18, ), /* 160 */ array(16, 22, ), /* 161 */ array(16, 22, ), /* 162 */ array(16, 22, ), - /* 163 */ array(56, 61, ), - /* 164 */ array(1, 16, ), - /* 165 */ array(16, 22, ), - /* 166 */ array(16, 22, ), - /* 167 */ array(1, ), - /* 168 */ array(13, ), - /* 169 */ array(20, ), - /* 170 */ array(20, ), - /* 171 */ array(50, ), - /* 172 */ array(22, ), - /* 173 */ array(22, ), - /* 174 */ array(17, ), - /* 175 */ array(2, ), - /* 176 */ array(2, ), - /* 177 */ array(20, ), - /* 178 */ array(), - /* 179 */ array(), - /* 180 */ array(), - /* 181 */ array(), - /* 182 */ array(16, 22, 24, 26, 27, 29, 34, 49, 50, 51, 58, 62, 76, ), - /* 183 */ array(16, 19, 22, 50, 58, ), - /* 184 */ array(16, 22, 29, 49, ), - /* 185 */ array(15, 17, 18, 33, ), - /* 186 */ array(50, 56, 58, 62, ), - /* 187 */ array(16, 22, 50, 58, ), - /* 188 */ array(16, 22, 49, ), - /* 189 */ array(16, 22, 49, ), - /* 190 */ array(30, 50, 58, ), - /* 191 */ array(19, 56, ), - /* 192 */ array(18, 59, ), - /* 193 */ array(30, 49, ), - /* 194 */ array(2, 19, ), - /* 195 */ array(34, 51, ), - /* 196 */ array(24, 34, ), - /* 197 */ array(34, 51, ), - /* 198 */ array(25, 76, ), - /* 199 */ array(50, 58, ), - /* 200 */ array(34, 62, ), - /* 201 */ array(34, 51, ), - /* 202 */ array(16, 49, ), - /* 203 */ array(50, 58, ), - /* 204 */ array(17, ), - /* 205 */ array(2, ), - /* 206 */ array(17, ), - /* 207 */ array(2, ), - /* 208 */ array(18, ), - /* 209 */ array(33, ), - /* 210 */ array(18, ), - /* 211 */ array(18, ), - /* 212 */ array(17, ), - /* 213 */ array(18, ), - /* 214 */ array(18, ), - /* 215 */ array(18, ), - /* 216 */ array(52, ), - /* 217 */ array(62, ), - /* 218 */ array(33, ), - /* 219 */ array(18, ), - /* 220 */ array(60, ), + /* 163 */ array(16, 22, ), + /* 164 */ array(16, 22, ), + /* 165 */ array(1, 16, ), + /* 166 */ array(56, 61, ), + /* 167 */ array(15, 35, ), + /* 168 */ array(16, 22, ), + /* 169 */ array(56, 61, ), + /* 170 */ array(56, 61, ), + /* 171 */ array(16, 22, ), + /* 172 */ array(16, 22, ), + /* 173 */ array(16, 22, ), + /* 174 */ array(1, 16, ), + /* 175 */ array(16, 22, ), + /* 176 */ array(16, 22, ), + /* 177 */ array(16, 22, ), + /* 178 */ array(16, 22, ), + /* 179 */ array(16, 22, ), + /* 180 */ array(56, 61, ), + /* 181 */ array(16, 22, ), + /* 182 */ array(16, 22, ), + /* 183 */ array(56, 61, ), + /* 184 */ array(16, 22, ), + /* 185 */ array(16, 22, ), + /* 186 */ array(16, 22, ), + /* 187 */ array(16, 22, ), + /* 188 */ array(2, ), + /* 189 */ array(20, ), + /* 190 */ array(1, ), + /* 191 */ array(20, ), + /* 192 */ array(2, ), + /* 193 */ array(1, ), + /* 194 */ array(20, ), + /* 195 */ array(35, ), + /* 196 */ array(13, ), + /* 197 */ array(22, ), + /* 198 */ array(22, ), + /* 199 */ array(), + /* 200 */ array(), + /* 201 */ array(), + /* 202 */ array(), + /* 203 */ array(16, 22, 24, 26, 27, 29, 34, 35, 36, 51, 58, 62, 76, ), + /* 204 */ array(16, 19, 22, 35, 58, ), + /* 205 */ array(15, 17, 18, 33, ), + /* 206 */ array(16, 22, 35, 58, ), + /* 207 */ array(35, 56, 58, 62, ), + /* 208 */ array(30, 35, 58, ), + /* 209 */ array(35, 58, ), + /* 210 */ array(35, 58, ), + /* 211 */ array(34, 36, ), + /* 212 */ array(2, 19, ), + /* 213 */ array(25, 76, ), + /* 214 */ array(34, 36, ), + /* 215 */ array(19, 56, ), + /* 216 */ array(24, 34, ), + /* 217 */ array(34, 62, ), + /* 218 */ array(18, 59, ), + /* 219 */ array(34, 36, ), + /* 220 */ array(18, ), /* 221 */ array(60, ), /* 222 */ array(22, ), - /* 223 */ array(56, ), - /* 224 */ array(49, ), - /* 225 */ array(17, ), - /* 226 */ array(50, ), - /* 227 */ array(50, ), - /* 228 */ array(22, ), - /* 229 */ array(25, ), - /* 230 */ array(26, ), + /* 223 */ array(18, ), + /* 224 */ array(17, ), + /* 225 */ array(18, ), + /* 226 */ array(18, ), + /* 227 */ array(17, ), + /* 228 */ array(33, ), + /* 229 */ array(62, ), + /* 230 */ array(18, ), /* 231 */ array(18, ), - /* 232 */ array(18, ), - /* 233 */ array(17, ), - /* 234 */ array(), - /* 235 */ array(), - /* 236 */ array(), - /* 237 */ array(), - /* 238 */ array(), - /* 239 */ array(), - /* 240 */ array(), - /* 241 */ array(), - /* 242 */ array(), - /* 243 */ array(), - /* 244 */ array(), - /* 245 */ array(), - /* 246 */ array(), - /* 247 */ array(), - /* 248 */ array(), - /* 249 */ array(), - /* 250 */ array(), + /* 232 */ array(56, ), + /* 233 */ array(2, ), + /* 234 */ array(18, ), + /* 235 */ array(19, ), + /* 236 */ array(2, ), + /* 237 */ array(22, ), + /* 238 */ array(35, ), + /* 239 */ array(18, ), + /* 240 */ array(36, ), + /* 241 */ array(35, ), + /* 242 */ array(18, ), + /* 243 */ array(17, ), + /* 244 */ array(17, ), + /* 245 */ array(60, ), + /* 246 */ array(17, ), + /* 247 */ array(33, ), + /* 248 */ array(25, ), + /* 249 */ array(26, ), + /* 250 */ array(52, ), /* 251 */ array(), /* 252 */ array(), /* 253 */ array(), @@ -1130,51 +1168,61 @@ static public $yy_action = array( /* 371 */ array(), /* 372 */ array(), /* 373 */ array(), + /* 374 */ array(), + /* 375 */ array(), + /* 376 */ array(), + /* 377 */ array(), + /* 378 */ array(), + /* 379 */ array(), + /* 380 */ array(), + /* 381 */ array(), + /* 382 */ array(), ); static public $yy_default = array( - /* 0 */ 377, 553, 570, 524, 570, 524, 524, 570, 570, 570, - /* 10 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 20 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 30 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 40 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 570, - /* 50 */ 570, 570, 435, 570, 570, 435, 435, 435, 440, 570, - /* 60 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 437, - /* 70 */ 442, 445, 523, 522, 554, 454, 419, 467, 462, 459, - /* 80 */ 466, 555, 458, 457, 440, 556, 463, 470, 471, 482, - /* 90 */ 435, 374, 570, 435, 435, 536, 435, 453, 435, 570, - /* 100 */ 435, 435, 570, 570, 497, 570, 472, 490, 446, 497, - /* 110 */ 472, 570, 570, 570, 570, 570, 570, 570, 570, 490, - /* 120 */ 570, 570, 570, 570, 570, 570, 570, 570, 570, 497, - /* 130 */ 570, 490, 533, 570, 435, 435, 498, 570, 570, 570, - /* 140 */ 570, 570, 570, 570, 570, 515, 570, 570, 570, 570, - /* 150 */ 570, 570, 570, 514, 497, 517, 570, 516, 570, 570, - /* 160 */ 570, 570, 570, 495, 570, 570, 570, 453, 392, 534, - /* 170 */ 537, 497, 569, 569, 570, 526, 525, 511, 497, 497, - /* 180 */ 530, 530, 448, 482, 446, 570, 482, 482, 446, 446, - /* 190 */ 482, 478, 570, 446, 509, 570, 570, 570, 472, 482, - /* 200 */ 570, 570, 446, 468, 570, 509, 570, 509, 570, 480, - /* 210 */ 570, 570, 570, 570, 570, 570, 484, 570, 570, 570, - /* 220 */ 570, 570, 570, 478, 446, 570, 535, 509, 570, 472, - /* 230 */ 443, 570, 570, 570, 519, 469, 416, 509, 417, 542, - /* 240 */ 531, 422, 477, 449, 532, 543, 428, 520, 484, 376, - /* 250 */ 461, 503, 375, 505, 546, 460, 425, 544, 431, 508, - /* 260 */ 545, 504, 506, 502, 432, 529, 538, 464, 539, 384, - /* 270 */ 381, 540, 383, 434, 430, 444, 568, 382, 450, 420, - /* 280 */ 427, 424, 378, 474, 385, 510, 465, 386, 473, 541, - /* 290 */ 429, 380, 421, 476, 426, 379, 475, 547, 398, 406, - /* 300 */ 499, 405, 489, 507, 492, 399, 407, 397, 414, 409, - /* 310 */ 410, 496, 512, 396, 486, 408, 565, 404, 513, 456, - /* 320 */ 400, 455, 528, 433, 527, 401, 418, 483, 501, 403, - /* 330 */ 500, 485, 451, 402, 564, 491, 411, 487, 452, 521, - /* 340 */ 390, 551, 550, 391, 552, 549, 481, 493, 494, 388, - /* 350 */ 479, 518, 389, 548, 415, 393, 423, 558, 559, 557, - /* 360 */ 412, 448, 413, 447, 395, 394, 567, 560, 488, 566, - /* 370 */ 563, 562, 561, 387, + /* 0 */ 386, 565, 582, 536, 582, 536, 536, 582, 582, 582, + /* 10 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 20 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 30 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 40 */ 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 50 */ 582, 582, 582, 582, 582, 582, 444, 444, 444, 444, + /* 60 */ 582, 582, 582, 582, 582, 582, 582, 582, 449, 582, + /* 70 */ 582, 446, 535, 428, 534, 566, 567, 478, 477, 468, + /* 80 */ 465, 449, 568, 455, 469, 474, 473, 470, 454, 451, + /* 90 */ 482, 481, 493, 457, 444, 383, 582, 444, 444, 444, + /* 100 */ 444, 548, 464, 582, 444, 582, 444, 582, 582, 457, + /* 110 */ 509, 457, 457, 582, 509, 509, 502, 457, 483, 502, + /* 120 */ 483, 582, 457, 582, 502, 582, 582, 582, 582, 582, + /* 130 */ 582, 582, 509, 582, 582, 582, 582, 582, 457, 582, + /* 140 */ 582, 582, 582, 582, 582, 480, 461, 484, 444, 444, + /* 150 */ 486, 485, 462, 467, 502, 460, 545, 543, 510, 582, + /* 160 */ 582, 582, 582, 582, 582, 582, 527, 509, 582, 526, + /* 170 */ 529, 582, 582, 582, 582, 582, 582, 582, 582, 582, + /* 180 */ 507, 582, 582, 528, 582, 582, 582, 582, 537, 523, + /* 190 */ 501, 546, 538, 464, 549, 509, 401, 581, 581, 542, + /* 200 */ 509, 509, 542, 459, 493, 582, 493, 493, 493, 493, + /* 210 */ 479, 582, 521, 483, 582, 489, 582, 582, 582, 582, + /* 220 */ 582, 582, 582, 582, 582, 582, 582, 582, 491, 582, + /* 230 */ 582, 582, 489, 521, 582, 582, 521, 582, 547, 582, + /* 240 */ 582, 521, 582, 582, 582, 582, 582, 582, 483, 452, + /* 250 */ 495, 544, 514, 516, 515, 518, 495, 531, 532, 409, + /* 260 */ 395, 431, 394, 425, 396, 430, 398, 456, 397, 426, + /* 270 */ 393, 387, 385, 384, 388, 389, 392, 391, 390, 399, + /* 280 */ 400, 435, 442, 436, 410, 423, 424, 441, 443, 522, + /* 290 */ 408, 407, 404, 403, 402, 405, 453, 429, 580, 406, + /* 300 */ 440, 573, 558, 559, 560, 561, 557, 556, 553, 554, + /* 310 */ 555, 463, 492, 540, 539, 411, 525, 488, 490, 500, + /* 320 */ 504, 552, 551, 508, 503, 459, 466, 499, 496, 497, + /* 330 */ 511, 471, 472, 498, 513, 550, 512, 476, 519, 458, + /* 340 */ 475, 576, 487, 575, 578, 579, 572, 574, 494, 434, + /* 350 */ 570, 571, 433, 562, 530, 505, 506, 427, 533, 564, + /* 360 */ 563, 432, 569, 421, 415, 416, 439, 414, 541, 412, + /* 370 */ 413, 577, 438, 417, 521, 422, 520, 420, 437, 524, + /* 380 */ 418, 419, 517, ); const YYNOCODE = 121; const YYSTACKDEPTH = 100; - const YYNSTATE = 374; - const YYNRULE = 196; + const YYNSTATE = 383; + const YYNRULE = 199; const YYERRORSYMBOL = 78; const YYERRSYMDT = 'yy0'; const YYFALLBACK = 0; @@ -1212,11 +1260,11 @@ static public $yy_action = array( 'PTR', 'LDELIF', 'SPACE', 'LDELFOR', 'SEMICOLON', 'INCDEC', 'TO', 'STEP', 'LDELFOREACH', 'AS', 'APTR', 'SMARTYBLOCKCHILD', - 'LDELSLASH', 'INTEGER', 'COMMA', 'MATH', - 'UNIMATH', 'ANDSYM', 'ISIN', 'ISDIVBY', - 'ISNOTDIVBY', 'ISEVEN', 'ISNOTEVEN', 'ISEVENBY', - 'ISNOTEVENBY', 'ISODD', 'ISNOTODD', 'ISODDBY', - 'ISNOTODDBY', 'INSTANCEOF', 'OPENP', 'CLOSEP', + 'LDELSLASH', 'INTEGER', 'COMMA', 'OPENP', + 'CLOSEP', 'MATH', 'UNIMATH', 'ANDSYM', + 'ISIN', 'ISDIVBY', 'ISNOTDIVBY', 'ISEVEN', + 'ISNOTEVEN', 'ISEVENBY', 'ISNOTEVENBY', 'ISODD', + 'ISNOTODD', 'ISODDBY', 'ISNOTODDBY', 'INSTANCEOF', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'AT', 'HATCH', 'OPENB', 'CLOSEB', 'EQUALS', @@ -1309,130 +1357,133 @@ static public $yy_action = array( /* 69 */ "statements ::= statement", /* 70 */ "statements ::= statements COMMA statement", /* 71 */ "statement ::= DOLLAR varvar EQUAL expr", - /* 72 */ "expr ::= value", - /* 73 */ "expr ::= ternary", - /* 74 */ "expr ::= DOLLAR ID COLON ID", - /* 75 */ "expr ::= expr MATH value", - /* 76 */ "expr ::= expr UNIMATH value", - /* 77 */ "expr ::= expr ANDSYM value", - /* 78 */ "expr ::= array", - /* 79 */ "expr ::= expr modifierlist", - /* 80 */ "expr ::= expr ifcond expr", - /* 81 */ "expr ::= expr ISIN array", - /* 82 */ "expr ::= expr ISIN value", - /* 83 */ "expr ::= expr lop expr", - /* 84 */ "expr ::= expr ISDIVBY expr", - /* 85 */ "expr ::= expr ISNOTDIVBY expr", - /* 86 */ "expr ::= expr ISEVEN", - /* 87 */ "expr ::= expr ISNOTEVEN", - /* 88 */ "expr ::= expr ISEVENBY expr", - /* 89 */ "expr ::= expr ISNOTEVENBY expr", - /* 90 */ "expr ::= expr ISODD", - /* 91 */ "expr ::= expr ISNOTODD", - /* 92 */ "expr ::= expr ISODDBY expr", - /* 93 */ "expr ::= expr ISNOTODDBY expr", - /* 94 */ "expr ::= value INSTANCEOF ID", - /* 95 */ "expr ::= value INSTANCEOF value", - /* 96 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", - /* 97 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", - /* 98 */ "value ::= variable", - /* 99 */ "value ::= UNIMATH value", - /* 100 */ "value ::= NOT value", - /* 101 */ "value ::= TYPECAST value", - /* 102 */ "value ::= variable INCDEC", - /* 103 */ "value ::= HEX", - /* 104 */ "value ::= INTEGER", - /* 105 */ "value ::= INTEGER DOT INTEGER", - /* 106 */ "value ::= INTEGER DOT", - /* 107 */ "value ::= DOT INTEGER", - /* 108 */ "value ::= ID", - /* 109 */ "value ::= function", - /* 110 */ "value ::= OPENP expr CLOSEP", - /* 111 */ "value ::= SINGLEQUOTESTRING", - /* 112 */ "value ::= doublequoted_with_quotes", - /* 113 */ "value ::= ID DOUBLECOLON static_class_access", - /* 114 */ "value ::= varindexed DOUBLECOLON static_class_access", - /* 115 */ "value ::= smartytag", - /* 116 */ "variable ::= varindexed", - /* 117 */ "variable ::= DOLLAR varvar AT ID", - /* 118 */ "variable ::= object", - /* 119 */ "variable ::= HATCH ID HATCH", - /* 120 */ "variable ::= HATCH variable HATCH", - /* 121 */ "varindexed ::= DOLLAR varvar arrayindex", - /* 122 */ "arrayindex ::= arrayindex indexdef", - /* 123 */ "arrayindex ::=", - /* 124 */ "indexdef ::= DOT DOLLAR varvar", - /* 125 */ "indexdef ::= DOT DOLLAR varvar AT ID", - /* 126 */ "indexdef ::= DOT ID", - /* 127 */ "indexdef ::= DOT INTEGER", - /* 128 */ "indexdef ::= DOT LDEL expr RDEL", - /* 129 */ "indexdef ::= OPENB ID CLOSEB", - /* 130 */ "indexdef ::= OPENB ID DOT ID CLOSEB", - /* 131 */ "indexdef ::= OPENB expr CLOSEB", - /* 132 */ "indexdef ::= OPENB CLOSEB", - /* 133 */ "varvar ::= varvarele", - /* 134 */ "varvar ::= varvar varvarele", - /* 135 */ "varvarele ::= ID", - /* 136 */ "varvarele ::= LDEL expr RDEL", - /* 137 */ "object ::= varindexed objectchain", - /* 138 */ "objectchain ::= objectelement", - /* 139 */ "objectchain ::= objectchain objectelement", - /* 140 */ "objectelement ::= PTR ID arrayindex", - /* 141 */ "objectelement ::= PTR DOLLAR varvar arrayindex", - /* 142 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", - /* 143 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", - /* 144 */ "objectelement ::= PTR method", - /* 145 */ "function ::= ID OPENP params CLOSEP", - /* 146 */ "method ::= ID OPENP params CLOSEP", - /* 147 */ "method ::= DOLLAR ID OPENP params CLOSEP", - /* 148 */ "params ::= params COMMA expr", - /* 149 */ "params ::= expr", - /* 150 */ "params ::=", - /* 151 */ "modifierlist ::= modifierlist modifier modparameters", - /* 152 */ "modifierlist ::= modifier modparameters", - /* 153 */ "modifier ::= VERT AT ID", - /* 154 */ "modifier ::= VERT ID", - /* 155 */ "modparameters ::= modparameters modparameter", - /* 156 */ "modparameters ::=", - /* 157 */ "modparameter ::= COLON value", - /* 158 */ "modparameter ::= COLON array", - /* 159 */ "static_class_access ::= method", - /* 160 */ "static_class_access ::= method objectchain", - /* 161 */ "static_class_access ::= ID", - /* 162 */ "static_class_access ::= DOLLAR ID arrayindex", - /* 163 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", - /* 164 */ "ifcond ::= EQUALS", - /* 165 */ "ifcond ::= NOTEQUALS", - /* 166 */ "ifcond ::= GREATERTHAN", - /* 167 */ "ifcond ::= LESSTHAN", - /* 168 */ "ifcond ::= GREATEREQUAL", - /* 169 */ "ifcond ::= LESSEQUAL", - /* 170 */ "ifcond ::= IDENTITY", - /* 171 */ "ifcond ::= NONEIDENTITY", - /* 172 */ "ifcond ::= MOD", - /* 173 */ "lop ::= LAND", - /* 174 */ "lop ::= LOR", - /* 175 */ "lop ::= LXOR", - /* 176 */ "array ::= OPENB arrayelements CLOSEB", - /* 177 */ "arrayelements ::= arrayelement", - /* 178 */ "arrayelements ::= arrayelements COMMA arrayelement", - /* 179 */ "arrayelements ::=", - /* 180 */ "arrayelement ::= value APTR expr", - /* 181 */ "arrayelement ::= ID APTR expr", - /* 182 */ "arrayelement ::= expr", - /* 183 */ "doublequoted_with_quotes ::= QUOTE QUOTE", - /* 184 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", - /* 185 */ "doublequoted ::= doublequoted doublequotedcontent", - /* 186 */ "doublequoted ::= doublequotedcontent", - /* 187 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", - /* 188 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", - /* 189 */ "doublequotedcontent ::= DOLLARID", - /* 190 */ "doublequotedcontent ::= LDEL variable RDEL", - /* 191 */ "doublequotedcontent ::= LDEL expr RDEL", - /* 192 */ "doublequotedcontent ::= smartytag", - /* 193 */ "doublequotedcontent ::= OTHER", - /* 194 */ "optspace ::= SPACE", - /* 195 */ "optspace ::=", + /* 72 */ "statement ::= varindexed EQUAL expr", + /* 73 */ "statement ::= OPENP statement CLOSEP", + /* 74 */ "expr ::= value", + /* 75 */ "expr ::= ternary", + /* 76 */ "expr ::= DOLLAR ID COLON ID", + /* 77 */ "expr ::= expr MATH value", + /* 78 */ "expr ::= expr UNIMATH value", + /* 79 */ "expr ::= expr ANDSYM value", + /* 80 */ "expr ::= array", + /* 81 */ "expr ::= expr modifierlist", + /* 82 */ "expr ::= expr ifcond expr", + /* 83 */ "expr ::= expr ISIN array", + /* 84 */ "expr ::= expr ISIN value", + /* 85 */ "expr ::= expr lop expr", + /* 86 */ "expr ::= expr ISDIVBY expr", + /* 87 */ "expr ::= expr ISNOTDIVBY expr", + /* 88 */ "expr ::= expr ISEVEN", + /* 89 */ "expr ::= expr ISNOTEVEN", + /* 90 */ "expr ::= expr ISEVENBY expr", + /* 91 */ "expr ::= expr ISNOTEVENBY expr", + /* 92 */ "expr ::= expr ISODD", + /* 93 */ "expr ::= expr ISNOTODD", + /* 94 */ "expr ::= expr ISODDBY expr", + /* 95 */ "expr ::= expr ISNOTODDBY expr", + /* 96 */ "expr ::= value INSTANCEOF ID", + /* 97 */ "expr ::= value INSTANCEOF value", + /* 98 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr", + /* 99 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr", + /* 100 */ "value ::= variable", + /* 101 */ "value ::= UNIMATH value", + /* 102 */ "value ::= NOT value", + /* 103 */ "value ::= TYPECAST value", + /* 104 */ "value ::= variable INCDEC", + /* 105 */ "value ::= HEX", + /* 106 */ "value ::= INTEGER", + /* 107 */ "value ::= INTEGER DOT INTEGER", + /* 108 */ "value ::= INTEGER DOT", + /* 109 */ "value ::= DOT INTEGER", + /* 110 */ "value ::= ID", + /* 111 */ "value ::= function", + /* 112 */ "value ::= OPENP expr CLOSEP", + /* 113 */ "value ::= SINGLEQUOTESTRING", + /* 114 */ "value ::= doublequoted_with_quotes", + /* 115 */ "value ::= ID DOUBLECOLON static_class_access", + /* 116 */ "value ::= varindexed DOUBLECOLON static_class_access", + /* 117 */ "value ::= smartytag", + /* 118 */ "value ::= value modifierlist", + /* 119 */ "variable ::= varindexed", + /* 120 */ "variable ::= DOLLAR varvar AT ID", + /* 121 */ "variable ::= object", + /* 122 */ "variable ::= HATCH ID HATCH", + /* 123 */ "variable ::= HATCH variable HATCH", + /* 124 */ "varindexed ::= DOLLAR varvar arrayindex", + /* 125 */ "arrayindex ::= arrayindex indexdef", + /* 126 */ "arrayindex ::=", + /* 127 */ "indexdef ::= DOT DOLLAR varvar", + /* 128 */ "indexdef ::= DOT DOLLAR varvar AT ID", + /* 129 */ "indexdef ::= DOT ID", + /* 130 */ "indexdef ::= DOT INTEGER", + /* 131 */ "indexdef ::= DOT LDEL expr RDEL", + /* 132 */ "indexdef ::= OPENB ID CLOSEB", + /* 133 */ "indexdef ::= OPENB ID DOT ID CLOSEB", + /* 134 */ "indexdef ::= OPENB expr CLOSEB", + /* 135 */ "indexdef ::= OPENB CLOSEB", + /* 136 */ "varvar ::= varvarele", + /* 137 */ "varvar ::= varvar varvarele", + /* 138 */ "varvarele ::= ID", + /* 139 */ "varvarele ::= LDEL expr RDEL", + /* 140 */ "object ::= varindexed objectchain", + /* 141 */ "objectchain ::= objectelement", + /* 142 */ "objectchain ::= objectchain objectelement", + /* 143 */ "objectelement ::= PTR ID arrayindex", + /* 144 */ "objectelement ::= PTR DOLLAR varvar arrayindex", + /* 145 */ "objectelement ::= PTR LDEL expr RDEL arrayindex", + /* 146 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex", + /* 147 */ "objectelement ::= PTR method", + /* 148 */ "function ::= ID OPENP params CLOSEP", + /* 149 */ "method ::= ID OPENP params CLOSEP", + /* 150 */ "method ::= DOLLAR ID OPENP params CLOSEP", + /* 151 */ "params ::= params COMMA expr", + /* 152 */ "params ::= expr", + /* 153 */ "params ::=", + /* 154 */ "modifierlist ::= modifierlist modifier modparameters", + /* 155 */ "modifierlist ::= modifier modparameters", + /* 156 */ "modifier ::= VERT AT ID", + /* 157 */ "modifier ::= VERT ID", + /* 158 */ "modparameters ::= modparameters modparameter", + /* 159 */ "modparameters ::=", + /* 160 */ "modparameter ::= COLON value", + /* 161 */ "modparameter ::= COLON array", + /* 162 */ "static_class_access ::= method", + /* 163 */ "static_class_access ::= method objectchain", + /* 164 */ "static_class_access ::= ID", + /* 165 */ "static_class_access ::= DOLLAR ID arrayindex", + /* 166 */ "static_class_access ::= DOLLAR ID arrayindex objectchain", + /* 167 */ "ifcond ::= EQUALS", + /* 168 */ "ifcond ::= NOTEQUALS", + /* 169 */ "ifcond ::= GREATERTHAN", + /* 170 */ "ifcond ::= LESSTHAN", + /* 171 */ "ifcond ::= GREATEREQUAL", + /* 172 */ "ifcond ::= LESSEQUAL", + /* 173 */ "ifcond ::= IDENTITY", + /* 174 */ "ifcond ::= NONEIDENTITY", + /* 175 */ "ifcond ::= MOD", + /* 176 */ "lop ::= LAND", + /* 177 */ "lop ::= LOR", + /* 178 */ "lop ::= LXOR", + /* 179 */ "array ::= OPENB arrayelements CLOSEB", + /* 180 */ "arrayelements ::= arrayelement", + /* 181 */ "arrayelements ::= arrayelements COMMA arrayelement", + /* 182 */ "arrayelements ::=", + /* 183 */ "arrayelement ::= value APTR expr", + /* 184 */ "arrayelement ::= ID APTR expr", + /* 185 */ "arrayelement ::= expr", + /* 186 */ "doublequoted_with_quotes ::= QUOTE QUOTE", + /* 187 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE", + /* 188 */ "doublequoted ::= doublequoted doublequotedcontent", + /* 189 */ "doublequoted ::= doublequotedcontent", + /* 190 */ "doublequotedcontent ::= BACKTICK variable BACKTICK", + /* 191 */ "doublequotedcontent ::= BACKTICK expr BACKTICK", + /* 192 */ "doublequotedcontent ::= DOLLARID", + /* 193 */ "doublequotedcontent ::= LDEL variable RDEL", + /* 194 */ "doublequotedcontent ::= LDEL expr RDEL", + /* 195 */ "doublequotedcontent ::= smartytag", + /* 196 */ "doublequotedcontent ::= OTHER", + /* 197 */ "optspace ::= SPACE", + /* 198 */ "optspace ::=", ); function tokenName($tokenType) @@ -1692,7 +1743,7 @@ static public $yy_action = array( $this->internalError = true; $this->compiler->trigger_template_error("Stack overflow in template parser"); -#line 1691 "smarty_internal_templateparser.php" +#line 1742 "smarty_internal_templateparser.php" return; } $yytos = new TP_yyStackEntry; @@ -1785,6 +1836,8 @@ static public $yy_action = array( array( 'lhs' => 93, 'rhs' => 1 ), array( 'lhs' => 93, 'rhs' => 3 ), array( 'lhs' => 92, 'rhs' => 4 ), + array( 'lhs' => 92, 'rhs' => 3 ), + array( 'lhs' => 92, 'rhs' => 3 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 1 ), array( 'lhs' => 89, 'rhs' => 4 ), @@ -1829,6 +1882,7 @@ static public $yy_action = array( array( 'lhs' => 86, 'rhs' => 3 ), array( 'lhs' => 86, 'rhs' => 3 ), array( 'lhs' => 86, 'rhs' => 1 ), + array( 'lhs' => 86, 'rhs' => 2 ), array( 'lhs' => 88, 'rhs' => 1 ), array( 'lhs' => 88, 'rhs' => 4 ), array( 'lhs' => 88, 'rhs' => 1 ), @@ -1930,23 +1984,23 @@ static public $yy_action = array( 18 => 15, 16 => 16, 17 => 17, - 99 => 17, 101 => 17, - 102 => 17, - 160 => 17, + 103 => 17, + 104 => 17, + 163 => 17, 19 => 19, 20 => 19, - 72 => 19, - 73 => 19, - 98 => 19, - 103 => 19, - 104 => 19, - 109 => 19, + 74 => 19, + 75 => 19, + 100 => 19, + 105 => 19, + 106 => 19, 111 => 19, - 112 => 19, - 118 => 19, - 159 => 19, - 177 => 19, + 113 => 19, + 114 => 19, + 121 => 19, + 162 => 19, + 180 => 19, 21 => 21, 22 => 21, 23 => 23, @@ -1975,8 +2029,8 @@ static public $yy_action = array( 46 => 46, 66 => 46, 67 => 46, - 161 => 46, - 182 => 46, + 164 => 46, + 185 => 46, 47 => 47, 48 => 48, 49 => 49, @@ -1992,10 +2046,10 @@ static public $yy_action = array( 59 => 59, 60 => 60, 69 => 60, - 149 => 60, - 153 => 60, + 152 => 60, + 156 => 60, 61 => 61, - 150 => 61, + 153 => 61, 62 => 62, 63 => 63, 64 => 63, @@ -2003,46 +2057,46 @@ static public $yy_action = array( 68 => 68, 70 => 70, 71 => 71, - 74 => 74, - 75 => 75, - 76 => 75, - 77 => 75, - 78 => 78, - 133 => 78, - 194 => 78, - 79 => 79, + 72 => 71, + 73 => 73, + 76 => 76, + 77 => 77, + 78 => 77, + 79 => 77, 80 => 80, - 83 => 80, - 94 => 80, + 136 => 80, + 197 => 80, 81 => 81, + 118 => 81, 82 => 82, + 85 => 82, + 96 => 82, + 83 => 83, 84 => 84, - 85 => 85, 86 => 86, - 91 => 86, 87 => 87, - 90 => 87, 88 => 88, 93 => 88, 89 => 89, 92 => 89, - 95 => 95, - 96 => 96, + 90 => 90, + 95 => 90, + 91 => 91, + 94 => 91, 97 => 97, - 100 => 100, - 105 => 105, - 106 => 106, + 98 => 98, + 99 => 99, + 102 => 102, 107 => 107, 108 => 108, + 109 => 109, 110 => 110, - 113 => 113, - 114 => 114, + 112 => 112, 115 => 115, 116 => 116, 117 => 117, 119 => 119, 120 => 120, - 121 => 121, 122 => 122, 123 => 123, 124 => 124, @@ -2050,13 +2104,13 @@ static public $yy_action = array( 126 => 126, 127 => 127, 128 => 128, - 131 => 128, 129 => 129, 130 => 130, + 131 => 131, + 134 => 131, 132 => 132, - 134 => 134, + 133 => 133, 135 => 135, - 136 => 136, 137 => 137, 138 => 138, 139 => 139, @@ -2069,16 +2123,16 @@ static public $yy_action = array( 146 => 146, 147 => 147, 148 => 148, + 149 => 149, + 150 => 150, 151 => 151, - 152 => 152, 154 => 154, 155 => 155, - 156 => 156, 157 => 157, - 158 => 157, - 162 => 162, - 163 => 163, - 164 => 164, + 158 => 158, + 159 => 159, + 160 => 160, + 161 => 160, 165 => 165, 166 => 166, 167 => 167, @@ -2091,29 +2145,32 @@ static public $yy_action = array( 174 => 174, 175 => 175, 176 => 176, + 177 => 177, 178 => 178, 179 => 179, - 180 => 180, 181 => 181, + 182 => 182, 183 => 183, 184 => 184, - 185 => 185, 186 => 186, 187 => 187, - 188 => 187, - 190 => 187, + 188 => 188, 189 => 189, - 191 => 191, + 190 => 190, + 191 => 190, + 193 => 190, 192 => 192, - 193 => 193, + 194 => 194, 195 => 195, + 196 => 196, + 198 => 198, ); #line 95 "smarty_internal_templateparser.y" function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); } -#line 2109 "smarty_internal_templateparser.php" +#line 2166 "smarty_internal_templateparser.php" #line 101 "smarty_internal_templateparser.y" function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); } -#line 2112 "smarty_internal_templateparser.php" +#line 2169 "smarty_internal_templateparser.php" #line 113 "smarty_internal_templateparser.y" function yy_r4(){ if ($this->compiler->has_code) { @@ -2125,13 +2182,13 @@ static public $yy_action = array( $this->compiler->has_variable_string = false; $this->block_nesting_level = count($this->compiler->_tag_stack); } -#line 2124 "smarty_internal_templateparser.php" +#line 2181 "smarty_internal_templateparser.php" #line 125 "smarty_internal_templateparser.y" function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); } -#line 2127 "smarty_internal_templateparser.php" +#line 2184 "smarty_internal_templateparser.php" #line 128 "smarty_internal_templateparser.y" function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2130 "smarty_internal_templateparser.php" +#line 2187 "smarty_internal_templateparser.php" #line 131 "smarty_internal_templateparser.y" function yy_r7(){ if ($this->php_handling == Smarty::PHP_PASSTHRU) { @@ -2144,7 +2201,7 @@ static public $yy_action = array( $this->_retvalue = new _smarty_text($this, ''); } } -#line 2143 "smarty_internal_templateparser.php" +#line 2200 "smarty_internal_templateparser.php" #line 143 "smarty_internal_templateparser.y" function yy_r8(){if ($this->is_xml) { $this->compiler->tag_nocache = true; @@ -2160,7 +2217,7 @@ static public $yy_action = array( $this->_retvalue = new _smarty_text($this, ''); } } -#line 2159 "smarty_internal_templateparser.php" +#line 2216 "smarty_internal_templateparser.php" #line 159 "smarty_internal_templateparser.y" function yy_r9(){ if ($this->php_handling == Smarty::PHP_PASSTHRU) { @@ -2181,7 +2238,7 @@ static public $yy_action = array( } } } -#line 2180 "smarty_internal_templateparser.php" +#line 2237 "smarty_internal_templateparser.php" #line 180 "smarty_internal_templateparser.y" function yy_r10(){ if ($this->php_handling == Smarty::PHP_PASSTHRU) { @@ -2202,7 +2259,7 @@ static public $yy_action = array( } } } -#line 2201 "smarty_internal_templateparser.php" +#line 2258 "smarty_internal_templateparser.php" #line 200 "smarty_internal_templateparser.y" function yy_r11(){if ($this->lex->strip) { $this->_retvalue = new _smarty_text($this, preg_replace('![\$this->yystack[$this->yyidx + 0]->minor ]*[\r\n]+[\$this->yystack[$this->yyidx + 0]->minor ]*!', '', self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor))); @@ -2210,10 +2267,10 @@ static public $yy_action = array( $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor)); } } -#line 2209 "smarty_internal_templateparser.php" +#line 2266 "smarty_internal_templateparser.php" #line 208 "smarty_internal_templateparser.y" function yy_r12(){ $this->compiler->tag_nocache = true; $this->is_xml = true; $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("", $this->compiler, true)); } -#line 2212 "smarty_internal_templateparser.php" +#line 2269 "smarty_internal_templateparser.php" #line 211 "smarty_internal_templateparser.y" function yy_r13(){if ($this->lex->strip) { $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor)); @@ -2221,139 +2278,139 @@ static public $yy_action = array( $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); } } -#line 2220 "smarty_internal_templateparser.php" +#line 2277 "smarty_internal_templateparser.php" #line 217 "smarty_internal_templateparser.y" function yy_r14(){ $this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2225 "smarty_internal_templateparser.php" +#line 2282 "smarty_internal_templateparser.php" #line 222 "smarty_internal_templateparser.y" function yy_r15(){ $this->_retvalue = ''; } -#line 2228 "smarty_internal_templateparser.php" +#line 2285 "smarty_internal_templateparser.php" #line 223 "smarty_internal_templateparser.y" function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -#line 2231 "smarty_internal_templateparser.php" +#line 2288 "smarty_internal_templateparser.php" #line 225 "smarty_internal_templateparser.y" function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2234 "smarty_internal_templateparser.php" +#line 2291 "smarty_internal_templateparser.php" #line 228 "smarty_internal_templateparser.y" function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2237 "smarty_internal_templateparser.php" +#line 2294 "smarty_internal_templateparser.php" #line 230 "smarty_internal_templateparser.y" function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 2240 "smarty_internal_templateparser.php" +#line 2297 "smarty_internal_templateparser.php" #line 232 "smarty_internal_templateparser.y" function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); } -#line 2243 "smarty_internal_templateparser.php" +#line 2300 "smarty_internal_templateparser.php" #line 233 "smarty_internal_templateparser.y" function yy_r24(){ $this->_retvalue = '<%'; } -#line 2246 "smarty_internal_templateparser.php" +#line 2303 "smarty_internal_templateparser.php" #line 234 "smarty_internal_templateparser.y" function yy_r25(){ $this->_retvalue = '%>'; } -#line 2249 "smarty_internal_templateparser.php" +#line 2306 "smarty_internal_templateparser.php" #line 242 "smarty_internal_templateparser.y" function yy_r26(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2252 "smarty_internal_templateparser.php" +#line 2309 "smarty_internal_templateparser.php" #line 243 "smarty_internal_templateparser.y" function yy_r27(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2255 "smarty_internal_templateparser.php" +#line 2312 "smarty_internal_templateparser.php" #line 245 "smarty_internal_templateparser.y" function yy_r29(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -3]->minor,'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2258 "smarty_internal_templateparser.php" +#line 2315 "smarty_internal_templateparser.php" #line 253 "smarty_internal_templateparser.y" function yy_r31(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); } -#line 2261 "smarty_internal_templateparser.php" +#line 2318 "smarty_internal_templateparser.php" #line 255 "smarty_internal_templateparser.y" function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -4]->minor."'")),$this->yystack[$this->yyidx + -1]->minor)); } -#line 2264 "smarty_internal_templateparser.php" +#line 2321 "smarty_internal_templateparser.php" #line 256 "smarty_internal_templateparser.y" function yy_r34(){ $this->_retvalue = $this->compiler->compileTag('assign',array_merge(array(array('value'=>$this->yystack[$this->yyidx + -2]->minor),array('var'=>$this->yystack[$this->yyidx + -4]->minor['var'])),$this->yystack[$this->yyidx + -1]->minor),array('smarty_internal_index'=>$this->yystack[$this->yyidx + -4]->minor['smarty_internal_index'])); } -#line 2267 "smarty_internal_templateparser.php" +#line 2324 "smarty_internal_templateparser.php" #line 258 "smarty_internal_templateparser.y" function yy_r35(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); } -#line 2270 "smarty_internal_templateparser.php" +#line 2327 "smarty_internal_templateparser.php" #line 259 "smarty_internal_templateparser.y" function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); } -#line 2273 "smarty_internal_templateparser.php" +#line 2330 "smarty_internal_templateparser.php" #line 261 "smarty_internal_templateparser.y" function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2276 "smarty_internal_templateparser.php" +#line 2333 "smarty_internal_templateparser.php" #line 263 "smarty_internal_templateparser.y" function yy_r38(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; } -#line 2281 "smarty_internal_templateparser.php" +#line 2338 "smarty_internal_templateparser.php" #line 267 "smarty_internal_templateparser.y" function yy_r39(){ $this->_retvalue = ''.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>'; } -#line 2286 "smarty_internal_templateparser.php" +#line 2343 "smarty_internal_templateparser.php" #line 271 "smarty_internal_templateparser.y" function yy_r40(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,array(),array('if condition'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2289 "smarty_internal_templateparser.php" +#line 2346 "smarty_internal_templateparser.php" #line 272 "smarty_internal_templateparser.y" function yy_r41(){ $tag = trim(substr($this->yystack[$this->yyidx + -4]->minor,$this->lex->ldel_length)); $this->_retvalue = $this->compiler->compileTag(($tag == 'else if')? 'elseif' : $tag,$this->yystack[$this->yyidx + -1]->minor,array('if condition'=>$this->yystack[$this->yyidx + -2]->minor)); } -#line 2292 "smarty_internal_templateparser.php" +#line 2349 "smarty_internal_templateparser.php" #line 276 "smarty_internal_templateparser.y" function yy_r44(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -10]->minor),array('ifexp'=>$this->yystack[$this->yyidx + -7]->minor),array('var'=>$this->yystack[$this->yyidx + -3]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),1); } -#line 2296 "smarty_internal_templateparser.php" +#line 2353 "smarty_internal_templateparser.php" #line 279 "smarty_internal_templateparser.y" function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; } -#line 2299 "smarty_internal_templateparser.php" +#line 2356 "smarty_internal_templateparser.php" #line 280 "smarty_internal_templateparser.y" function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2302 "smarty_internal_templateparser.php" +#line 2359 "smarty_internal_templateparser.php" #line 281 "smarty_internal_templateparser.y" function yy_r47(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -4]->minor),array('to'=>$this->yystack[$this->yyidx + -2]->minor))),0); } -#line 2305 "smarty_internal_templateparser.php" +#line 2362 "smarty_internal_templateparser.php" #line 282 "smarty_internal_templateparser.y" function yy_r48(){ $this->_retvalue = $this->compiler->compileTag('for',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('start'=>$this->yystack[$this->yyidx + -6]->minor),array('to'=>$this->yystack[$this->yyidx + -4]->minor),array('step'=>$this->yystack[$this->yyidx + -2]->minor))),0); } -#line 2308 "smarty_internal_templateparser.php" +#line 2365 "smarty_internal_templateparser.php" #line 284 "smarty_internal_templateparser.y" function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); } -#line 2311 "smarty_internal_templateparser.php" +#line 2368 "smarty_internal_templateparser.php" #line 286 "smarty_internal_templateparser.y" function yy_r50(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); } -#line 2315 "smarty_internal_templateparser.php" +#line 2372 "smarty_internal_templateparser.php" #line 288 "smarty_internal_templateparser.y" function yy_r51(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); } -#line 2319 "smarty_internal_templateparser.php" +#line 2376 "smarty_internal_templateparser.php" #line 290 "smarty_internal_templateparser.y" function yy_r52(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -5]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor)))); } -#line 2323 "smarty_internal_templateparser.php" +#line 2380 "smarty_internal_templateparser.php" #line 292 "smarty_internal_templateparser.y" function yy_r53(){ $this->_retvalue = $this->compiler->compileTag('foreach',array_merge($this->yystack[$this->yyidx + -1]->minor,array(array('from'=>$this->yystack[$this->yyidx + -8]->minor),array('item'=>$this->yystack[$this->yyidx + -2]->minor),array('key'=>$this->yystack[$this->yyidx + -5]->minor)))); } -#line 2327 "smarty_internal_templateparser.php" +#line 2384 "smarty_internal_templateparser.php" #line 296 "smarty_internal_templateparser.y" function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); } -#line 2330 "smarty_internal_templateparser.php" +#line 2387 "smarty_internal_templateparser.php" #line 300 "smarty_internal_templateparser.y" function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); } -#line 2333 "smarty_internal_templateparser.php" +#line 2390 "smarty_internal_templateparser.php" #line 302 "smarty_internal_templateparser.y" function yy_r56(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2337 "smarty_internal_templateparser.php" +#line 2394 "smarty_internal_templateparser.php" #line 305 "smarty_internal_templateparser.y" function yy_r57(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2340 "smarty_internal_templateparser.php" +#line 2397 "smarty_internal_templateparser.php" #line 306 "smarty_internal_templateparser.y" function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -4]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -2]->minor, 'modifier_list'=>$this->yystack[$this->yyidx + -1]->minor)); } -#line 2343 "smarty_internal_templateparser.php" +#line 2400 "smarty_internal_templateparser.php" #line 312 "smarty_internal_templateparser.y" function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; } -#line 2346 "smarty_internal_templateparser.php" +#line 2403 "smarty_internal_templateparser.php" #line 314 "smarty_internal_templateparser.y" function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2349 "smarty_internal_templateparser.php" +#line 2406 "smarty_internal_templateparser.php" #line 316 "smarty_internal_templateparser.y" function yy_r61(){ $this->_retvalue = array(); } -#line 2352 "smarty_internal_templateparser.php" +#line 2409 "smarty_internal_templateparser.php" #line 319 "smarty_internal_templateparser.y" function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true'); @@ -2363,84 +2420,87 @@ static public $yy_action = array( $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'null'); } else $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>"'".$this->yystack[$this->yyidx + 0]->minor."'"); } -#line 2362 "smarty_internal_templateparser.php" +#line 2419 "smarty_internal_templateparser.php" #line 327 "smarty_internal_templateparser.y" function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2365 "smarty_internal_templateparser.php" +#line 2422 "smarty_internal_templateparser.php" #line 329 "smarty_internal_templateparser.y" function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; } -#line 2368 "smarty_internal_templateparser.php" +#line 2425 "smarty_internal_templateparser.php" #line 332 "smarty_internal_templateparser.y" function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2371 "smarty_internal_templateparser.php" +#line 2428 "smarty_internal_templateparser.php" #line 339 "smarty_internal_templateparser.y" function yy_r70(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; } -#line 2374 "smarty_internal_templateparser.php" +#line 2431 "smarty_internal_templateparser.php" #line 341 "smarty_internal_templateparser.y" function yy_r71(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2377 "smarty_internal_templateparser.php" -#line 352 "smarty_internal_templateparser.y" - function yy_r74(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } -#line 2380 "smarty_internal_templateparser.php" +#line 2434 "smarty_internal_templateparser.php" +#line 343 "smarty_internal_templateparser.y" + function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } +#line 2437 "smarty_internal_templateparser.php" #line 354 "smarty_internal_templateparser.y" - function yy_r75(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } -#line 2383 "smarty_internal_templateparser.php" -#line 360 "smarty_internal_templateparser.y" - function yy_r78(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2386 "smarty_internal_templateparser.php" -#line 363 "smarty_internal_templateparser.y" - function yy_r79(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); } -#line 2389 "smarty_internal_templateparser.php" -#line 367 "smarty_internal_templateparser.y" - function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2392 "smarty_internal_templateparser.php" -#line 368 "smarty_internal_templateparser.y" - function yy_r81(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2395 "smarty_internal_templateparser.php" + function yy_r76(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; } +#line 2440 "smarty_internal_templateparser.php" +#line 356 "smarty_internal_templateparser.y" + function yy_r77(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; } +#line 2443 "smarty_internal_templateparser.php" +#line 362 "smarty_internal_templateparser.y" + function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2446 "smarty_internal_templateparser.php" +#line 365 "smarty_internal_templateparser.y" + function yy_r81(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); } +#line 2449 "smarty_internal_templateparser.php" #line 369 "smarty_internal_templateparser.y" - function yy_r82(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2398 "smarty_internal_templateparser.php" + function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2452 "smarty_internal_templateparser.php" +#line 370 "smarty_internal_templateparser.y" + function yy_r83(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2455 "smarty_internal_templateparser.php" #line 371 "smarty_internal_templateparser.y" - function yy_r84(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2401 "smarty_internal_templateparser.php" -#line 372 "smarty_internal_templateparser.y" - function yy_r85(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2404 "smarty_internal_templateparser.php" + function yy_r84(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2458 "smarty_internal_templateparser.php" #line 373 "smarty_internal_templateparser.y" - function yy_r86(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2407 "smarty_internal_templateparser.php" + function yy_r86(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2461 "smarty_internal_templateparser.php" #line 374 "smarty_internal_templateparser.y" - function yy_r87(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2410 "smarty_internal_templateparser.php" + function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2464 "smarty_internal_templateparser.php" #line 375 "smarty_internal_templateparser.y" - function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2413 "smarty_internal_templateparser.php" + function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2467 "smarty_internal_templateparser.php" #line 376 "smarty_internal_templateparser.y" - function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } -#line 2416 "smarty_internal_templateparser.php" -#line 382 "smarty_internal_templateparser.y" - function yy_r95(){$this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; } -#line 2419 "smarty_internal_templateparser.php" -#line 388 "smarty_internal_templateparser.y" - function yy_r96(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; } -#line 2422 "smarty_internal_templateparser.php" -#line 389 "smarty_internal_templateparser.y" - function yy_r97(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } -#line 2425 "smarty_internal_templateparser.php" -#line 396 "smarty_internal_templateparser.y" - function yy_r100(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2428 "smarty_internal_templateparser.php" -#line 402 "smarty_internal_templateparser.y" - function yy_r105(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2431 "smarty_internal_templateparser.php" -#line 403 "smarty_internal_templateparser.y" - function yy_r106(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; } -#line 2434 "smarty_internal_templateparser.php" + function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2470 "smarty_internal_templateparser.php" +#line 377 "smarty_internal_templateparser.y" + function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2473 "smarty_internal_templateparser.php" +#line 378 "smarty_internal_templateparser.y" + function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; } +#line 2476 "smarty_internal_templateparser.php" +#line 384 "smarty_internal_templateparser.y" + function yy_r97(){$this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'='.$this->yystack[$this->yyidx + 0]->minor.';?>'; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.'$_tmp'.$this->prefix_number; } +#line 2479 "smarty_internal_templateparser.php" +#line 390 "smarty_internal_templateparser.y" + function yy_r98(){ $this->_retvalue = $this->yystack[$this->yyidx + -6]->minor.' ? $_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'\')->value : '.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + -2]->minor', null, true, false)->nocache; } +#line 2482 "smarty_internal_templateparser.php" +#line 391 "smarty_internal_templateparser.y" + function yy_r99(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; } +#line 2485 "smarty_internal_templateparser.php" +#line 398 "smarty_internal_templateparser.y" + function yy_r102(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2488 "smarty_internal_templateparser.php" #line 404 "smarty_internal_templateparser.y" - function yy_r107(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2437 "smarty_internal_templateparser.php" + function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2491 "smarty_internal_templateparser.php" +#line 405 "smarty_internal_templateparser.y" + function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; } +#line 2494 "smarty_internal_templateparser.php" #line 406 "smarty_internal_templateparser.y" - function yy_r108(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { + function yy_r109(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2497 "smarty_internal_templateparser.php" +#line 408 "smarty_internal_templateparser.y" + function yy_r110(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) { $this->_retvalue = 'true'; } elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) { $this->_retvalue = 'false'; @@ -2448,12 +2508,12 @@ static public $yy_action = array( $this->_retvalue = 'null'; } else $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; } -#line 2447 "smarty_internal_templateparser.php" -#line 417 "smarty_internal_templateparser.y" - function yy_r110(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } -#line 2450 "smarty_internal_templateparser.php" -#line 423 "smarty_internal_templateparser.y" - function yy_r113(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) { +#line 2507 "smarty_internal_templateparser.php" +#line 419 "smarty_internal_templateparser.y" + function yy_r112(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; } +#line 2510 "smarty_internal_templateparser.php" +#line 425 "smarty_internal_templateparser.y" + function yy_r115(){if (!$this->security || isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + -2]->minor]) || $this->smarty->security_policy->isTrustedStaticClass($this->yystack[$this->yyidx + -2]->minor, $this->compiler)) { 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; } else { @@ -2463,16 +2523,16 @@ static public $yy_action = array( $this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting"); } } -#line 2462 "smarty_internal_templateparser.php" -#line 433 "smarty_internal_templateparser.y" - function yy_r114(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else { +#line 2522 "smarty_internal_templateparser.php" +#line 435 "smarty_internal_templateparser.y" + function yy_r116(){ if ($this->yystack[$this->yyidx + -2]->minor['var'] == '\'smarty\'') { $this->_retvalue = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index']).'::'.$this->yystack[$this->yyidx + 0]->minor;} else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -2]->minor['smarty_internal_index'].'::'.$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor['var'],"'"), null, true, false)->nocache;} } -#line 2466 "smarty_internal_templateparser.php" -#line 436 "smarty_internal_templateparser.y" - function yy_r115(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } -#line 2469 "smarty_internal_templateparser.php" -#line 445 "smarty_internal_templateparser.y" - function yy_r116(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') { +#line 2526 "smarty_internal_templateparser.php" +#line 438 "smarty_internal_templateparser.y" + function yy_r117(){ $this->prefix_number++; $this->compiler->prefix_code[] = ''.$this->yystack[$this->yyidx + 0]->minor.'prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; } +#line 2529 "smarty_internal_templateparser.php" +#line 448 "smarty_internal_templateparser.y" + function yy_r119(){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 { @@ -2487,106 +2547,106 @@ static public $yy_action = array( $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache; } } -#line 2486 "smarty_internal_templateparser.php" -#line 461 "smarty_internal_templateparser.y" - function yy_r117(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) { +#line 2546 "smarty_internal_templateparser.php" +#line 464 "smarty_internal_templateparser.y" + function yy_r120(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) { $this->_retvalue = '$_smarty_tpl->tpl_vars['. $this->yystack[$this->yyidx + -2]->minor .']->'.$this->yystack[$this->yyidx + 0]->minor; } else { $this->_retvalue = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor; } $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } -#line 2494 "smarty_internal_templateparser.php" -#line 470 "smarty_internal_templateparser.y" - function yy_r119(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } -#line 2497 "smarty_internal_templateparser.php" -#line 471 "smarty_internal_templateparser.y" - function yy_r120(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } -#line 2500 "smarty_internal_templateparser.php" +#line 2554 "smarty_internal_templateparser.php" +#line 473 "smarty_internal_templateparser.y" + function yy_r122(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; } +#line 2557 "smarty_internal_templateparser.php" #line 474 "smarty_internal_templateparser.y" - function yy_r121(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } -#line 2503 "smarty_internal_templateparser.php" -#line 480 "smarty_internal_templateparser.y" - function yy_r122(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2506 "smarty_internal_templateparser.php" -#line 482 "smarty_internal_templateparser.y" - function yy_r123(){return; } -#line 2509 "smarty_internal_templateparser.php" -#line 486 "smarty_internal_templateparser.y" - function yy_r124(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; } -#line 2512 "smarty_internal_templateparser.php" -#line 487 "smarty_internal_templateparser.y" - function yy_r125(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } -#line 2515 "smarty_internal_templateparser.php" -#line 488 "smarty_internal_templateparser.y" - function yy_r126(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } -#line 2518 "smarty_internal_templateparser.php" + function yy_r123(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; } +#line 2560 "smarty_internal_templateparser.php" +#line 477 "smarty_internal_templateparser.y" + function yy_r124(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); } +#line 2563 "smarty_internal_templateparser.php" +#line 483 "smarty_internal_templateparser.y" + function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2566 "smarty_internal_templateparser.php" +#line 485 "smarty_internal_templateparser.y" + function yy_r126(){return; } +#line 2569 "smarty_internal_templateparser.php" #line 489 "smarty_internal_templateparser.y" - function yy_r127(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } -#line 2521 "smarty_internal_templateparser.php" + function yy_r127(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + 0]->minor .')->value]'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable('$this->yystack[$this->yyidx + 0]->minor', null, true, false)->nocache; } +#line 2572 "smarty_internal_templateparser.php" #line 490 "smarty_internal_templateparser.y" - function yy_r128(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } -#line 2524 "smarty_internal_templateparser.php" + function yy_r128(){ $this->_retvalue = '[$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -2]->minor .')->'.$this->yystack[$this->yyidx + 0]->minor.']'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -2]->minor,"'"), null, true, false)->nocache; } +#line 2575 "smarty_internal_templateparser.php" +#line 491 "smarty_internal_templateparser.y" + function yy_r129(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; } +#line 2578 "smarty_internal_templateparser.php" #line 492 "smarty_internal_templateparser.y" - function yy_r129(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } -#line 2527 "smarty_internal_templateparser.php" + function yy_r130(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; } +#line 2581 "smarty_internal_templateparser.php" #line 493 "smarty_internal_templateparser.y" - function yy_r130(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } -#line 2530 "smarty_internal_templateparser.php" -#line 497 "smarty_internal_templateparser.y" - function yy_r132(){$this->_retvalue = '[]'; } -#line 2533 "smarty_internal_templateparser.php" -#line 505 "smarty_internal_templateparser.y" - function yy_r134(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2536 "smarty_internal_templateparser.php" -#line 507 "smarty_internal_templateparser.y" - function yy_r135(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } -#line 2539 "smarty_internal_templateparser.php" -#line 509 "smarty_internal_templateparser.y" - function yy_r136(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2542 "smarty_internal_templateparser.php" -#line 514 "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 = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} } -#line 2546 "smarty_internal_templateparser.php" + function yy_r131(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; } +#line 2584 "smarty_internal_templateparser.php" +#line 495 "smarty_internal_templateparser.y" + function yy_r132(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; } +#line 2587 "smarty_internal_templateparser.php" +#line 496 "smarty_internal_templateparser.y" + function yy_r133(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; } +#line 2590 "smarty_internal_templateparser.php" +#line 500 "smarty_internal_templateparser.y" + function yy_r135(){$this->_retvalue = '[]'; } +#line 2593 "smarty_internal_templateparser.php" +#line 508 "smarty_internal_templateparser.y" + function yy_r137(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2596 "smarty_internal_templateparser.php" +#line 510 "smarty_internal_templateparser.y" + function yy_r138(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; } +#line 2599 "smarty_internal_templateparser.php" +#line 512 "smarty_internal_templateparser.y" + function yy_r139(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2602 "smarty_internal_templateparser.php" #line 517 "smarty_internal_templateparser.y" - function yy_r138(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } -#line 2549 "smarty_internal_templateparser.php" -#line 519 "smarty_internal_templateparser.y" - function yy_r139(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2552 "smarty_internal_templateparser.php" -#line 521 "smarty_internal_templateparser.y" - function yy_r140(){if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') { + function yy_r140(){ 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 = '$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor['var'] .')->value'.$this->yystack[$this->yyidx + -1]->minor['smarty_internal_index'].$this->yystack[$this->yyidx + 0]->minor; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor['var'],"'"), null, true, false)->nocache;} } +#line 2606 "smarty_internal_templateparser.php" +#line 520 "smarty_internal_templateparser.y" + function yy_r141(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; } +#line 2609 "smarty_internal_templateparser.php" +#line 522 "smarty_internal_templateparser.y" + function yy_r142(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2612 "smarty_internal_templateparser.php" +#line 524 "smarty_internal_templateparser.y" + function yy_r143(){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 2559 "smarty_internal_templateparser.php" -#line 526 "smarty_internal_templateparser.y" - function yy_r141(){if ($this->security) { +#line 2619 "smarty_internal_templateparser.php" +#line 529 "smarty_internal_templateparser.y" + function yy_r144(){if ($this->security) { $this->compiler->trigger_template_error (self::Err2); } $this->_retvalue = '->{$_smarty_tpl->getVariable('. $this->yystack[$this->yyidx + -1]->minor .')->value'.$this->yystack[$this->yyidx + 0]->minor.'}'; $this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + -1]->minor,"'"), null, true, false)->nocache; } -#line 2566 "smarty_internal_templateparser.php" -#line 531 "smarty_internal_templateparser.y" - function yy_r142(){if ($this->security) { +#line 2626 "smarty_internal_templateparser.php" +#line 534 "smarty_internal_templateparser.y" + function yy_r145(){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 2573 "smarty_internal_templateparser.php" -#line 536 "smarty_internal_templateparser.y" - function yy_r143(){if ($this->security) { +#line 2633 "smarty_internal_templateparser.php" +#line 539 "smarty_internal_templateparser.y" + function yy_r146(){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 2580 "smarty_internal_templateparser.php" -#line 542 "smarty_internal_templateparser.y" - function yy_r144(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2583 "smarty_internal_templateparser.php" -#line 548 "smarty_internal_templateparser.y" - function yy_r145(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { +#line 2640 "smarty_internal_templateparser.php" +#line 545 "smarty_internal_templateparser.y" + function yy_r147(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2643 "smarty_internal_templateparser.php" +#line 551 "smarty_internal_templateparser.y" + function yy_r148(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) { if (strcasecmp($this->yystack[$this->yyidx + -3]->minor,'isset') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'empty') === 0 || strcasecmp($this->yystack[$this->yyidx + -3]->minor,'array') === 0 || is_callable($this->yystack[$this->yyidx + -3]->minor)) { $func_name = strtolower($this->yystack[$this->yyidx + -3]->minor); if ($func_name == 'isset') { @@ -2599,7 +2659,11 @@ static public $yy_action = array( if (count($this->yystack[$this->yyidx + -1]->minor) != 1) { $this->compiler->trigger_template_error ('Illegal number of paramer in "empty()"'); } - $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')'; + if ($func_name == 'empty') { + $this->_retvalue = $func_name.'('.str_replace("')->value","',null,true,false)->value",$this->yystack[$this->yyidx + -1]->minor[0]).')'; + } else { + $this->_retvalue = $func_name.'('.$this->yystack[$this->yyidx + -1]->minor[0].')'; + } } else { $this->_retvalue = $this->yystack[$this->yyidx + -3]->minor . "(". implode(',',$this->yystack[$this->yyidx + -1]->minor) .")"; } @@ -2608,137 +2672,137 @@ static public $yy_action = array( } } } -#line 2607 "smarty_internal_templateparser.php" -#line 574 "smarty_internal_templateparser.y" - function yy_r146(){if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') { +#line 2671 "smarty_internal_templateparser.php" +#line 581 "smarty_internal_templateparser.y" + function yy_r149(){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 2614 "smarty_internal_templateparser.php" -#line 579 "smarty_internal_templateparser.y" - function yy_r147(){if ($this->security) { +#line 2678 "smarty_internal_templateparser.php" +#line 586 "smarty_internal_templateparser.y" + function yy_r150(){if ($this->security) { $this->compiler->trigger_template_error (self::Err2); } $this->prefix_number++; $this->compiler->prefix_code[] = 'prefix_number.'=$_smarty_tpl->getVariable(\''. $this->yystack[$this->yyidx + -3]->minor .'\')->value;?>'; $this->_retvalue = '$_tmp'.$this->prefix_number.'('. implode(',',$this->yystack[$this->yyidx + -1]->minor) .')'; } -#line 2621 "smarty_internal_templateparser.php" -#line 587 "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 2624 "smarty_internal_templateparser.php" -#line 596 "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 2627 "smarty_internal_templateparser.php" -#line 597 "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 2630 "smarty_internal_templateparser.php" -#line 600 "smarty_internal_templateparser.y" - function yy_r154(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2633 "smarty_internal_templateparser.php" -#line 605 "smarty_internal_templateparser.y" - function yy_r155(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } -#line 2636 "smarty_internal_templateparser.php" +#line 2685 "smarty_internal_templateparser.php" +#line 594 "smarty_internal_templateparser.y" + function yy_r151(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); } +#line 2688 "smarty_internal_templateparser.php" +#line 603 "smarty_internal_templateparser.y" + function yy_r154(){$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 2691 "smarty_internal_templateparser.php" +#line 604 "smarty_internal_templateparser.y" + function yy_r155(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); } +#line 2694 "smarty_internal_templateparser.php" #line 607 "smarty_internal_templateparser.y" - function yy_r156(){$this->_retvalue = array(); } -#line 2639 "smarty_internal_templateparser.php" -#line 609 "smarty_internal_templateparser.y" - function yy_r157(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } -#line 2642 "smarty_internal_templateparser.php" -#line 619 "smarty_internal_templateparser.y" - function yy_r162(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2645 "smarty_internal_templateparser.php" -#line 621 "smarty_internal_templateparser.y" - function yy_r163(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } -#line 2648 "smarty_internal_templateparser.php" -#line 630 "smarty_internal_templateparser.y" - function yy_r164(){$this->_retvalue = '=='; } -#line 2651 "smarty_internal_templateparser.php" -#line 631 "smarty_internal_templateparser.y" - function yy_r165(){$this->_retvalue = '!='; } -#line 2654 "smarty_internal_templateparser.php" -#line 632 "smarty_internal_templateparser.y" - function yy_r166(){$this->_retvalue = '>'; } -#line 2657 "smarty_internal_templateparser.php" -#line 633 "smarty_internal_templateparser.y" - function yy_r167(){$this->_retvalue = '<'; } -#line 2660 "smarty_internal_templateparser.php" -#line 634 "smarty_internal_templateparser.y" - function yy_r168(){$this->_retvalue = '>='; } -#line 2663 "smarty_internal_templateparser.php" -#line 635 "smarty_internal_templateparser.y" - function yy_r169(){$this->_retvalue = '<='; } -#line 2666 "smarty_internal_templateparser.php" -#line 636 "smarty_internal_templateparser.y" - function yy_r170(){$this->_retvalue = '==='; } -#line 2669 "smarty_internal_templateparser.php" + function yy_r157(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2697 "smarty_internal_templateparser.php" +#line 612 "smarty_internal_templateparser.y" + function yy_r158(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); } +#line 2700 "smarty_internal_templateparser.php" +#line 614 "smarty_internal_templateparser.y" + function yy_r159(){$this->_retvalue = array(); } +#line 2703 "smarty_internal_templateparser.php" +#line 616 "smarty_internal_templateparser.y" + function yy_r160(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); } +#line 2706 "smarty_internal_templateparser.php" +#line 626 "smarty_internal_templateparser.y" + function yy_r165(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2709 "smarty_internal_templateparser.php" +#line 628 "smarty_internal_templateparser.y" + function yy_r166(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; } +#line 2712 "smarty_internal_templateparser.php" #line 637 "smarty_internal_templateparser.y" - function yy_r171(){$this->_retvalue = '!=='; } -#line 2672 "smarty_internal_templateparser.php" + function yy_r167(){$this->_retvalue = '=='; } +#line 2715 "smarty_internal_templateparser.php" #line 638 "smarty_internal_templateparser.y" - function yy_r172(){$this->_retvalue = '%'; } -#line 2675 "smarty_internal_templateparser.php" + function yy_r168(){$this->_retvalue = '!='; } +#line 2718 "smarty_internal_templateparser.php" +#line 639 "smarty_internal_templateparser.y" + function yy_r169(){$this->_retvalue = '>'; } +#line 2721 "smarty_internal_templateparser.php" #line 640 "smarty_internal_templateparser.y" - function yy_r173(){$this->_retvalue = '&&'; } -#line 2678 "smarty_internal_templateparser.php" + function yy_r170(){$this->_retvalue = '<'; } +#line 2724 "smarty_internal_templateparser.php" #line 641 "smarty_internal_templateparser.y" - function yy_r174(){$this->_retvalue = '||'; } -#line 2681 "smarty_internal_templateparser.php" + function yy_r171(){$this->_retvalue = '>='; } +#line 2727 "smarty_internal_templateparser.php" #line 642 "smarty_internal_templateparser.y" - function yy_r175(){$this->_retvalue = ' XOR '; } -#line 2684 "smarty_internal_templateparser.php" + function yy_r172(){$this->_retvalue = '<='; } +#line 2730 "smarty_internal_templateparser.php" +#line 643 "smarty_internal_templateparser.y" + function yy_r173(){$this->_retvalue = '==='; } +#line 2733 "smarty_internal_templateparser.php" +#line 644 "smarty_internal_templateparser.y" + function yy_r174(){$this->_retvalue = '!=='; } +#line 2736 "smarty_internal_templateparser.php" +#line 645 "smarty_internal_templateparser.y" + function yy_r175(){$this->_retvalue = '%'; } +#line 2739 "smarty_internal_templateparser.php" #line 647 "smarty_internal_templateparser.y" - function yy_r176(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } -#line 2687 "smarty_internal_templateparser.php" + function yy_r176(){$this->_retvalue = '&&'; } +#line 2742 "smarty_internal_templateparser.php" +#line 648 "smarty_internal_templateparser.y" + function yy_r177(){$this->_retvalue = '||'; } +#line 2745 "smarty_internal_templateparser.php" #line 649 "smarty_internal_templateparser.y" - function yy_r178(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } -#line 2690 "smarty_internal_templateparser.php" -#line 650 "smarty_internal_templateparser.y" - function yy_r179(){ return; } -#line 2693 "smarty_internal_templateparser.php" -#line 651 "smarty_internal_templateparser.y" - function yy_r180(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2696 "smarty_internal_templateparser.php" -#line 652 "smarty_internal_templateparser.y" - function yy_r181(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } -#line 2699 "smarty_internal_templateparser.php" + function yy_r178(){$this->_retvalue = ' XOR '; } +#line 2748 "smarty_internal_templateparser.php" +#line 654 "smarty_internal_templateparser.y" + function yy_r179(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; } +#line 2751 "smarty_internal_templateparser.php" +#line 656 "smarty_internal_templateparser.y" + function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; } +#line 2754 "smarty_internal_templateparser.php" +#line 657 "smarty_internal_templateparser.y" + function yy_r182(){ return; } +#line 2757 "smarty_internal_templateparser.php" +#line 658 "smarty_internal_templateparser.y" + function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2760 "smarty_internal_templateparser.php" #line 659 "smarty_internal_templateparser.y" - function yy_r183(){ $this->_retvalue = "''"; } -#line 2702 "smarty_internal_templateparser.php" -#line 660 "smarty_internal_templateparser.y" - function yy_r184(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); } -#line 2705 "smarty_internal_templateparser.php" -#line 662 "smarty_internal_templateparser.y" - function yy_r185(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } -#line 2708 "smarty_internal_templateparser.php" -#line 663 "smarty_internal_templateparser.y" - function yy_r186(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2711 "smarty_internal_templateparser.php" -#line 665 "smarty_internal_templateparser.y" - function yy_r187(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); } -#line 2714 "smarty_internal_templateparser.php" + function yy_r184(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; } +#line 2763 "smarty_internal_templateparser.php" +#line 666 "smarty_internal_templateparser.y" + function yy_r186(){ $this->_retvalue = "''"; } +#line 2766 "smarty_internal_templateparser.php" #line 667 "smarty_internal_templateparser.y" - function yy_r189(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) { + function yy_r187(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); } +#line 2769 "smarty_internal_templateparser.php" +#line 669 "smarty_internal_templateparser.y" + function yy_r188(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; } +#line 2772 "smarty_internal_templateparser.php" +#line 670 "smarty_internal_templateparser.y" + function yy_r189(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); } +#line 2775 "smarty_internal_templateparser.php" +#line 672 "smarty_internal_templateparser.y" + function yy_r190(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); } +#line 2778 "smarty_internal_templateparser.php" +#line 674 "smarty_internal_templateparser.y" + function yy_r192(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) { $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->tpl_vars[\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\']->value'); } else { $this->_retvalue = new _smarty_code($this, '$_smarty_tpl->getVariable(\''. substr($this->yystack[$this->yyidx + 0]->minor,1) .'\')->value'); } $this->compiler->tag_nocache = $this->compiler->tag_nocache | $this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor,"'"), null, true, false)->nocache; } -#line 2723 "smarty_internal_templateparser.php" -#line 675 "smarty_internal_templateparser.y" - function yy_r191(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); } -#line 2726 "smarty_internal_templateparser.php" -#line 676 "smarty_internal_templateparser.y" - function yy_r192(){ +#line 2787 "smarty_internal_templateparser.php" +#line 682 "smarty_internal_templateparser.y" + function yy_r194(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); } +#line 2790 "smarty_internal_templateparser.php" +#line 683 "smarty_internal_templateparser.y" + function yy_r195(){ $this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2731 "smarty_internal_templateparser.php" -#line 679 "smarty_internal_templateparser.y" - function yy_r193(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); } -#line 2734 "smarty_internal_templateparser.php" +#line 2795 "smarty_internal_templateparser.php" #line 686 "smarty_internal_templateparser.y" - function yy_r195(){$this->_retvalue = ''; } -#line 2737 "smarty_internal_templateparser.php" + function yy_r196(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); } +#line 2798 "smarty_internal_templateparser.php" +#line 693 "smarty_internal_templateparser.y" + function yy_r198(){$this->_retvalue = ''; } +#line 2801 "smarty_internal_templateparser.php" private $_retvalue; @@ -2800,7 +2864,7 @@ static public $yy_action = array( $this->internalError = true; $this->yymajor = $yymajor; $this->compiler->trigger_template_error(); -#line 2800 "smarty_internal_templateparser.php" +#line 2864 "smarty_internal_templateparser.php" } function yy_accept() @@ -2817,7 +2881,7 @@ static public $yy_action = array( $this->internalError = false; $this->retvalue = $this->_retvalue; //echo $this->retvalue."\n\n"; -#line 2818 "smarty_internal_templateparser.php" +#line 2882 "smarty_internal_templateparser.php" } function doParse($yymajor, $yytokenvalue) diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php b/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php index 6ec5e2dfd..4e34335fb 100644 --- a/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php +++ b/gosa-core/include/smarty/sysplugins/smarty_internal_write_file.php @@ -30,11 +30,17 @@ class Smarty_Internal_Write_File { // write to tmp file, then move to overt file lock race condition $_tmp_file = tempnam($_dirpath, 'wrt'); - if (!file_put_contents($_tmp_file, $_contents)) { - umask($old_umask); + if (!($fd = @fopen($_tmp_file, 'wb'))) { + $_tmp_file = $_dirpath . DS . uniqid('wrt'); + if (!($fd = @fopen($_tmp_file, 'wb'))) { throw new SmartyException("unable to write file {$_tmp_file}"); return false; - } + } + } + + fwrite($fd, $_contents); + fclose($fd); + // remove original file if (file_exists($_filepath)) @unlink($_filepath); -- 2.30.2