summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9429d6d)
raw | patch | inline | side by side (parent: 9429d6d)
author | cajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 11 Jul 2011 10:26:17 +0000 (10:26 +0000) | ||
committer | cajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 11 Jul 2011 10:26:17 +0000 (10:26 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@20947 594d385d-05f5-0310-b6e9-bd551577e9d8
20 files changed:
index a04310fe66f2c1164c16d1d91fe92aa1cb1b9ef6..df315b676a7dc0dcf40626ec3a62370387ce7f7f 100644 (file)
@@ -2750,7 +2750,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
function get_post($name)
{
if(!isset($_POST[$name])){
- trigger_error("Requested POST value (".$name.") does not exists, you should add a check to prevent this message.");
+ trigger_error("Requested POST value (".$name.") does not exist, you should add a check to prevent this message.");
return(FALSE);
}
index feb88171e19ea09bbc41f6dc1c60faca87ab57a6..c0bc78bb5a102f7abf61d1b4344656616f3fec56 100644 (file)
/**
* Project: Smarty: the PHP compiling template engine
* File: Smarty.class.php
- * SVN: $Id: Smarty.class.php 3895 2010-12-31 13:47:12Z uwe.tews@googlemail.com $
- *
+ * SVN: $Id: Smarty.class.php 4074 2011-04-22 02:19:14Z 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
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
+ *
* For questions, help, comments, discussion, etc., please join the
* Smarty mailing list. Send a blank e-mail to
* smarty-discussion-subscribe@googlegroups.com
- *
+ *
* @link http://www.smarty.net/
* @copyright 2008 New Digital Group, Inc.
- * @author Monte Ohrt <monte at ohrt dot com>
- * @author Uwe Tews
+ * @author Monte Ohrt <monte at ohrt dot com>
+ * @author Uwe Tews
* @package Smarty
- * @version 3.0.7
+ * @version 3.0.8
*/
/**
*/
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
-}
+}
/**
* set SMARTY_DIR to absolute path to Smarty library files.
*/
if (!defined('SMARTY_DIR')) {
define('SMARTY_DIR', dirname(__FILE__) . DS);
-}
+}
/**
* set SMARTY_SYSPLUGINS_DIR to absolute path to Smarty internal plugins.
*/
if (!defined('SMARTY_SYSPLUGINS_DIR')) {
define('SMARTY_SYSPLUGINS_DIR', SMARTY_DIR . 'sysplugins' . DS);
-}
+}
if (!defined('SMARTY_PLUGINS_DIR')) {
define('SMARTY_PLUGINS_DIR', SMARTY_DIR . 'plugins' . DS);
-}
+}
if (!defined('SMARTY_RESOURCE_CHAR_SET')) {
define('SMARTY_RESOURCE_CHAR_SET', 'UTF-8');
-}
+}
if (!defined('SMARTY_RESOURCE_DATE_FORMAT')) {
define('SMARTY_RESOURCE_DATE_FORMAT', '%b %e, %Y');
-}
+}
/**
* register the class autoloader
*/
if (!defined('SMARTY_SPL_AUTOLOAD')) {
define('SMARTY_SPL_AUTOLOAD', 0);
-}
+}
if (SMARTY_SPL_AUTOLOAD && set_include_path(get_include_path() . PATH_SEPARATOR . SMARTY_SYSPLUGINS_DIR) !== false) {
$registeredAutoLoadFunctions = spl_autoload_functions();
if (!isset($registeredAutoLoadFunctions['spl_autoload'])) {
spl_autoload_register();
- }
+ }
} else {
spl_autoload_register('smartyAutoload');
-}
+}
/**
* This is the main Smarty class
* constant definitions
*/
// smarty version
- const SMARTY_VERSION = 'Smarty-3.0.7';
+ const SMARTY_VERSION = 'Smarty-3.0.8';
//define variable scopes
const SCOPE_LOCAL = 0;
const SCOPE_PARENT = 1;
* static variables
*/
// assigned global tpl vars
- static $global_tpl_vars = array();
+ static $global_tpl_vars = array();
/**
* variables
*/
// auto literal on delimiters with whitspace
- public $auto_literal = true;
+ public $auto_literal = true;
// display error on not assigned variables
- public $error_unassigned = false;
+ public $error_unassigned = false;
// template directory
- public $template_dir = null;
+ public $template_dir = null;
// default template handler
- public $default_template_handler_func = null;
+ public $default_template_handler_func = null;
// compile directory
- public $compile_dir = null;
+ public $compile_dir = null;
// plugins directory
- public $plugins_dir = null;
+ public $plugins_dir = null;
// cache directory
- public $cache_dir = null;
+ public $cache_dir = null;
// config directory
- public $config_dir = null;
+ public $config_dir = null;
// force template compiling?
- public $force_compile = false;
+ public $force_compile = false;
// check template for modifications?
- public $compile_check = true;
+ public $compile_check = true;
// locking concurrent compiles
- public $compile_locking = true;
+ public $compile_locking = true;
// use sub dirs for compiled/cached files?
- public $use_sub_dirs = false;
+ public $use_sub_dirs = false;
// compile_error?
- public $compile_error = false;
+ public $compile_error = false;
// caching enabled
- public $caching = false;
+ public $caching = false;
// merge compiled includes
- public $merge_compiled_includes = false;
+ public $merge_compiled_includes = false;
// cache lifetime
- public $cache_lifetime = 3600;
+ public $cache_lifetime = 3600;
// force cache file creation
- public $force_cache = false;
+ public $force_cache = false;
// cache_id
- public $cache_id = null;
+ public $cache_id = null;
// compile_id
- public $compile_id = null;
+ public $compile_id = null;
// template delimiters
public $left_delimiter = "{";
- public $right_delimiter = "}";
+ public $right_delimiter = "}";
// security
public $security_class = 'Smarty_Security';
public $security_policy = null;
public $php_handling = self::PHP_PASSTHRU;
public $allow_php_tag = false;
public $allow_php_templates = false;
- public $direct_access_security = true;
+ public $direct_access_security = true;
public $trusted_dir = array();
// debug mode
public $debugging = false;
public $debugging_ctrl = 'NONE';
public $smarty_debug_id = 'SMARTY_DEBUG';
- public $debug_tpl = null;
+ public $debug_tpl = null;
// When set, smarty does uses this value as error_reporting-level.
- public $error_reporting = null;
+ public $error_reporting = null;
// config var settings
public $config_overwrite = true; //Controls whether variables with the same name overwrite each other.
public $config_booleanize = true; //Controls whether config values of on/true/yes and off/false/no get converted to boolean
- public $config_read_hidden = false; //Controls whether hidden config sections/vars are read from the file.
+ public $config_read_hidden = false; //Controls whether hidden config sections/vars are read from the file.
// config vars
- public $config_vars = array();
+ public $config_vars = array();
// assigned tpl vars
- public $tpl_vars = array();
+ public $tpl_vars = array();
// dummy parent object
- public $parent = null;
+ public $parent = null;
// global template functions
- public $template_functions = array();
+ public $template_functions = array();
// resource type used if none given
- public $default_resource_type = 'file';
+ public $default_resource_type = 'file';
// caching type
- public $caching_type = 'file';
+ public $caching_type = 'file';
// internal cache resource types
- public $cache_resource_types = array('file');
+ public $cache_resource_types = array('file');
// internal config properties
- public $properties = array();
+ public $properties = array();
// config type
- public $default_config_type = 'file';
+ public $default_config_type = 'file';
// cached template objects
- public $template_objects = null;
+ public $template_objects = null;
// check If-Modified-Since headers
- public $cache_modified_check = false;
+ public $cache_modified_check = false;
// registered plugins
- public $registered_plugins = array();
+ public $registered_plugins = array();
// plugin search order
- public $plugin_search_order = array('function', 'block', 'compiler', 'class');
+ public $plugin_search_order = array('function', 'block', 'compiler', 'class');
// registered objects
- public $registered_objects = array();
+ public $registered_objects = array();
// registered classes
- public $registered_classes = array();
+ public $registered_classes = array();
// registered filters
- public $registered_filters = array();
+ public $registered_filters = array();
// registered resources
- public $registered_resources = array();
+ public $registered_resources = array();
// autoload filter
- public $autoload_filters = array();
+ public $autoload_filters = array();
// status of filter on variable output
- public $variable_filter = true;
+ public $variable_filter = true;
// default modifier
- public $default_modifiers = array();
+ public $default_modifiers = array();
// global internal smarty vars
- static $_smarty_vars = array();
+ static $_smarty_vars = array();
// start time for execution time calculation
- public $start_time = 0;
+ public $start_time = 0;
// default file permissions
- public $_file_perms = 0644;
+ public $_file_perms = 0644;
// default dir permissions
- public $_dir_perms = 0771;
+ public $_dir_perms = 0771;
// block tag hierarchy
- public $_tag_stack = array();
+ public $_tag_stack = array();
// flag if {block} tag is compiled for template inheritance
public $inheritance = false;
// generate deprecated function call notices?
* Class constructor, initializes basic smarty properties
*/
public function __construct()
- {
+ {
// selfpointer need by some other class methods
$this->smarty = $this;
if (is_callable('mb_internal_encoding')) {
mb_internal_encoding(SMARTY_RESOURCE_CHAR_SET);
- }
- $this->start_time = microtime(true);
+ }
+ $this->start_time = microtime(true);
// set default dirs
$this->template_dir = array('.' . DS . 'templates' . DS);
$this->compile_dir = '.' . DS . 'templates_c' . DS;
$this->plugins_dir = array(SMARTY_PLUGINS_DIR);
$this->cache_dir = '.' . DS . 'cache' . DS;
$this->config_dir = '.' . DS . 'configs' . DS;
- $this->debug_tpl = SMARTY_DIR . 'debug.tpl';
+ $this->debug_tpl = 'file:' . SMARTY_DIR . 'debug.tpl';
if (isset($_SERVER['SCRIPT_NAME'])) {
$this->assignGlobal('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']);
- }
- }
+ }
+ }
/**
* Class destructor
*/
public function __destruct()
- {
- }
+ {
+ }
/**
* fetches a rendered Smarty template
- *
+ *
* @param string $template the resource handle of the template file or template object
* @param mixed $cache_id cache id to be used with this template
* @param mixed $compile_id compile id to be used with this template
if (!empty($cache_id) && is_object($cache_id)) {
$parent = $cache_id;
$cache_id = null;
- }
+ }
if ($parent === null) {
// get default Smarty data object
$parent = $this;
- }
+ }
// create template object if necessary
($template instanceof $this->template_class)? $_template = $template :
$_template = $this->createTemplate ($template, $cache_id, $compile_id, $parent, false);
$_query_string = $_SERVER['QUERY_STRING'];
} else {
$_query_string = '';
- }
+ }
if (false !== strpos($_query_string, $this->smarty_debug_id)) {
if (false !== strpos($_query_string, $this->smarty_debug_id . '=on')) {
// enable debugging for this browser session
} else {
// enable debugging for this page
$this->debugging = true;
- }
+ }
} else {
if (isset($_COOKIE['SMARTY_DEBUG'])) {
$this->debugging = true;
- }
- }
- }
+ }
+ }
+ }
// obtain data for cache modified check
if ($this->cache_modified_check && $this->caching && $display) {
$_isCached = $_template->isCached() && !$_template->has_nocache_code;
$_gmt_mtime = gmdate('D, d M Y H:i:s', $_template->getCachedTimestamp()) . ' GMT';
} else {
$_gmt_mtime = '';
- }
- }
+ }
+ }
// return rendered template
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();
- }
+ }
$_template->rendered_content = null;
if (isset($this->error_reporting)) {
error_reporting($_smarty_old_error_level);
- }
+ }
// display or fetch
if ($display) {
if ($this->caching && $this->cache_modified_check) {
} else {
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $_template->getCachedTimestamp()) . ' GMT');
echo $_output;
- }
+ }
} else {
echo $_output;
- }
+ }
// debug output
if ($this->debugging) {
Smarty_Internal_Debug::display_debug($this);
- }
+ }
return;
} else {
// return fetched content
return $_output;
- }
- }
+ }
+ }
/**
* displays a Smarty template
- *
+ *
* @param string $ |object $template the resource handle of the template file or template object
* @param mixed $cache_id cache id to be used with this template
* @param mixed $compile_id compile id to be used with this template
* @param object $parent next higher level of Smarty variables
*/
public function display($template, $cache_id = null, $compile_id = null, $parent = null)
- {
+ {
// display template
$this->fetch ($template, $cache_id, $compile_id, $parent, true);
- }
+ }
/**
* test if cache i valid
- *
+ *
* @param string $ |object $template the resource handle of the template file or template object
* @param mixed $cache_id cache id to be used with this template
* @param mixed $compile_id compile id to be used with this template
}
if (!($template instanceof $this->template_class)) {
$template = $this->createTemplate ($template, $cache_id, $compile_id, $parent, false);
- }
+ }
// return cache status of template
return $template->isCached();
- }
+ }
/**
* creates a data object
- *
+ *
* @param object $parent next higher level of Smarty variables
* @returns object data object
*/
public function createData($parent = null)
{
return new Smarty_Data($parent, $this);
- }
+ }
/**
* creates a template object
- *
+ *
* @param string $template the resource handle of the template file
* @param mixed $cache_id cache id to be used with this template
* @param mixed $compile_id compile id to be used with this template
if (!empty($cache_id) && (is_object($cache_id) || is_array($cache_id))) {
$parent = $cache_id;
$cache_id = null;
- }
+ }
if (!empty($parent) && is_array($parent)) {
$data = $parent;
$parent = null;
} else {
$data = null;
- }
+ }
if (!is_object($template)) {
// we got a template resource
// already in template cache?
} else {
$tpl = new $this->template_class($template, $this, $parent, $cache_id, $compile_id);
}
- }
+ }
} else {
// just return a copy of template class
$tpl = $template;
- }
+ }
// fill data if present
if (!empty($data) && is_array($data)) {
// set up variable values
foreach ($data as $_key => $_val) {
$tpl->tpl_vars[$_key] = new Smarty_variable($_val);
- }
- }
+ }
+ }
return $tpl;
- }
-
-
+ }
+
+
/**
* Check if a template resource exists
- *
+ *
* @param string $resource_name template name
* @return boolean status
*/
function templateExists($resource_name)
- {
+ {
// create template object
$save = $this->template_objects;
- $tpl = new $this->template_class($resource_name, $this);
+ $tpl = new $this->template_class($resource_name, $this);
// check if it does exists
$result = $tpl->isExisting();
$this->template_objects = $save;
return $result;
- }
+ }
/**
* Returns a single or all global variables
- *
- * @param object $smarty
+ *
+ * @param object $smarty
* @param string $varname variable name or null
* @return string variable value or or array of variables
*/
return self::$global_tpl_vars[$varname]->value;
} else {
return '';
- }
+ }
} else {
$_result = array();
foreach (self::$global_tpl_vars AS $key => $var) {
$_result[$key] = $var->value;
- }
+ }
return $_result;
- }
- }
+ }
+ }
/**
* Empty cache folder
- *
+ *
* @param integer $exp_time expiration time
* @param string $type resource type
* @return integer number of cache files deleted
*/
function clearAllCache($exp_time = null, $type = null)
- {
+ {
// load cache resource and call clearAll
return $this->loadCacheResource($type)->clearAll($exp_time);
- }
+ }
/**
* Empty cache for a specific template
- *
+ *
* @param string $template_name template name
* @param string $cache_id cache id
* @param string $compile_id compile id
* @return integer number of cache files deleted
*/
function clearCache($template_name, $cache_id = null, $compile_id = null, $exp_time = null, $type = null)
- {
+ {
// load cache resource and call clear
return $this->loadCacheResource($type)->clear($template_name, $cache_id, $compile_id, $exp_time);
}
$this->security_policy = new $security_class($this);
} else {
throw new SmartyException("Security class '$security_class' is not defined");
- }
- }
+ }
+ }
/**
* Disable security
public function disableSecurity()
{
$this->security_policy = null;
- }
+ }
/**
* Loads cache resource.
- *
+ *
* @param string $type cache resource type
* @return object of cache resource
*/
public function loadCacheResource($type = null) {
if (!isset($type)) {
$type = $this->caching_type;
- }
+ }
if (in_array($type, $this->cache_resource_types)) {
$cache_resource_class = 'Smarty_Internal_CacheResource_' . ucfirst($type);
return new $cache_resource_class($this);
- }
+ }
else {
// try plugins dir
$cache_resource_class = 'Smarty_CacheResource_' . ucfirst($type);
if ($this->loadPlugin($cache_resource_class)) {
return new $cache_resource_class($this);
- }
+ }
else {
throw new SmartyException("Unable to load cache resource '{$type}'");
- }
- }
- }
+ }
+ }
+ }
/**
* Set template directory
- *
+ *
* @param string $ |array $template_dir folder(s) of template sorces
*/
public function setTemplateDir($template_dir)
{
$this->template_dir = (array)$template_dir;
return;
- }
+ }
/**
* Adds template directory(s) to existing ones
- *
+ *
* @param string $ |array $template_dir folder(s) of template sources
*/
public function addTemplateDir($template_dir)
{
$this->template_dir = array_unique(array_merge((array)$this->template_dir, (array)$template_dir));
return;
- }
-
+ }
+
/**
* Adds directory of plugin files
- *
- * @param object $smarty
+ *
+ * @param object $smarty
* @param string $ |array $ plugins folder
- * @return
+ * @return
*/
function addPluginsDir($plugins_dir)
{
$this->plugins_dir = array_unique(array_merge((array)$this->plugins_dir, (array)$plugins_dir));
return;
- }
+ }
/**
* return a reference to a registered object
- *
+ *
* @param string $name object name
- * @return object
+ * @return object
*/
function getRegisteredObject($name)
{
throw new SmartyException("registered '$name' is not an object");
return $this->registered_objects[$name][0];
- }
+ }
/**
* return name of debugging template
- *
- * @return string
+ *
+ * @return string
*/
function getDebugTemplate()
{
return $this->debug_tpl;
- }
+ }
/**
* set the debug template
- *
- * @param string $tpl_name
- * @return bool
+ *
+ * @param string $tpl_name
+ * @return bool
*/
function setDebugTemplate($tpl_name)
{
return $this->debug_tpl = $tpl_name;
- }
+ }
/**
* Takes unknown classes and loads plugin files for them
* class name format: Smarty_PluginType_PluginName
* plugin filename format: plugintype.pluginname.php
- *
+ *
* @param string $plugin_name class plugin name to load
* @return string |boolean filepath of loaded file or false
*/
public function loadPlugin($plugin_name, $check = true)
- {
+ {
// if function or class exists, exit silently (already loaded)
if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false)))
- return true;
+ return true;
// Plugin name is expected to be: Smarty_[Type]_[Name]
$_plugin_name = strtolower($plugin_name);
- $_name_parts = explode('_', $_plugin_name, 3);
+ $_name_parts = explode('_', $_plugin_name, 3);
// class name must have three parts to be valid plugin
if (count($_name_parts) < 3 || $_name_parts[0] !== 'smarty') {
throw new SmartyException("plugin {$plugin_name} is not a valid name format");
return false;
- }
+ }
// if type is "internal", get plugin from sysplugins
if ($_name_parts[1] == 'internal') {
$file = SMARTY_SYSPLUGINS_DIR . $_plugin_name . '.php';
return $file;
} else {
return false;
- }
- }
+ }
+ }
// plugin filename is expected to be: [type].[name].php
- $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php";
+ $_plugin_filename = "{$_name_parts[1]}.{$_name_parts[2]}.php";
// loop through plugin dirs and find the plugin
foreach((array)$this->plugins_dir as $_plugin_dir) {
if (strpos('/\\', substr($_plugin_dir, -1)) === false) {
$_plugin_dir .= DS;
- }
+ }
$file = $_plugin_dir . $_plugin_filename;
if (file_exists($file)) {
require_once($file);
return $file;
- }
- }
+ }
+ }
// no plugin loaded
return false;
- }
+ }
/**
* clean up properties on cloned object
public function __clone()
{
// clear config vars
- $this->config_vars = array();
+ $this->config_vars = array();
// clear assigned tpl vars
$this->tpl_vars = array();
// clear objects for external methods
- unset($this->register);
- unset($this->filter);
+ unset($this->register);
+ unset($this->filter);
}
{
static $camel_func;
if (!isset($camel_func))
- $camel_func = create_function('$c', 'return "_" . strtolower($c[1]);');
+ $camel_func = create_function('$c', 'return "_" . strtolower($c[1]);');
// see if this is a set/get for a property
$first3 = strtolower(substr($name, 0, 3));
if (in_array($first3, array('set', 'get')) && substr($name, 3, 1) !== '_') {
// try to keep case correct for future PHP 6.0 case-sensitive class methods
// lcfirst() not available < PHP 5.3.0, so improvise
- $property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
+ $property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
// convert camel case to underscored name
$property_name = preg_replace_callback('/([A-Z])/', $camel_func, $property_name);
if (!property_exists($this, $property_name)) {
throw new SmartyException("property '$property_name' does not exist.");
return false;
- }
+ }
if ($first3 == 'get')
return $this->$property_name;
else
if (strpos($name,'_') !== false) {
if (!isset($this->wrapper)) {
$this->wrapper = new Smarty_Internal_Wrapper($this);
- }
+ }
return $this->wrapper->convert($name, $args);
}
// external Smarty methods ?
- foreach(array('filter','register') as $external) {
- if (method_exists("Smarty_Internal_{$external}",$name)) {
+ foreach(array('Filter','Register') as $external) {
+ if (class_exists("Smarty_Internal_{$external}") && method_exists("Smarty_Internal_{$external}",$name)) {
if (!isset($this->$external)) {
$class = "Smarty_Internal_{$external}";
$this->$external = new $class($this);
- }
+ }
return call_user_func_array(array($this->$external,$name), $args);
}
}
if (in_array($name,array('clearCompiledTemplate','compileAllTemplates','compileAllConfig','testInstall','getTags'))) {
if (!isset($this->utility)) {
$this->utility = new Smarty_Internal_Utility($this);
- }
+ }
return call_user_func_array(array($this->utility,$name), $args);
}
// PHP4 call to constructor?
if (strtolower($name) == 'smarty') {
throw new SmartyException('Please use parent::__construct() to call parent constuctor');
return false;
- }
+ }
throw new SmartyException("Call of unknown function '$name'.");
- }
-}
+ }
+}
/**
* Autoloader
$_class = strtolower($class);
if (substr($_class, 0, 16) === 'smarty_internal_' || $_class == 'smarty_security') {
include SMARTY_SYSPLUGINS_DIR . $_class . '.php';
- }
-}
+ }
+}
/**
* Smarty exception class
diff --git a/gosa-core/include/smarty/plugins/modifier.replace.php b/gosa-core/include/smarty/plugins/modifier.replace.php
index 0636a191459cb12de5847c1f138609de682a5468..6a6698164312e52bf43a269f99057a49d9f2bc33 100644 (file)
*/
function smarty_modifier_replace($string, $search, $replace)
{
- require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php');
- return smarty_mb_str_replace($search, $replace, $string);
+ if (function_exists('mb_split')) {
+ require_once(SMARTY_PLUGINS_DIR . 'shared.mb_str_replace.php');
+ return smarty_mb_str_replace($search, $replace, $string);
+ }
+ return str_replace($search, $replace, $string);
}
-
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/plugins/modifiercompiler.strip.php b/gosa-core/include/smarty/plugins/modifiercompiler.strip.php
index ab5b76884f22e0f9e363f017df15a3262f962e7a..55b98e0ef92c2bcf30e9e7cb872d7c76f10c0166 100644 (file)
{\r
if (!isset($params[1])) {\r
$params[1] = "' '";\r
- } \r
- return "preg_replace('!\s+!', {$params[1]},{$params[0]})";\r
+ }\r
+ return "preg_replace('!\s+!u', {$params[1]},{$params[0]})";\r
} \r
\r
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php b/gosa-core/include/smarty/sysplugins/smarty_internal_cacheresource_file.php
index c2f9a726e360bb4681592ac859d64960c6506c8a..512f6fbf723ce2732de3a07b64b95e0b9f8a541a 100644 (file)
$_save_stat = $this->smarty->caching;
$this->smarty->caching = true;
$tpl = new $this->smarty->template_class($resource_name, $this->smarty);
- // remove from template cache
- unset($this->smarty->template_objects[crc32($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]);
$this->smarty->caching = $_save_stat;
if ($tpl->isExisting()) {
$_resourcename_parts = basename(str_replace('^', '/', $tpl->getCachedFilepath()));
+ // remove from template cache
+ unset($this->smarty->template_objects[sha1($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]);
} else {
+ // remove from template cache
+ unset($this->smarty->template_objects[sha1($tpl->template_resource . $tpl->cache_id . $tpl->compile_id)]);
return 0;
}
}
$_cacheDirs = new RecursiveDirectoryIterator($_dir);
$_cache = new RecursiveIteratorIterator($_cacheDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_cache as $_file) {
- if (strpos($_file, '.svn') !== false) continue;
+ if (substr($_file->getBasename(),0,1) == '.') continue;
// directory ?
if ($_file->isDir()) {
if (!$_cache->isDot()) {
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 cd1ca281bb260099bd17984f2674bc3c3c17b897..fc003dd71526f1c16747580ffd6c358188a9aa49 100644 (file)
<?php
/**
* Smarty Internal Plugin Compile Block
- *
+ *
* Compiles the {block}{/block} tags
- *
+ *
* @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
public $shorttag_order = array('name');
/**
* Compiles code for the {block} tag
- *
+ *
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return boolean true
// set flag for {block} tag
$compiler->smarty->inheritance = true;
// must merge includes
- $this->compiler->smarty->merge_compiled_includes = true;
+ $this->compiler->smarty->merge_compiled_includes = true;
$compiler->parser->current_buffer = new _smarty_template_buffer($compiler->parser);
$compiler->has_code = false;
return true;
- }
+ }
static function saveBlockData($block_content, $block_tag, $template, $filepath)
$error_text = 'Syntax Error in template "' . $template->getTemplateFilepath() . '" "' . htmlspecialchars($block_tag) . '" illegal options';
throw new SmartyCompilerException($error_text);
} else {
- $_name = trim($_match[3], '\'"');
+ $_name = trim($_match[3], '\'"');
// replace {$smarty.block.child}
if (strpos($block_content, $template->smarty->left_delimiter . '$smarty.block.child' . $template->smarty->right_delimiter) !== false) {
if (isset($template->block_data[$_name])) {
} else {
$block_content = str_replace($template->smarty->left_delimiter . '$smarty.block.child' . $template->smarty->right_delimiter,
'', $block_content);
- }
- }
+ }
+ }
if (isset($template->block_data[$_name])) {
if (strpos($template->block_data[$_name]['source'], '%%%%SMARTY_PARENT%%%%') !== false) {
$template->block_data[$_name]['source'] =
$template->block_data[$_name]['source'] .= $block_content;
} elseif ($template->block_data[$_name]['mode'] == 'append') {
$template->block_data[$_name]['source'] = $block_content . $template->block_data[$_name]['source'];
- }
+ }
} else {
$template->block_data[$_name]['source'] = $block_content;
- }
+ }
if ($_match[6] == 'append') {
$template->block_data[$_name]['mode'] = 'append';
} elseif ($_match[6] == 'prepend') {
$template->block_data[$_name]['mode'] = 'prepend';
} else {
$template->block_data[$_name]['mode'] = 'replace';
- }
+ }
$template->block_data[$_name]['file'] = $filepath;
}
}
$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);
+ $compiler->trigger_template_error('{$smarty.block.child} used out of context', $compiler->lex->taglineno);
}
// undefined child?
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'];
class Smarty_Internal_Compile_Blockclose extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {/block} tag
- *
+ *
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
{
$this->compiler = $compiler;
$this->smarty = $compiler->smarty;
- $this->compiler->has_code = true;
+ $this->compiler->has_code = true;
// check and get attributes
$_attr = $this->_get_attributes($args);
$saved_data = $this->_close_tag(array('block'));
// $_output content has already nocache code processed
$compiler->suppressNocacheProcessing = true;
return $_output;
- }
-}
+ }
+}
?>
\ No newline at end of file
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 b62b531d0c991f5dfbae2d30cd598eeea4ea25cd..b76cf98d4f2a2df6ce1efbbe19b8854df9f6f25a 100644 (file)
/**
* Smarty Internal Plugin Compile extend
- *
+ *
* Compiles the {extends} tag
- *
+ *
* @package Smarty
* @subpackage Compiler
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
/**
* Compiles code for the {extends} tag
- *
+ *
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return string compiled code
$this->compiler->trigger_template_error('nocache option not allowed', $this->compiler->lex->taglineno);
}
- $_smarty_tpl = $compiler->template;
+ $_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);
+ if (strpos($_attr['file'],'$_tmp') !== false || strpos($_attr['file'],'$_smarty_tpl') !== false || strpos($_attr['file'],'::') !== false) {
+ $this->compiler->trigger_template_error('a variable file attribute is illegal', $this->compiler->lex->taglineno);
}
- eval('$include_file = ' . $_attr['file'] . ';');
+ eval('$include_file = ' . $_attr['file'] . ';');
// create template object
- $_template = new $compiler->smarty->template_class($include_file, $this->smarty, $compiler->template);
+ $_template = new $compiler->smarty->template_class($include_file, $this->smarty, $compiler->template);
// save file dependency
if (in_array($_template->resource_type,array('eval','string'))) {
$template_sha1 = sha1($include_file);
}
if (isset($compiler->template->properties['file_dependency'][$template_sha1])) {
$this->compiler->trigger_template_error("illegal recursive call of \"{$include_file}\"",$compiler->lex->line-1);
- }
+ }
$compiler->template->properties['file_dependency'][$template_sha1] = array($_template->getTemplateFilepath(), $_template->getTemplateTimestamp(),$_template->resource_type);
$_content = substr($compiler->template->template_source,$compiler->lex->counter-1);
if (preg_match_all("!({$this->_ldl}block\s(.+?){$this->_rdl})!", $_content, $s) !=
preg_match_all("!({$this->_ldl}/block{$this->_rdl})!", $_content, $c)) {
$this->compiler->trigger_template_error('unmatched {block} {/block} pairs');
- }
+ }
preg_match_all("!{$this->_ldl}block\s(.+?){$this->_rdl}|{$this->_ldl}/block{$this->_rdl}!", $_content, $_result, PREG_OFFSET_CAPTURE);
$_result_count = count($_result[0]);
$_start = 0;
$_level++;
} else {
$_level--;
- }
- }
+ }
+ }
$_block_content = str_replace($this->smarty->left_delimiter . '$smarty.block.parent' . $this->smarty->right_delimiter, '%%%%SMARTY_PARENT%%%%',
substr($_content, $_result[0][$_start][1] + strlen($_result[0][$_start][0]), $_result[0][$_start + $_end][1] - $_result[0][$_start][1] - + strlen($_result[0][$_start][0])));
Smarty_Internal_Compile_Block::saveBlockData($_block_content, $_result[0][$_start][0], $compiler->template, $filepath);
$_start = $_start + $_end + 1;
- }
+ }
$compiler->template->template_source = $_template->getTemplateSource();
$compiler->template->template_filepath = $_template->getTemplateFilepath();
$compiler->abort_and_recompile = true;
return '';
- }
+ }
-}
+}
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php b/gosa-core/include/smarty/sysplugins/smarty_internal_compile_include.php
index 01d260eb7d2078a5fd7b02442531afbf470f5cbb..a3b3c9444a3da22ca45003e37183ccaa8d531a1a 100644 (file)
$_caching = Smarty::CACHING_OFF;
}
// default for included templates
- if ($this->compiler->template->caching && !$this->compiler->nocache && !$this->compiler->tag_nocache) {
+ if ($compiler->template->caching && !$this->compiler->nocache && !$this->compiler->tag_nocache) {
$_caching = self::CACHING_NOCACHE_CODE;
}
/*
$_caching = Smarty::CACHING_OFF;
}
// create template object
- $_output = "<?php \$_template = new {$compiler->smarty->template_class}($include_file, \$_smarty_tpl->smarty, \$_smarty_tpl, $_cache_id, $_compile_id, $_caching, $_cache_lifetime);\n";
+ $_output = "<?php ";
+ if ($_caching != 'null' && $_caching != Smarty::CACHING_OFF) {
+ $_output .= "\$sha = sha1($include_file . $_cache_id . $_compile_id);\n";
+ $_output .= "if (isset(\$_smarty_tpl->smarty->template_objects[\$sha])) {\n";
+ $_output .= "\$_template = \$_smarty_tpl->smarty->template_objects[\$sha]; \$_template->caching = $_caching; \$_template->cache_lifetime = $_cache_lifetime;\n";
+ $_output .= "} else {\n";
+ }
+ $_output .= "\$_template = new {$compiler->smarty->template_class}($include_file, \$_smarty_tpl->smarty, \$_smarty_tpl, $_cache_id, $_compile_id, $_caching, $_cache_lifetime);\n";
+ if ($_caching != 'null' && $_caching != Smarty::CACHING_OFF) {
+ $_output .= "}\n";
+ }
// delete {include} standard attributes
unset($_attr['file'], $_attr['assign'], $_attr['cache_id'], $_attr['compile_id'], $_attr['cache_lifetime'], $_attr['nocache'], $_attr['caching'], $_attr['scope'], $_attr['inline']);
// remaining attributes must be assigned as smarty variable
$_output .= "<?php /* End of included template \"" . $tpl->getTemplateFilepath() . "\" */ ?>\n";
$_output .= "<?php \$_smarty_tpl = array_pop(\$_tpl_stack);?>";
} else {
- $_output .= " echo \$_template->getRenderedTemplate();?>";
+ $_output .= " echo \$_template->getRenderedTemplate(); \$_template->rendered_content = null;?>";
if ($_parent_scope != Smarty::SCOPE_LOCAL) {
$_output .= "<?php \$_template->updateParentVariables($_parent_scope);?>";
}
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_config.php b/gosa-core/include/smarty/sysplugins/smarty_internal_config.php
index 06ae70ba910e9b12c5cb37137e864a6051933c7e..5355512338c3f4a259927125f22bbf0a4585291b 100644 (file)
}
}
// scan sections
- foreach ($_config_vars['sections'] as $this_section => $dummy) {
- if ($sections == null || in_array($this_section, (array)$sections)) {
- foreach ($_config_vars['sections'][$this_section]['vars'] as $variable => $value) {
- if ($this->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) {
- $scope_ptr->config_vars[$variable] = $value;
- } else {
- $scope_ptr->config_vars[$variable] = array_merge((array)$scope_ptr->config_vars[$variable], (array)$value);
- }
- }
- }
+ if(!empty($sections)) {
+ foreach ($_config_vars['sections'] as $this_section => $dummy) {
+ if (in_array($this_section, (array)$sections)) {
+ foreach ($_config_vars['sections'][$this_section]['vars'] as $variable => $value) {
+ if ($this->smarty->config_overwrite || !isset($scope_ptr->config_vars[$variable])) {
+ $scope_ptr->config_vars[$variable] = $value;
+ } else {
+ $scope_ptr->config_vars[$variable] = array_merge((array)$scope_ptr->config_vars[$variable], (array)$value);
+ }
+ }
+ }
+ }
}
}
}
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php b/gosa-core/include/smarty/sysplugins/smarty_internal_configfilelexer.php
index 9186fe22fcea2dc108e7cce5d566025a15b17221..86143bcfea5371c5b62ede9408acdc67491ce734 100644 (file)
/**
* Smarty Internal Plugin Configfilelexer
*
-* This is the lexer to break the config file source into tokens
+* This is the lexer to break the config file source into tokens
* @package Smarty
* @subpackage Config
-* @author Uwe Tews
+* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Configfilelexer
private $state = 1;
public $smarty_token_names = array ( // Text for parser error messages
);
-
-
+
+
function __construct($data, $smarty)
{
// set instance object
- self::instance($this);
+ self::instance($this);
$this->data = $data . "\n"; //now all lines are \n-terminated
$this->counter = 0;
$this->line = 1;
- $this->smarty = $smarty;
+ $this->smarty = $smarty;
}
public static function &instance($new_instance = null)
{
if (isset($new_instance) && is_object($new_instance))
$instance = $new_instance;
return $instance;
- }
+ }
3 => 0,
4 => 0,
5 => 0,
- 6 => 0,
- 7 => 0,
+ 6 => 1,
8 => 0,
9 => 0,
+ 10 => 0,
);
if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/^([ \t\r]+)|^(\\d+\\.\\d+(?=[ \t\r]*[\n#]))|^(\\d+(?=[ \t\r]*[\n#]))|^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#]))|^(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#]))|^(\"\"\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"\"\"(?=[ \t\r]*[\n#]))|^([a-zA-Z]+(?=[ \t\r]*[\n#]))|^([^\n]+?(?=[ \t\r]*\n))|^(\n)/iS";
+ $yy_global_pattern = "/^([ \t\r]+)|^(\\d+\\.\\d+(?=[ \t\r]*[\n#]))|^(\\d+(?=[ \t\r]*[\n#]))|^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(?=[ \t\r]*[\n#]))|^(\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\"(?=[ \t\r]*[\n#]))|^(\"\"\"([^\"]|\\\\\"|\"{1,2}[^\"])*\"\"\"(?=[ \t\r]*[\n#]))|^([a-zA-Z]+(?=[ \t\r]*[\n#]))|^([^\n]+?(?=[ \t\r]*\n))|^(\n)/iS";
do {
if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
$this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_DOUBLE_QUOTED_STRING;
$this->yypopstate();
}
- function yy_r2_7($yy_subpatterns)
+ function yy_r2_8($yy_subpatterns)
{
if (!$this->smarty->config_booleanize || !in_array(strtolower($this->value), Array("true", "false", "on", "off", "yes", "no")) ) {
$this->yypopstate();
}
}
- function yy_r2_8($yy_subpatterns)
+ function yy_r2_9($yy_subpatterns)
{
$this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
$this->yypopstate();
}
- function yy_r2_9($yy_subpatterns)
+ function yy_r2_10($yy_subpatterns)
{
$this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_data.php b/gosa-core/include/smarty/sysplugins/smarty_internal_data.php
index 609376ecb67898a997ef5c03c88b6fa26703f9e0..167262694bf70bc216244217cbafb6f45c0e2ba3 100644 (file)
/**
* Smarty Internal Plugin Data
- *
+ *
* This file contains the basic classes and methodes for template and variable creation
- *
+ *
* @package Smarty
* @subpackage Templates
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
/**
* assigns a Smarty variable
- *
+ *
* @param array $ |string $tpl_var the template variable name(s)
* @param mixed $value the value to assign
* @param boolean $nocache if true any output of this variable will be not cached
foreach ($tpl_var as $_key => $_val) {
if ($_key != '') {
$this->tpl_vars[$_key] = new Smarty_variable($_val, $nocache);
- }
- }
+ }
+ }
} else {
if ($tpl_var != '') {
$this->tpl_vars[$tpl_var] = new Smarty_variable($value, $nocache);
- }
- }
- }
+ }
+ }
+ }
/**
* assigns a global Smarty variable
- *
+ *
* @param string $varname the global variable name
* @param mixed $value the value to assign
* @param boolean $nocache if true any output of this variable will be not cached
{
if ($varname != '') {
Smarty::$global_tpl_vars[$varname] = new Smarty_variable($value, $nocache);
- }
- }
+ }
+ }
/**
* assigns values to template variables by reference
- *
+ *
* @param string $tpl_var the template variable name
* @param mixed $ &$value the referenced value to assign
* @param boolean $nocache if true any output of this variable will be not cached
if ($tpl_var != '') {
$this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache);
$this->tpl_vars[$tpl_var]->value = &$value;
- }
- }
+ }
+ }
/**
* wrapper function for Smarty 2 BC
- *
+ *
* @param string $tpl_var the template variable name
* @param mixed $ &$value the referenced value to assign
*/
if($this->smarty->deprecation_notices)
trigger_error("function call 'assign_by_ref' is unknown or deprecated, use 'assignByRef'", E_USER_NOTICE);
$this->assignByRef($tpl_var, $value);
- }
+ }
/**
* appends values to template variables
- *
+ *
* @param array $ |string $tpl_var the template variable name(s)
* @param mixed $value the value to append
* @param boolean $merge flag if array elements shall be merged
$this->tpl_vars[$_key] = new Smarty_variable(null, $nocache);
} else {
$this->tpl_vars[$_key] = clone $tpl_var_inst;
- }
- }
+ }
+ }
if (!(is_array($this->tpl_vars[$_key]->value) || $this->tpl_vars[$_key]->value instanceof ArrayAccess)) {
settype($this->tpl_vars[$_key]->value, 'array');
- }
+ }
if ($merge && is_array($_val)) {
foreach($_val as $_mkey => $_mval) {
$this->tpl_vars[$_key]->value[$_mkey] = $_mval;
- }
+ }
} else {
$this->tpl_vars[$_key]->value[] = $_val;
- }
- }
- }
+ }
+ }
+ }
} else {
if ($tpl_var != '' && isset($value)) {
if (!isset($this->tpl_vars[$tpl_var])) {
$this->tpl_vars[$tpl_var] = new Smarty_variable(null, $nocache);
} else {
$this->tpl_vars[$tpl_var] = clone $tpl_var_inst;
- }
- }
+ }
+ }
if (!(is_array($this->tpl_vars[$tpl_var]->value) || $this->tpl_vars[$tpl_var]->value instanceof ArrayAccess)) {
settype($this->tpl_vars[$tpl_var]->value, 'array');
- }
+ }
if ($merge && is_array($value)) {
foreach($value as $_mkey => $_mval) {
$this->tpl_vars[$tpl_var]->value[$_mkey] = $_mval;
- }
+ }
} else {
$this->tpl_vars[$tpl_var]->value[] = $value;
- }
- }
- }
- }
+ }
+ }
+ }
+ }
/**
* appends values to template variables by reference
- *
+ *
* @param string $tpl_var the template variable name
* @param mixed $ &$value the referenced value to append
* @param boolean $merge flag if array elements shall be merged
if ($tpl_var != '' && isset($value)) {
if (!isset($this->tpl_vars[$tpl_var])) {
$this->tpl_vars[$tpl_var] = new Smarty_variable();
- }
+ }
if (!@is_array($this->tpl_vars[$tpl_var]->value)) {
settype($this->tpl_vars[$tpl_var]->value, 'array');
- }
+ }
if ($merge && is_array($value)) {
foreach($value as $_key => $_val) {
$this->tpl_vars[$tpl_var]->value[$_key] = &$value[$_key];
- }
+ }
} else {
$this->tpl_vars[$tpl_var]->value[] = &$value;
- }
- }
- }
-
+ }
+ }
+ }
+
/**
- *
+ *
* @param string $tpl_var the template variable name
* @param mixed $ &$value the referenced value to append
* @param boolean $merge flag if array elements shall be merged
if($this->smarty->deprecation_notices)
trigger_error("function call 'append_by_ref' is unknown or deprecated, use 'appendByRef'", E_USER_NOTICE);
$this->appendByRef($tpl_var, $value, $merge);
- }
+ }
/**
* Returns a single or all template variables
- *
+ *
* @param string $varname variable name or null
* @return string variable value or or array of variables
*/
return $_var->value;
} else {
return null;
- }
+ }
} else {
$_result = array();
if ($_ptr === null) {
if (!array_key_exists($key, $_result)) {
$_result[$key] = $var->value;
}
- }
+ }
// not found, try at parent
if ($search_parents) {
$_ptr = $_ptr->parent;
} else {
$_ptr = null;
- }
- }
+ }
+ }
if ($search_parents && isset(Smarty::$global_tpl_vars)) {
foreach (Smarty::$global_tpl_vars AS $key => $var) {
if (!array_key_exists($key, $_result)) {
$_result[$key] = $var->value;
}
- }
- }
+ }
+ }
return $_result;
- }
- }
+ }
+ }
/**
* clear the given assigned template variable.
- *
+ *
* @param string $ |array $tpl_var the template variable(s) to clear
*/
public function clearAssign($tpl_var)
if (is_array($tpl_var)) {
foreach ($tpl_var as $curr_var) {
unset($this->tpl_vars[$curr_var]);
- }
+ }
} else {
unset($this->tpl_vars[$tpl_var]);
- }
- }
+ }
+ }
/**
* clear all the assigned template variables.
public function clearAllAssign()
{
$this->tpl_vars = array();
- }
+ }
/**
* load a config file, optionally load just selected sections
- *
+ *
* @param string $config_file filename
* @param mixed $sections array of section names, single section or null
*/
public function configLoad($config_file, $sections = null)
- {
+ {
// load Config class
$config = new Smarty_Internal_Config($config_file, $this->smarty, $this);
$config->loadConfigVars($sections);
- }
+ }
/**
* gets the object of a Smarty variable
- *
+ *
* @param string $variable the name of the Smarty variable
* @param object $_ptr optional pointer to data object
* @param boolean $search_parents search also in parent data
if (isset($_ptr->tpl_vars[$_variable])) {
// found it, return it
return $_ptr->tpl_vars[$_variable];
- }
+ }
// not found, try at parent
if ($search_parents) {
$_ptr = $_ptr->parent;
} else {
$_ptr = null;
- }
- }
+ }
+ }
if (isset(Smarty::$global_tpl_vars[$_variable])) {
// found it, return it
return Smarty::$global_tpl_vars[$_variable];
- }
+ }
if ($this->smarty->error_unassigned && $error_enable) {
throw new SmartyException('Undefined Smarty variable "' . $_variable . '"');
} else {
$x = $$_variable;
}
return new Undefined_Smarty_Variable;
- }
- }
+ }
+ }
/**
* gets a config variable
- *
+ *
* @param string $variable the name of the config variable
* @return mixed the value of the config variable
*/
if (isset($_ptr->config_vars[$_variable])) {
// found it, return it
return $_ptr->config_vars[$_variable];
- }
+ }
// not found, try at parent
$_ptr = $_ptr->parent;
- }
+ }
if ($this->smarty->error_unassigned) {
throw new SmartyException('Undefined config variable "' . $_variable . '"');
} else {
// force a notice
$x = $$_variable;
return null;
- }
- }
+ }
+ }
/**
* gets a stream variable
- *
+ *
* @param string $variable the stream of the variable
* @return mixed the value of the stream variable
*/
{
$_result = '';
if ($fp = fopen($variable, 'r+')) {
- while (!feof($fp)) {
- $_result .= fgets($fp);
- }
+ while (!feof($fp) && ($current_line = fgets($fp)) !== false ) {
+ $_result .= $current_line;
+ }
fclose($fp);
return $_result;
- }
+ }
if ($this->smarty->error_unassigned) {
throw new SmartyException('Undefined stream variable "' . $variable . '"');
} else {
return null;
- }
- }
+ }
+ }
/**
* Returns a single or all config variables
- *
+ *
* @param string $varname variable name or null
* @return string variable value or or array of variables
*/
}
} else {
$var_array = array_merge($_ptr->config_vars, $var_array);
- }
+ }
// not found, try at parent
if ($search_parents) {
$_ptr = $_ptr->parent;
} else {
$_ptr = null;
- }
- }
+ }
+ }
if (isset($varname)) {
return '';
} else {
return $var_array;
- }
- }
+ }
+ }
/**
* Deassigns a single or all config variables
- *
+ *
* @param string $varname variable name or null
*/
function clearConfig($varname = null)
} else {
$this->config_vars = array();
return;
- }
- }
+ }
+ }
-}
+}
/**
* class for the Smarty data object
- *
+ *
* The Smarty data object will hold Smarty variables in the current scope
- *
+ *
* @param object $parent tpl_vars next higher level of Smarty variables
*/
class Smarty_Data extends Smarty_Internal_Data {
// array of variable objects
- public $tpl_vars = array();
+ public $tpl_vars = array();
// back pointer to parent object
- public $parent = null;
+ public $parent = null;
// config vars
- public $config_vars = array();
+ public $config_vars = array();
// Smarty object
public $smarty = null;
/**
// set up variable values
foreach ($_parent as $_key => $_val) {
$this->tpl_vars[$_key] = new Smarty_variable($_val);
- }
+ }
} elseif ($_parent != null) {
throw new SmartyException("Wrong type for template variables");
- }
- }
-}
+ }
+ }
+}
/**
* class for the Smarty variable object
- *
+ *
* This class defines the Smarty variable object
*/
class Smarty_Variable {
public $scope;
/**
* create Smarty variable object
- *
+ *
* @param mixed $value the value to assign
* @param boolean $nocache if true any output of this variable will be not cached
* @param boolean $scope the scope the variable will have (local,parent or root)
$this->value = $value;
$this->nocache = $nocache;
$this->scope = $scope;
- }
+ }
public function __toString ()
{
return $this->value;
- }
-}
+ }
+}
/**
* class for undefined variable object
- *
+ *
* This class defines an object for undefined variable handling
*/
class Undefined_Smarty_Variable {
return false;
} else {
return null;
- }
- }
-}
+ }
+ }
+}
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php b/gosa-core/include/smarty/sysplugins/smarty_internal_debug.php
index 0fd22a6a672e8cdad593168cd97cb61c40312b2d..e605ca8b613551f2e0d789b47c02e40681320bc9 100644 (file)
// prepare information of assigned variables
$ptr = self::get_debug_vars($obj);
if ($obj instanceof Smarty) {
- $smarty = $obj;
+ $smarty = clone $obj;
} else {
- $smarty = $obj->smarty;
+ $smarty = clone $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 = '}';
+ $smarty->registered_filters = array();
+ $smarty->autoload_filters = array();
+ $smarty->default_modifiers = array();
$_template = new Smarty_Internal_Template ($smarty->debug_tpl, $smarty);
$_template->caching = false;
$_template->force_compile = false;
$_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
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php b/gosa-core/include/smarty/sysplugins/smarty_internal_function_call_handler.php
index 44039169204c7679d4ab0bc8e2d0a9a1feaf4e36..928f04471107a9376fee69a74f34733fa418b8cf 100644 (file)
<?php\r
/**\r
* Smarty Internal Plugin Function Call Handler\r
- * \r
+ *\r
* @package Smarty\r
* @subpackage PluginsInternal\r
- * @author Uwe Tews \r
+ * @author Uwe Tews\r
*/\r
\r
/**\r
$_template->smarty->template_functions[$_name]['called_nocache'] = true;\r
} else {\r
$_function = "smarty_template_function_{$_hash}_{$_name}";\r
- } \r
+ }\r
if (!is_callable($_function)) {\r
$_code = "function {$_function}(\$_smarty_tpl,\$params) {\r
\$saved_tpl_vars = \$_smarty_tpl->tpl_vars;\r
- foreach (\$_smarty_tpl->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(trim(\$value,'\''));};\r
+ foreach (\$_smarty_tpl->template_functions['{$_name}']['parameter'] as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);};\r
foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>";\r
if ($_nocache) {\r
$_code .= preg_replace(array("!<\?php echo \\'/\*%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/|/\*/%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/\\';\?>!",\r
"!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']);\r
} else {\r
$_code .= preg_replace("/{$_template->smarty->template_functions[$_name]['nocache_hash']}/", $_template->properties['nocache_hash'], $_template->smarty->template_functions[$_name]['compiled']);\r
- } \r
+ }\r
$_code .= "<?php \$_smarty_tpl->tpl_vars = \$saved_tpl_vars;}";\r
eval($_code);\r
- } \r
+ }\r
$_function($_template, $_params);\r
- } \r
-} \r
+ }\r
+}\r
\r
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_extends.php
index 74dc0f9b6205e5d4c5a819d38b035fcc695587a7..7f972c691ae34a06d4d90dc25e28c64b351c5d3b 100644 (file)
if ($_filepath != $_last) {
if (preg_match_all("!({$this->_ldl}block\s(.+?){$this->_rdl})!", $_content, $_open) !=
preg_match_all("!({$this->_ldl}/block{$this->_rdl})!", $_content, $_close)) {
- $this->smarty->triggerError("unmatched {block} {/block} pairs in file '$_filepath'");
+ throw new SmartyException("unmatched {block} {/block} pairs in file '$_filepath'");
}
preg_match_all("!{$this->_ldl}block\s(.+?){$this->_rdl}|{$this->_ldl}/block{$this->_rdl}!", $_content, $_result, PREG_OFFSET_CAPTURE);
$_result_count = count($_result[0]);
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php b/gosa-core/include/smarty/sysplugins/smarty_internal_resource_stream.php
index de2996e935dd20a8e2be0462655006e1a0e2824c..1878002bf50a03fa7c81b2b2d6a1fb6b60ab2674 100644 (file)
<?php
/**
- * Smarty Internal Plugin Resource Stream
- *
- * Implements the streams as resource for Smarty template
- *
- * @package Smarty
- * @subpackage TemplateResources
- * @author Uwe Tews
- */
-
+* Smarty Internal Plugin Resource Stream
+*
+* Implements the streams as resource for Smarty template
+*
+* @package Smarty
+* @subpackage TemplateResources
+* @author Uwe Tews
+*/
+
/**
- * Smarty Internal Plugin Resource Stream
- */
+* Smarty Internal Plugin Resource Stream
+*/
class Smarty_Internal_Resource_Stream {
public function __construct($smarty)
{
$this->smarty = $smarty;
- }
+ }
// classes used for compiling Smarty templates from file resource
public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
public $template_lexer_class = 'Smarty_Internal_Templatelexer';
public $isEvaluated = true;
/**
- * Return flag if template source is existing
- *
- * @return boolean true
- */
+ * Return flag if template source is existing
+ *
+ * @return boolean true
+ */
public function isExisting($template)
{
if ($template->getTemplateSource() == '') {
return false;
} else {
return true;
- }
- }
+ }
+ }
/**
- * Get filepath to template source
- *
- * @param object $_template template object
- * @return string return 'string' as template source is not a file
- */
+ * Get filepath to template source
+ *
+ * @param object $_template template object
+ * @return string return 'string' as template source is not a file
+ */
public function getTemplateFilepath($_template)
- {
+ {
// no filepath for strings
// return resource name for compiler error messages
return str_replace(':', '://', $_template->template_resource);
- }
+ }
/**
- * Get timestamp to template source
- *
- * @param object $_template template object
- * @return boolean false as string resources have no timestamp
- */
+ * Get timestamp to template source
+ *
+ * @param object $_template template object
+ * @return boolean false as string resources have no timestamp
+ */
public function getTemplateTimestamp($_template)
- {
+ {
// strings must always be compiled and have no timestamp
return false;
- }
+ }
/**
- * Retuen template source from resource name
- *
- * @param object $_template template object
- * @return string content of template source
- */
+ * Retuen template source from resource name
+ *
+ * @param object $_template template object
+ * @return string content of template source
+ */
public function getTemplateSource($_template)
- {
+ {
// return template string
$_template->template_source = '';
- $fp = fopen(str_replace(':', '://', $_template->template_resource),'r+');
- while (!feof($fp)) {
- $_template->template_source .= fgets($fp);
- }
- fclose($fp);
-
- return true;
- }
+ if ($fp = fopen(str_replace(':', '://', $_template->template_resource),'r+')) {
+ while (!feof($fp) && ($current_line = fgets($fp)) !== false ) {
+ $_template->template_source .= $current_line;
+ }
+ fclose($fp);
+ return true;
+ } else {
+ return false;
+ }
+ }
/**
- * Get filepath to compiled template
- *
- * @param object $_template template object
- * @return boolean return false as compiled template is not stored
- */
+ * Get filepath to compiled template
+ *
+ * @param object $_template template object
+ * @return boolean return false as compiled template is not stored
+ */
public function getCompiledFilepath($_template)
- {
+ {
// no filepath for strings
return false;
- }
-}
+ }
+}
?>
\ 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 070fb840d72408c5a1c20bec36778499828f123e..480fbee650f5f0dddb1141194498e85a7def3be0 100644 (file)
/**
* Smarty Internal Plugin Template
- *
+ *
* This file contains the Smarty template engine
- *
+ *
* @package Smarty
* @subpackage Templates
- * @author Uwe Tews
+ * @author Uwe Tews
*/
/**
class Smarty_Internal_Template extends Smarty_Internal_Data {
// object cache
public $compiler_object = null;
- public $cacher_object = null;
+ public $cacher_object = null;
// Smarty parameter
public $cache_id = null;
public $compile_id = null;
public $cache_lifetime = null;
public $cacher_class = null;
public $caching_type = null;
- public $forceNocache = false;
+ public $forceNocache = false;
// Template resource
public $template_resource = null;
public $resource_type = null;
public $resource_name = null;
// public $resource_object = null;
private $isExisting = null;
- public $templateUid = '';
+ public $templateUid = '';
// Template source
public $template_filepath = null;
public $template_source = null;
- private $template_timestamp = null;
+ private $template_timestamp = null;
// Compiled template
private $compiled_filepath = null;
public $compiled_template = null;
public $mustCompile = null;
public $suppressHeader = false;
public $suppressFileDependency = false;
- public $has_nocache_code = false;
- public $write_compiled_code = true;
+ public $has_nocache_code = false;
+ public $write_compiled_code = true;
// Rendered content
- public $rendered_content = null;
+ public $rendered_content = null;
// Cache file
private $cached_filepath = null;
public $cached_timestamp = null;
private $isCached = null;
// private $cache_resource_object = null;
- private $cacheFileChecked = false;
+ private $cacheFileChecked = false;
// template variables
public $tpl_vars = array();
public $parent = null;
- public $config_vars = array();
+ public $config_vars = array();
// storage for plugin
- public $plugin_data = array();
+ public $plugin_data = array();
// special properties
public $properties = array ('file_dependency' => array(),
'nocache_hash' => '',
- 'function' => array());
+ 'function' => array());
// required plugins
public $required_plugins = array('compiled' => array(), 'nocache' => array());
public $saved_modifier = null;
public $wrapper = null;
/**
* Create template data object
- *
+ *
* Some of the global Smarty settings copied to template scope
* It load the required template resources and cacher plugins
- *
+ *
* @param string $template_resource template resource string
* @param object $_parent back pointer to parent object with variables or null
* @param mixed $_cache_id cache id or null
*/
public function __construct($template_resource, $smarty, $_parent = null, $_cache_id = null, $_compile_id = null, $_caching = null, $_cache_lifetime = null)
{
- $this->smarty = &$smarty;
+ $this->smarty = &$smarty;
// Smarty parameter
$this->cache_id = $_cache_id === null ? $this->smarty->cache_id : $_cache_id;
$this->compile_id = $_compile_id === null ? $this->smarty->compile_id : $_compile_id;
$this->caching = $_caching === null ? $this->smarty->caching : $_caching;
if ($this->caching === true) $this->caching = Smarty::CACHING_LIFETIME_CURRENT;
$this->cache_lifetime = $_cache_lifetime === null ?$this->smarty->cache_lifetime : $_cache_lifetime;
- $this->parent = $_parent;
+ $this->parent = $_parent;
// dummy local smarty variable
- $this->tpl_vars['smarty'] = new Smarty_Variable;
+ $this->tpl_vars['smarty'] = new Smarty_Variable;
// Template resource
- $this->template_resource = $template_resource;
+ $this->template_resource = $template_resource;
// copy block data of template inheritance
if ($this->parent instanceof Smarty_Internal_Template) {
$this->block_data = $this->parent->block_data;
}
-
- }
+
+ }
/**
* Returns the template filepath
- *
+ *
* The template filepath is determined by the actual resource handler
- *
+ *
* @return string the template filepath
*/
public function getTemplateFilepath ()
return $this->template_filepath === null ?
$this->template_filepath = $this->resource_object->getTemplateFilepath($this) :
$this->template_filepath;
- }
+ }
/**
* Returns the timpestamp of the template source
- *
+ *
* The template timestamp is determined by the actual resource handler
- *
+ *
* @return integer the template timestamp
*/
public function getTemplateTimestamp ()
return $this->template_timestamp === null ?
$this->template_timestamp = $this->resource_object->getTemplateTimestamp($this) :
$this->template_timestamp;
- }
+ }
/**
* Returns the template source code
- *
+ *
* The template source is being read by the actual resource handler
- *
+ *
* @return string the template source
*/
public function getTemplateSource ()
if ($this->template_source === null) {
if (!$this->resource_object->getTemplateSource($this)) {
throw new SmartyException("Unable to read template {$this->resource_type} '{$this->resource_name}'");
- }
- }
+ }
+ }
return $this->template_source;
- }
+ }
/**
* Returns if the template is existing
- *
+ *
* The status is determined by the actual resource handler
- *
+ *
* @return boolean true if the template exists
*/
public function isExisting ($error = false)
{
if ($this->isExisting === null) {
$this->isExisting = $this->resource_object->isExisting($this);
- }
+ }
if (!$this->isExisting && $error) {
throw new SmartyException("Unable to load template {$this->resource_type} '{$this->resource_name}'");
- }
+ }
return $this->isExisting;
- }
+ }
/**
* Returns if the current template must be compiled by the Smarty compiler
- *
+ *
* It does compare the timestamps of template source and the compiled templates and checks the force compile configuration
- *
+ *
* @return boolean true if the template must be compiled
*/
public function mustCompile ()
{
$this->isExisting(true);
if ($this->mustCompile === null) {
- $this->mustCompile = ($this->resource_object->usesCompiler && ($this->smarty->force_compile || $this->resource_object->isEvaluated || $this->getCompiledTimestamp () === false ||
+ $this->mustCompile = ($this->resource_object->usesCompiler && ($this->smarty->force_compile || $this->resource_object->isEvaluated || $this->getCompiledTimestamp () === false ||
// ($this->smarty->compile_check && $this->getCompiledTimestamp () !== $this->getTemplateTimestamp ())));
($this->smarty->compile_check && $this->getCompiledTimestamp () < $this->getTemplateTimestamp ())));
- }
+ }
return $this->mustCompile;
- }
+ }
/**
* Returns the compiled template filepath
- *
+ *
* @return string the template filepath
*/
public function getCompiledFilepath ()
return $this->compiled_filepath === null ?
($this->compiled_filepath = !$this->resource_object->isEvaluated ? $this->resource_object->getCompiledFilepath($this) : false) :
$this->compiled_filepath;
- }
+ }
/**
* Returns the timpestamp of the compiled template
- *
+ *
* @return integer the template timestamp
*/
public function getCompiledTimestamp ()
return $this->compiled_timestamp === null ?
($this->compiled_timestamp = (!$this->resource_object->isEvaluated && file_exists($this->getCompiledFilepath())) ? filemtime($this->getCompiledFilepath()) : false) :
$this->compiled_timestamp;
- }
+ }
/**
- * Returns the compiled template
- *
+ * Returns the compiled template
+ *
* It checks if the template must be compiled or just read from the template resource
- *
+ *
* @return string the compiled template
*/
public function getCompiledTemplate ()
} else {
if ($this->compiled_template === null) {
$this->compiled_template = !$this->resource_object->isEvaluated && $this->resource_object->usesCompiler ? file_get_contents($this->getCompiledFilepath()) : false;
- }
- }
- }
+ }
+ }
+ }
return $this->compiled_template;
- }
+ }
/**
* Compiles the template
- *
+ *
* If the template is not evaluated the compiled template is saved on disk
*/
public function compileTemplateSource ()
if (!$this->resource_object->isEvaluated) {
$this->properties['file_dependency'] = array();
$this->properties['file_dependency'][$this->templateUid] = array($this->getTemplateFilepath(), $this->getTemplateTimestamp(),$this->resource_type);
- }
+ }
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_compile($this);
- }
+ }
// compile template
if (!is_object($this->compiler_object)) {
// load compiler
$this->smarty->loadPlugin($this->resource_object->compiler_class);
$this->compiler_object = new $this->resource_object->compiler_class($this->resource_object->template_lexer_class, $this->resource_object->template_parser_class, $this->smarty);
- }
+ }
// compile locking
if ($this->smarty->compile_locking && !$this->resource_object->isEvaluated) {
if ($saved_timestamp = $this->getCompiledTimestamp()) {
touch($this->getCompiledFilepath());
- }
- }
+ }
+ }
// call compiler
try {
$this->compiler_object->compileTemplate($this);
- }
+ }
catch (Exception $e) {
// restore old timestamp in case of error
if ($this->smarty->compile_locking && !$this->resource_object->isEvaluated && $saved_timestamp) {
touch($this->getCompiledFilepath(), $saved_timestamp);
- }
+ }
throw $e;
- }
+ }
// compiling succeded
if (!$this->resource_object->isEvaluated && $this->write_compiled_code) {
// write compiled template
Smarty_Internal_Write_File::writeFile($this->getCompiledFilepath(), $this->compiled_template, $this->smarty);
- }
+ }
if ($this->smarty->debugging) {
Smarty_Internal_Debug::end_compile($this);
}
// release objects to free memory
- Smarty_Internal_TemplateCompilerBase::$_tag_objects = array();
+ Smarty_Internal_TemplateCompilerBase::$_tag_objects = array();
unset($this->compiler_object->parser->root_buffer,
$this->compiler_object->parser->current_buffer,
$this->compiler_object->parser,
$this->compiler_object->lex,
- $this->compiler_object->template,
- $this->compiler_object
- );
- }
+ $this->compiler_object->template
+ );
+ $this->compiler_object = null;
+ }
/**
* Returns the filepath of the cached template output
- *
+ *
* The filepath is determined by the actual cache resource
- *
+ *
* @return string the cache filepath
*/
public function getCachedFilepath ()
return $this->cached_filepath === null ?
$this->cached_filepath = ($this->resource_object->isEvaluated || !($this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedFilepath($this) :
$this->cached_filepath;
- }
+ }
/**
* Returns the timpestamp of the cached template output
- *
+ *
* The timestamp is determined by the actual cache resource
- *
+ *
* @return integer the template timestamp
*/
public function getCachedTimestamp ()
return $this->cached_timestamp === null ?
$this->cached_timestamp = ($this->resource_object->isEvaluated || !($this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedTimestamp($this) :
$this->cached_timestamp;
- }
+ }
/**
* Returns the cached template output
- *
+ *
* @return string |booelan the template content or false if the file does not exist
*/
public function getCachedContent ()
return $this->rendered_content === null ?
$this->rendered_content = ($this->resource_object->isEvaluated || !($this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED)) ? false : $this->cache_resource_object->getCachedContents($this) :
$this->rendered_content;
- }
+ }
/**
* Writes the cached template output
if ($this->resource_object->isEvaluated || !($this->caching == Smarty::CACHING_LIFETIME_CURRENT || $this->caching == Smarty::CACHING_LIFETIME_SAVED)) {
// don't write cache file
return false;
- }
+ }
$this->properties['cache_lifetime'] = $this->cache_lifetime;
return $this->cache_resource_object->writeCachedContent($this, $this->createPropertyHeader(true) .$content);
- }
+ }
/**
* Checks of a valid version redered HTML output is in the cache
- *
+ *
* If the cache is valid the contents is stored in the template object
- *
+ *
* @return boolean true if cache is valid
*/
public function isCached ($template = null, $cache_id = null, $compile_id = null, $parent = null)
{
- if ($template === null) {
+ if ($template === null) {
$no_render = true;
} elseif ($template === false) {
$no_render = false;
$cachedTimestamp = $this->getCachedTimestamp();
if ($cachedTimestamp === false || $this->smarty->force_compile || $this->smarty->force_cache) {
return $this->isCached;
- }
+ }
if ($this->caching === Smarty::CACHING_LIFETIME_SAVED || ($this->caching == Smarty::CACHING_LIFETIME_CURRENT && (time() <= ($cachedTimestamp + $this->cache_lifetime) || $this->cache_lifetime < 0))) {
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_cache($this);
- }
+ }
$this->rendered_content = $this->cache_resource_object->getCachedContents($this, $no_render);
if ($this->smarty->debugging) {
Smarty_Internal_Debug::end_cache($this);
- }
+ }
if ($this->cacheFileChecked) {
$this->isCached = true;
return $this->isCached;
- }
+ }
$this->cacheFileChecked = true;
if ($this->caching === Smarty::CACHING_LIFETIME_SAVED && $this->properties['cache_lifetime'] >= 0 && (time() > ($this->getCachedTimestamp() + $this->properties['cache_lifetime']))) {
$this->tpl_vars = array();
+ $this->tpl_vars['smarty'] = new Smarty_Variable;
$this->rendered_content = null;
return $this->isCached;
- }
+ }
if (!empty($this->properties['file_dependency']) && $this->smarty->compile_check) {
$resource_type = null;
$resource_name = null;
$this->getResourceTypeName($_file_to_check[0], $resource_type, $resource_name);
$resource_handler = $this->loadTemplateResourceHandler($resource_type);
$mtime = $resource_handler->getTemplateTimestampTypeName($resource_type, $resource_name);
- }
+ }
// If ($mtime > $this->getCachedTimestamp()) {
If ($mtime > $_file_to_check[1]) {
$this->tpl_vars = array();
+ $this->tpl_vars['smarty'] = new Smarty_Variable;
$this->rendered_content = null;
return $this->isCached;
- }
- }
- }
+ }
+ }
+ }
$this->isCached = true;
- }
- }
- }
+ }
+ }
+ }
return $this->isCached;
- }
+ }
/**
* Render the output using the compiled template or the PHP template source
- *
+ *
* The rendering process is accomplished by just including the PHP files.
- * The only exceptions are evaluated templates (string template). Their code has
+ * The only exceptions are evaluated templates (string template). Their code has
* to be evaluated
*/
public function renderTemplate ()
if ($this->resource_object->usesCompiler) {
if ($this->mustCompile() && $this->compiled_template === null) {
$this->compileTemplateSource();
- }
+ }
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_render($this);
- }
+ }
$_smarty_tpl = $this;
ob_start();
if ($this->resource_object->isEvaluated) {
eval("?>" . $this->compiled_template);
} else {
- include($this->getCompiledFilepath ());
+ include($this->getCompiledFilepath ());
// check file dependencies at compiled code
if ($this->smarty->compile_check) {
if (!empty($this->properties['file_dependency'])) {
$this->getResourceTypeName($_file_to_check[0], $resource_type, $resource_name);
$resource_handler = $this->loadTemplateResourceHandler($resource_type);
$mtime = $resource_handler->getTemplateTimestampTypeName($resource_type, $resource_name);
- }
+ }
// If ($mtime != $_file_to_check[1]) {
If ($mtime > $_file_to_check[1]) {
$this->mustCompile = true;
break;
- }
- }
+ }
+ }
if ($this->mustCompile) {
// recompile and render again
ob_get_clean();
$this->compileTemplateSource();
ob_start();
include($this->getCompiledFilepath ());
- }
- }
- }
- }
+ }
+ }
+ }
+ }
} else {
if (is_callable(array($this->resource_object, 'renderUncompiled'))) {
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_render($this);
- }
+ }
ob_start();
$this->resource_object->renderUncompiled($this);
} else {
throw new SmartyException("Resource '$this->resource_type' must have 'renderUncompiled' methode");
- }
- }
+ }
+ }
$this->rendered_content = ob_get_clean();
if (!$this->resource_object->isEvaluated && empty($this->properties['file_dependency'][$this->templateUid])) {
$this->properties['file_dependency'][$this->templateUid] = array($this->getTemplateFilepath(), $this->getTemplateTimestamp(),$this->resource_type);
- }
+ }
if ($this->parent instanceof Smarty_Internal_Template) {
$this->parent->properties['file_dependency'] = array_merge($this->parent->properties['file_dependency'], $this->properties['file_dependency']);
foreach($this->required_plugins as $code => $tmp1) {
foreach($tmp1 as $name => $tmp) {
foreach($tmp as $type => $data) {
$this->parent->required_plugins[$code][$name][$type] = $data;
- }
- }
- }
- }
+ }
+ }
+ }
+ }
if ($this->smarty->debugging) {
Smarty_Internal_Debug::end_render($this);
- }
+ }
// write to cache when nessecary
if (!$this->resource_object->isEvaluated && ($this->caching == Smarty::CACHING_LIFETIME_SAVED || $this->caching == Smarty::CACHING_LIFETIME_CURRENT)) {
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_cache($this);
- }
- $this->properties['has_nocache_code'] = false;
+ }
+ $this->properties['has_nocache_code'] = false;
// get text between non-cached items
- $cache_split = preg_split("!/\*%%SmartyNocache:{$this->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!s", $this->rendered_content);
+ $cache_split = preg_split("!/\*%%SmartyNocache:{$this->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!s", $this->rendered_content);
// get non-cached items
preg_match_all("!/\*%%SmartyNocache:{$this->properties['nocache_hash']}%%\*\/(.+?)/\*/%%SmartyNocache:{$this->properties['nocache_hash']}%%\*/!s", $this->rendered_content, $cache_parts);
- $output = '';
+ $output = '';
// loop over items, stitch back together
foreach($cache_split as $curr_idx => $curr_split) {
// escape PHP tags in template content
$output .= preg_replace('/(<%|%>|<\?php|<\?|\?>)/', '<?php echo \'$1\'; ?>', $curr_split);
if (isset($cache_parts[0][$curr_idx])) {
- $this->properties['has_nocache_code'] = true;
+ $this->properties['has_nocache_code'] = true;
// remove nocache tags from cache output
$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);
}
$_smarty_tpl = $this;
ob_start();
eval("?>" . $output);
- $this->rendered_content = ob_get_clean();
+ $this->rendered_content = ob_get_clean();
// write cache file content
$this->writeCachedContent('<?php if (!$no_render) {?>'. $output. '<?php } ?>');
if ($this->smarty->debugging) {
Smarty_Internal_Debug::end_cache($this);
- }
+ }
} else {
// var_dump('renderTemplate', $this->has_nocache_code, $this->template_resource, $this->properties['nocache_hash'], $this->parent->properties['nocache_hash'], $this->rendered_content);
if ($this->has_nocache_code && !empty($this->properties['nocache_hash']) && !empty($this->parent->properties['nocache_hash'])) {
// replace nocache_hash
$this->rendered_content = preg_replace("/{$this->properties['nocache_hash']}/", $this->parent->properties['nocache_hash'], $this->rendered_content);
$this->parent->has_nocache_code = $this->has_nocache_code;
- }
- }
- }
+ }
+ }
+ }
/**
- * Returns the rendered HTML output
- *
+ * Returns the rendered HTML output
+ *
* If the cache is valid the cached content is used, otherwise
* the output is rendered from the compiled template or PHP template source
- *
+ *
* @return string rendered HTML output
*/
public function getRenderedTemplate ()
- {
+ {
// disable caching for evaluated code
if ($this->resource_object->isEvaluated) {
$this->caching = false;
- }
+ }
// checks if template exists
- $this->isExisting(true);
+ $this->isExisting(true);
// read from cache or render
if ($this->rendered_content === null) {
if ($this->isCached) {
if ($this->smarty->debugging) {
Smarty_Internal_Debug::start_cache($this);
- }
+ }
$this->rendered_content = $this->cache_resource_object->getCachedContents($this, false);
if ($this->smarty->debugging) {
Smarty_Internal_Debug::end_cache($this);
}
- }
- if ($this->isCached === null) {
- $this->isCached(false);
}
- if (!$this->isCached) {
+ if ($this->isCached === null) {
+ $this->isCached(false);
+ }
+ if (!$this->isCached) {
// render template (not loaded and not in cache)
$this->renderTemplate();
}
- }
+ }
$this->updateParentVariables();
$this->isCached = null;
return $this->rendered_content;
- }
+ }
/**
* Parse a template resource in its name and type
* Load required resource handler
- *
+ *
* @param string $template_resource template resource specification
* @param string $resource_type return resource type
* @param string $resource_name return resource name
if (empty($template_resource))
return false;
$this->getResourceTypeName($template_resource, $resource_type, $resource_name);
- $resource_handler = $this->loadTemplateResourceHandler($resource_type);
+ $resource_handler = $this->loadTemplateResourceHandler($resource_type);
// cache template object under a unique ID
// do not cache eval resources
if ($resource_type != 'eval') {
$this->smarty->template_objects[sha1($this->template_resource . $this->cache_id . $this->compile_id)] = $this;
- }
+ }
return true;
- }
+ }
/**
* get system filepath to template
if ($file == null) {
$file = $this->resource_name;
}
- // relative file name?
+ // relative file name?
if (!preg_match('/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/', $file)) {
foreach((array)$this->smarty->template_dir as $_template_dir) {
if (strpos('/\\', substr($_template_dir, -1)) === false) {
$_template_dir .= DS;
- }
+ }
$_filepath = $_template_dir . $file;
if (file_exists($_filepath)) {
return $_filepath;
return $_return;
} elseif ($_return === true) {
return $file;
- }
- }
- }
+ }
+ }
+ }
return false;
- }
+ }
/**
* Update Smarty variables in other scopes
$_variable_scope = $this->tpl_vars[$_key]->scope;
if ($scope == Smarty::SCOPE_LOCAL && $_variable_scope == Smarty::SCOPE_LOCAL) {
continue;
- }
+ }
if (isset($this->parent) && ($scope == Smarty::SCOPE_PARENT || $_variable_scope == Smarty::SCOPE_PARENT)) {
if (isset($this->parent->tpl_vars[$_key])) {
// variable is already defined in parent, copy value
// create variable in parent
$this->parent->tpl_vars[$_key] = clone $_variable;
$this->parent->tpl_vars[$_key]->scope = Smarty::SCOPE_LOCAL;
- }
- }
+ }
+ }
if ($scope == Smarty::SCOPE_ROOT || $_variable_scope == Smarty::SCOPE_ROOT) {
if ($this->parent == null) {
continue;
- }
+ }
if (!$has_root) {
// find root
$root_ptr = $this;
while ($root_ptr->parent != null) {
$root_ptr = $root_ptr->parent;
$has_root = true;
- }
- }
+ }
+ }
if (isset($root_ptr->tpl_vars[$_key])) {
// variable is already defined in root, copy value
$root_ptr->tpl_vars[$_key]->value = $this->tpl_vars[$_key]->value;
// create variable in root
$root_ptr->tpl_vars[$_key] = clone $_variable;
$root_ptr->tpl_vars[$_key]->scope = Smarty::SCOPE_LOCAL;
- }
- }
+ }
+ }
if ($scope == Smarty::SCOPE_GLOBAL || $_variable_scope == Smarty::SCOPE_GLOBAL) {
if (isset(Smarty::$global_tpl_vars[$_key])) {
// variable is already defined in root, copy value
} else {
// create global variable
Smarty::$global_tpl_vars[$_key] = clone $_variable;
- }
+ }
Smarty::$global_tpl_vars[$_key]->scope = Smarty::SCOPE_LOCAL;
- }
- }
- }
+ }
+ }
+ }
/**
* Split a template resource in its name and type
- *
+ *
* @param string $template_resource template resource specification
* @param string $resource_type return resource type
* @param string $resource_name return resource name
$resource_type = 'file';
$resource_name = $template_resource;
}
- }
- }
+ }
+ }
/**
* Load template resource handler by type
- *
+ *
* @param string $resource_type template resource type
* @return object resource handler object
*/
protected function loadTemplateResourceHandler ($resource_type)
- {
+ {
// try registered resource
if (isset($this->smarty->registered_resources[$resource_type])) {
return new Smarty_Internal_Resource_Registered($this);
return new $_resource_class($this->smarty);
} else {
return new Smarty_Internal_Resource_Registered($this, $resource_type);
- }
+ }
} else {
// try streams
$_known_stream = stream_get_wrappers();
// is known stream
if (is_object($this->smarty->security_policy)) {
$this->smarty->security_policy->isTrustedStream($resource_type);
- }
+ }
return new Smarty_Internal_Resource_Stream($this->smarty);
} else {
throw new SmartyException('Unkown resource type \'' . $resource_type . '\'');
- }
- }
- }
- }
- }
+ }
+ }
+ }
+ }
+ }
/**
* Create property header
*/
public function createPropertyHeader ($cache = false)
{
- $plugins_string = '';
+ $plugins_string = '';
// include code for plugins
if (!$cache) {
if (!empty($this->required_plugins['compiled'])) {
foreach($this->required_plugins['compiled'] as $tmp) {
foreach($tmp as $data) {
$plugins_string .= "if (!is_callable('{$data['function']}')) include '{$data['file']}';\n";
- }
- }
+ }
+ }
$plugins_string .= '?>';
- }
+ }
if (!empty($this->required_plugins['nocache'])) {
$this->has_nocache_code = true;
$plugins_string .= "<?php echo '/*%%SmartyNocache:{$this->properties['nocache_hash']}%%*/<?php ";
foreach($this->required_plugins['nocache'] as $tmp) {
foreach($tmp as $data) {
$plugins_string .= "if (!is_callable(\'{$data['function']}\')) include \'{$data['file']}\';\n";
- }
- }
+ }
+ }
$plugins_string .= "?>/*/%%SmartyNocache:{$this->properties['nocache_hash']}%%*/';?>\n";
- }
- }
+ }
+ }
// build property code
$this->properties['has_nocache_code'] = $this->has_nocache_code;
$properties_string = "<?php /*%%SmartyHeaderCode:{$this->properties['nocache_hash']}%%*/" ;
if ($this->smarty->direct_access_security) {
$properties_string .= "if(!defined('SMARTY_DIR')) exit('no direct access allowed');\n";
- }
+ }
if ($cache) {
// remove compiled code of{function} definition
unset($this->properties['function']);
if (isset($function_data['called_nocache'])) {
unset($function_data['called_nocache'], $this->smarty->template_functions[$name]['called_nocache']);
$this->properties['function'][$name] = $function_data;
- }
- }
- }
- }
+ }
+ }
+ }
+ }
$properties_string .= "\$_smarty_tpl->decodeProperties(" . var_export($this->properties, true) . "); /*/%%SmartyHeaderCode%%*/?>\n";
return $properties_string . $plugins_string;
- }
+ }
/**
* Decode saved properties from compiled template and cache files
$this->properties['nocache_hash'] = $properties['nocache_hash'];
if (isset($properties['cache_lifetime'])) {
$this->properties['cache_lifetime'] = $properties['cache_lifetime'];
- }
+ }
if (isset($properties['file_dependency'])) {
$this->properties['file_dependency'] = array_merge($this->properties['file_dependency'], $properties['file_dependency']);
- }
+ }
if (!empty($properties['function'])) {
$this->properties['function'] = array_merge($this->properties['function'], $properties['function']);
$this->smarty->template_functions = array_merge($this->smarty->template_functions, $properties['function']);
- }
- }
+ }
+ }
/**
* creates a local Smarty variable for array assignments
$this->tpl_vars[$tpl_var] = clone $tpl_var_inst;
if ($scope != Smarty::SCOPE_LOCAL) {
$this->tpl_vars[$tpl_var]->scope = $scope;
- }
- }
- }
+ }
+ }
+ }
if (!(is_array($this->tpl_vars[$tpl_var]->value) || $this->tpl_vars[$tpl_var]->value instanceof ArrayAccess)) {
settype($this->tpl_vars[$tpl_var]->value, 'array');
- }
- }
+ }
+ }
/**
* [util function] counts an array, arrayaccess/traversable or PDOStatement object
}
return $this->smarty->fetch($template, $cache_id, $compile_id, $parent, $display);
}
-
- }
-
+
+ }
+
/**
* wrapper for display
*/
}
return $this->smarty->display($template, $cache_id, $compile_id, $parent);
}
-
- }
+
+ }
/**
- * set Smarty property in template context
+ * set Smarty property in template context
* @param string $property_name property name
* @param mixed $value value
*/
}
/**
- * get Smarty property in template context
+ * get Smarty property in template context
* @param string $property_name property name
*/
public function __get($property_name)
// load template resource
$this->resource_object = null;
if (!$this->parseResourceName ($this->template_resource, $this->resource_type, $this->resource_name, $this->resource_object)) {
- throw new SmartyException ("Unable to parse resource name \"{$template_resource}\"");
+ throw new SmartyException ("Unable to parse resource name \"{$this->template_resource}\"");
}
return $this->resource_object;
}
- if ($property_name == 'cache_resource_object') {
+ if ($property_name == 'cache_resource_object') {
// load cache resource
$this->cache_resource_object = $this->loadCacheResource();
return $this->cache_resource_object;
* Takes unknown class methods and lazy loads sysplugin files for them
* class name format: Smarty_Method_MethodName
* plugin filename format: method.methodname.php
- *
+ *
* @param string $name unknown methode name
* @param array $args aurgument array
*/
{
static $camel_func;
if (!isset($camel_func))
- $camel_func = create_function('$c', 'return "_" . strtolower($c[1]);');
+ $camel_func = create_function('$c', 'return "_" . strtolower($c[1]);');
// see if this is a set/get for a property
$first3 = strtolower(substr($name, 0, 3));
if (in_array($first3, array('set', 'get')) && substr($name, 3, 1) !== '_') {
// try to keep case correct for future PHP 6.0 case-sensitive class methods
// lcfirst() not available < PHP 5.3.0, so improvise
- $property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
+ $property_name = strtolower(substr($name, 3, 1)) . substr($name, 4);
// convert camel case to underscored name
$property_name = preg_replace_callback('/([A-Z])/', $camel_func, $property_name);
if (property_exists($this, $property_name)) {
if (strpos($name,'_') !== false) {
if (!isset($this->wrapper)) {
$this->wrapper = new Smarty_Internal_Wrapper($this);
- }
+ }
return $this->wrapper->convert($name, $args);
}
- // pass call to Smarty object
+ // pass call to Smarty object
return call_user_func_array(array($this->smarty,$name),$args);
- }
+ }
}
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templatecompilerbase.php
index 76cec5dc188b708bb5bb50043df64cc34e06d0d3..b8b341e74c1abd363001d61902612dc652dbb45e 100644 (file)
<?php\r
/**\r
* Smarty Internal Plugin Smarty Template Compiler Base\r
- * \r
+ *\r
* This file contains the basic classes and methodes for compiling Smarty templates with lexer/parser\r
- * \r
+ *\r
* @package Smarty\r
* @subpackage Compiler\r
- * @author Uwe Tews \r
+ * @author Uwe Tews\r
*/\r
\r
/**\r
*/\r
class Smarty_Internal_TemplateCompilerBase {\r
// hash for nocache sections\r
- private $nocache_hash = null; \r
+ private $nocache_hash = null;\r
// suppress generation of nocache code\r
- public $suppressNocacheProcessing = false; \r
+ public $suppressNocacheProcessing = false;\r
// compile tag objects\r
- static $_tag_objects = array(); \r
+ static $_tag_objects = array();\r
// tag stack\r
- public $_tag_stack = array(); \r
+ public $_tag_stack = array();\r
// current template\r
public $template = null;\r
// optional log of tag/attributes\r
public function __construct()\r
{\r
$this->nocache_hash = str_replace('.', '-', uniqid(rand(), true));\r
- } \r
+ }\r
\r
/**\r
* Methode to compile a Smarty template\r
- * \r
+ *\r
* @param $template template object to compile\r
* @return bool true if compiling succeeded, false if it failed\r
*/\r
$template->properties['nocache_hash'] = $this->nocache_hash;\r
} else {\r
$this->nocache_hash = $template->properties['nocache_hash'];\r
- } \r
+ }\r
// flag for nochache sections\r
$this->nocache = false;\r
- $this->tag_nocache = false; \r
+ $this->tag_nocache = false;\r
// save template object in compiler class\r
$this->template = $template;\r
- $this->smarty->_current_file = $this->template->getTemplateFilepath(); \r
+ $this->smarty->_current_file = $saved_filepath = $this->template->getTemplateFilepath();\r
// template header code\r
$template_header = '';\r
if (!$template->suppressHeader) {\r
$template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n";\r
$template_header .= " compiled from \"" . $this->template->getTemplateFilepath() . "\" */ ?>\n";\r
- } \r
+ }\r
\r
do {\r
// flag for aborting current and start recompile\r
- $this->abort_and_recompile = false; \r
+ $this->abort_and_recompile = false;\r
// get template source\r
- $_content = $template->getTemplateSource(); \r
+ $_content = $template->getTemplateSource();\r
// run prefilter if required\r
if (isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) {\r
$template->template_source = $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template);\r
- } \r
+ }\r
// on empty template just return header\r
if ($_content == '') {\r
if ($template->suppressFileDependency) {\r
$template->compiled_template = '';\r
} else {\r
$template->compiled_template = $template_header . $template->createPropertyHeader();\r
- } \r
+ }\r
return true;\r
- } \r
+ }\r
// call compiler\r
$_compiled_code = $this->doCompile($_content);\r
- } while ($this->abort_and_recompile); \r
+ } while ($this->abort_and_recompile);\r
+ // restore original filepath which could have been modified by template inheritance\r
+ $this->template->template_filepath = $saved_filepath;\r
// return compiled code to template object\r
if ($template->suppressFileDependency) {\r
$template->compiled_template = $_compiled_code;\r
} else {\r
$template->compiled_template = $template_header . $template->createPropertyHeader() . $_compiled_code;\r
- } \r
+ }\r
// run postfilter if required\r
if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {\r
$template->compiled_template = Smarty_Internal_Filter_Handler::runFilter('post', $template->compiled_template, $template);\r
- } \r
- } \r
+ }\r
+ }\r
\r
/**\r
* Compile Tag\r
- * \r
+ *\r
* This is a call back from the lexer/parser\r
* It executes the required compile plugin for the Smarty tag\r
- * \r
+ *\r
* @param string $tag tag name\r
* @param array $args array with tag attributes\r
* @param array $parameter array with compilation parameter\r
* @return string compiled code\r
*/\r
public function compileTag($tag, $args, $parameter = array())\r
- { \r
+ {\r
// $args contains the attributes parsed and compiled by the lexer/parser\r
// assume that tag does compile into code, but creates no HTML output\r
$this->has_code = true;\r
// log tag/attributes\r
if (isset($this->smarty->get_used_tags) && $this->smarty->get_used_tags) {\r
$this->used_tags[] = array($tag,$args);\r
- } \r
+ }\r
// check nocache option flag\r
if (in_array("'nocache'",$args) || in_array(array('nocache'=>'true'),$args)\r
|| in_array(array('nocache'=>'"true"'),$args) || in_array(array('nocache'=>"'true'"),$args)) {\r
// template defined by {template} tag\r
$args['_attr']['name'] = "'" . $tag . "'";\r
$_output = $this->callTagCompiler('call', $args, $parameter);\r
- } \r
- } \r
+ }\r
+ }\r
if ($_output !== false) {\r
if ($_output !== true) {\r
// did we get compiled code\r
// Does it create output?\r
if ($this->has_output) {\r
$_output .= "\n";\r
- } \r
+ }\r
// return compiled code\r
return $_output;\r
- } \r
- } \r
+ }\r
+ }\r
// tag did not produce compiled code\r
return '';\r
} else {\r
foreach ($args['_attr'] as $key => $attribute) {\r
if (is_array($attribute)) {\r
$args = array_merge($args, $attribute);\r
- } \r
- } \r
- } \r
+ }\r
+ }\r
+ }\r
// not an internal compiler tag\r
if (strlen($tag) < 6 || substr($tag, -5) != 'close') {\r
// check if tag is a registered object\r
return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $methode);\r
} else {\r
return $this->trigger_template_error ('unallowed methode "' . $methode . '" in registered object "' . $tag . '"', $this->lex->taglineno);\r
- } \r
- } \r
+ }\r
+ }\r
// check if tag is registered\r
foreach (array(Smarty::PLUGIN_COMPILER, Smarty::PLUGIN_FUNCTION, Smarty::PLUGIN_BLOCK) as $type) {\r
if (isset($this->smarty->registered_plugins[$type][$tag])) {\r
// if compiler function plugin call it now\r
if ($type == Smarty::PLUGIN_COMPILER) {\r
$new_args = array();\r
- foreach ($args as $mixed) {\r
- $new_args = array_merge($new_args, $mixed);\r
- } \r
+ foreach ($args as $key => $mixed) {\r
+ if (is_array($mixed)) {\r
+ $new_args = array_merge($new_args, $mixed);\r
+ } else {\r
+ $new_args[$key] = $mixed;\r
+ }\r
+ }\r
if (!$this->smarty->registered_plugins[$type][$tag][1]) {\r
$this->tag_nocache = true;\r
- } \r
+ }\r
$function = $this->smarty->registered_plugins[$type][$tag][0];\r
if (!is_array($function)) {\r
return $function($new_args, $this);\r
return $this->smarty->registered_plugins[$type][$tag][0][0]->$function[1]($new_args, $this);\r
} else {\r
return call_user_func_array($this->smarty->registered_plugins[$type][$tag][0], array($new_args, $this));\r
- } \r
- } \r
+ }\r
+ }\r
// compile registered function or block function\r
if ($type == Smarty::PLUGIN_FUNCTION || $type == Smarty::PLUGIN_BLOCK) {\r
return $this->callTagCompiler('private_registered_' . $type, $args, $parameter, $tag);\r
- } \r
- } \r
- } \r
+ }\r
+ }\r
+ }\r
// check plugins from plugins folder\r
foreach ($this->smarty->plugin_search_order as $plugin_type) {\r
if ($plugin_type == Smarty::PLUGIN_BLOCK && $this->smarty->loadPlugin('smarty_compiler_' . $tag)) {\r
if (is_callable($plugin)) {\r
// convert arguments format for old compiler plugins\r
$new_args = array();\r
- foreach ($args as $mixed) {\r
- $new_args = array_merge($new_args, $mixed);\r
- } \r
+ foreach ($args as $key => $mixed) {\r
+ if (is_array($mixed)) {\r
+ $new_args = array_merge($new_args, $mixed);\r
+ } else {\r
+ $new_args[$key] = $mixed;\r
+ }\r
+ }\r
return $plugin($new_args, $this->smarty);\r
- } \r
+ }\r
if (class_exists($plugin, false)) {\r
$plugin_object = new $plugin;\r
if (method_exists($plugin_object, 'compile')) {\r
return $plugin_object->compile($args, $this);\r
- } \r
- } \r
+ }\r
+ }\r
throw new SmartyException("Plugin \"{$tag}\" not callable");\r
} else {\r
if ($function = $this->getPlugin($tag, $plugin_type)) {\r
return $this->callTagCompiler('private_' . $plugin_type . '_plugin', $args, $parameter, $tag, $function);\r
- } \r
- } \r
- } \r
+ }\r
+ }\r
+ }\r
} else {\r
// compile closing tag of block function\r
- $base_tag = substr($tag, 0, -5); \r
+ $base_tag = substr($tag, 0, -5);\r
// check if closing tag is a registered object\r
if (isset($this->smarty->registered_objects[$base_tag]) && isset($parameter['object_methode'])) {\r
$methode = $parameter['object_methode'];\r
return $this->callTagCompiler('private_object_block_function', $args, $parameter, $tag, $methode);\r
} else {\r
return $this->trigger_template_error ('unallowed closing tag methode "' . $methode . '" in registered object "' . $base_tag . '"', $this->lex->taglineno);\r
- } \r
- } \r
+ }\r
+ }\r
// registered block tag ?\r
if (isset($this->smarty->registered_plugins[Smarty::PLUGIN_BLOCK][$base_tag])) {\r
return $this->callTagCompiler('private_registered_block', $args, $parameter, $tag);\r
- } \r
+ }\r
// block plugin?\r
if ($function = $this->getPlugin($base_tag, Smarty::PLUGIN_BLOCK)) {\r
return $this->callTagCompiler('private_block_plugin', $args, $parameter, $tag, $function);\r
- } \r
+ }\r
if ($this->smarty->loadPlugin('smarty_compiler_' . $tag)) {\r
$plugin = 'smarty_compiler_' . $tag;\r
if (is_callable($plugin)) {\r
return $plugin($args, $this->smarty);\r
- } \r
+ }\r
if (class_exists($plugin, false)) {\r
$plugin_object = new $plugin;\r
if (method_exists($plugin_object, 'compile')) {\r
return $plugin_object->compile($args, $this);\r
- } \r
- } \r
+ }\r
+ }\r
throw new SmartyException("Plugin \"{$tag}\" not callable");\r
- } \r
- } \r
+ }\r
+ }\r
$this->trigger_template_error ("unknown tag \"" . $tag . "\"", $this->lex->taglineno);\r
- } \r
- } \r
+ }\r
+ }\r
\r
/**\r
* lazy loads internal compile plugin for tag and calls the compile methode\r
- * \r
+ *\r
* compile objects cached for reuse.\r
* class name format: Smarty_Internal_Compile_TagName\r
* plugin filename format: Smarty_Internal_Tagname.php\r
- * \r
+ *\r
* @param $tag string tag name\r
* @param $args array with tag attributes\r
* @param $param1 optional parameter\r
* @return string compiled code\r
*/\r
public function callTagCompiler($tag, $args, $param1 = null, $param2 = null, $param3 = null)\r
- { \r
+ {\r
// re-use object if already exists\r
if (isset(self::$_tag_objects[$tag])) {\r
// compile this tag\r
return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);\r
- } \r
+ }\r
// lazy load internal compiler plugin\r
$class_name = 'Smarty_Internal_Compile_' . $tag;\r
if ($this->smarty->loadPlugin($class_name)) {\r
// use plugin if found\r
- self::$_tag_objects[$tag] = new $class_name; \r
+ self::$_tag_objects[$tag] = new $class_name;\r
// compile this tag\r
return self::$_tag_objects[$tag]->compile($args, $this, $param1, $param2, $param3);\r
- } \r
+ }\r
// no internal compile plugin for this tag\r
return false;\r
- } \r
+ }\r
\r
/**\r
* Check for plugins and return function name\r
- * \r
+ *\r
* @param $pugin_name string name of plugin or function\r
* @param $type string type of plugin\r
* @return string call name of function\r
} else if (isset($this->template->required_plugins['compiled'][$plugin_name][$type])) {\r
$this->template->required_plugins['nocache'][$plugin_name][$type] = $this->template->required_plugins['compiled'][$plugin_name][$type];\r
$function = $this->template->required_plugins['nocache'][$plugin_name][$type]['function'];\r
- } \r
+ }\r
} else {\r
if (isset($this->template->required_plugins['compiled'][$plugin_name][$type])) {\r
$function = $this->template->required_plugins['compiled'][$plugin_name][$type]['function'];\r
- } else if (isset($this->template->required_plugins['compiled'][$plugin_name][$type])) {\r
+ } else if (isset($this->template->required_plugins['nocache'][$plugin_name][$type])) {\r
$this->template->required_plugins['compiled'][$plugin_name][$type] = $this->template->required_plugins['nocache'][$plugin_name][$type];\r
$function = $this->template->required_plugins['compiled'][$plugin_name][$type]['function'];\r
- } \r
- } \r
+ }\r
+ }\r
if (isset($function)) {\r
if ($type == 'modifier') {\r
$this->template->saved_modifier[$plugin_name] = true;\r
- } \r
+ }\r
return $function;\r
- } \r
+ }\r
// loop through plugin dirs and find the plugin\r
$function = 'smarty_' . $type . '_' . $plugin_name;\r
$found = false;\r
// require_once($file);\r
$found = true;\r
break;\r
- } \r
- } \r
+ }\r
+ }\r
if ($found) {\r
if ($this->template->caching && ($this->nocache || $this->tag_nocache)) {\r
$this->template->required_plugins['nocache'][$plugin_name][$type]['file'] = $file;\r
} else {\r
$this->template->required_plugins['compiled'][$plugin_name][$type]['file'] = $file;\r
$this->template->required_plugins['compiled'][$plugin_name][$type]['function'] = $function;\r
- } \r
+ }\r
if ($type == 'modifier') {\r
$this->template->saved_modifier[$plugin_name] = true;\r
- } \r
+ }\r
return $function;\r
- } \r
+ }\r
if (is_callable($function)) {\r
// plugin function is defined in the script\r
return $function;\r
- } \r
+ }\r
return false;\r
- } \r
+ }\r
/**\r
* Inject inline code for nocache template sections\r
- * \r
+ *\r
* This method gets the content of each template element from the parser.\r
* If the content is compiled code and it should be not cached the code is injected\r
* into the rendered output.\r
- * \r
+ *\r
* @param string $content content of template element\r
* @param boolean $tag_nocache true if the parser detected a nocache situation\r
* @param boolean $is_code true if content is compiled code\r
* @return string content\r
*/\r
public function processNocacheCode ($content, $is_code)\r
- { \r
+ {\r
// If the template is not evaluated and we have a nocache section and or a nocache tag\r
if ($is_code && !empty($content)) {\r
// generate replacement code\r
$this->template->has_nocache_code = true;\r
$_output = str_replace("'", "\'", $content);\r
$_output = str_replace("^#^", "'", $_output);\r
- $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>"; \r
+ $_output = "<?php echo '/*%%SmartyNocache:{$this->nocache_hash}%%*/" . $_output . "/*/%%SmartyNocache:{$this->nocache_hash}%%*/';?>";\r
// make sure we include modifer plugins for nocache code\r
if (isset($this->template->saved_modifier)) {\r
foreach ($this->template->saved_modifier as $plugin_name => $dummy) {\r
if (isset($this->template->required_plugins['compiled'][$plugin_name]['modifier'])) {\r
$this->template->required_plugins['nocache'][$plugin_name]['modifier'] = $this->template->required_plugins['compiled'][$plugin_name]['modifier'];\r
- } \r
- } \r
+ }\r
+ }\r
$this->template->saved_modifier = null;\r
- } \r
+ }\r
} else {\r
$_output = $content;\r
- } \r
+ }\r
} else {\r
$_output = $content;\r
- } \r
+ }\r
$this->suppressNocacheProcessing = false;\r
$this->tag_nocache = false;\r
return $_output;\r
- } \r
+ }\r
/**\r
* display compiler error messages without dying\r
- * \r
+ *\r
* If parameter $args is empty it is a parser detected syntax error.\r
* In this case the parser is called to obtain information about expected tokens.\r
- * \r
+ *\r
* If parameter $args contains a string this is used as error message\r
- * \r
+ *\r
* @param $args string individual error message or null\r
*/\r
public function trigger_template_error($args = null, $line = null)\r
- { \r
+ {\r
// get template source line which has error\r
if (!isset($line)) {\r
$line = $this->lex->line;\r
- } \r
+ }\r
$match = preg_split("/\n/", $this->lex->data);\r
$error_text = 'Syntax Error in template "' . $this->template->getTemplateFilepath() . '" on line ' . $line . ' "' . htmlspecialchars(trim(preg_replace('![\t\r\n]+!',' ',$match[$line-1]))) . '" ';\r
if (isset($args)) {\r
} else {\r
// otherwise internal token name\r
$expect[] = $this->parser->yyTokenName[$token];\r
- } \r
- } \r
+ }\r
+ }\r
$error_text .= ', expected one of: ' . implode(' , ', $expect);\r
}\r
- } \r
+ }\r
throw new SmartyCompilerException($error_text);\r
- } \r
-} \r
+ }\r
+}\r
\r
?>
\ No newline at end of file
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templatelexer.php
index 5e0e496a380debc59d4d96ba371a30c898034f8d..09bd67a302b6b8abad2f75a8adedc01396b12b80 100644 (file)
/**
* Smarty Internal Plugin Templatelexer
*
-* This is the lexer to break the template source into tokens
+* This is the lexer to break the template source into tokens
* @package Smarty
* @subpackage Compiler
-* @author Uwe Tews
+* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Templatelexer
'AS' => 'as',
'TO' => 'to',
);
-
-
+
+
function __construct($data,$compiler)
{
// $this->data = preg_replace("/(\r\n|\r|\n)/", "\n", $data);
$this->line = 1;
$this->smarty = $compiler->smarty;
$this->compiler = $compiler;
- $this->ldel = preg_quote($this->smarty->left_delimiter,'/');
- $this->ldel_length = strlen($this->smarty->left_delimiter);
+ $this->ldel = preg_quote($this->smarty->left_delimiter,'/');
+ $this->ldel_length = strlen($this->smarty->left_delimiter);
$this->rdel = preg_quote($this->smarty->right_delimiter,'/');
$this->smarty_token_names['LDEL'] = $this->smarty->left_delimiter;
$this->smarty_token_names['RDEL'] = $this->smarty->right_delimiter;
if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/^(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|^(\\{\\})|^(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|^([\t ]*[\r\n]+[\t ]*)|^(".$this->ldel."strip".$this->rdel.")|^(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|^(".$this->ldel."\/strip".$this->rdel.")|^(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|^(".$this->ldel."\\s*literal\\s*".$this->rdel.")|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)(?![^\s]))|^(".$this->ldel."\\s*for(?![^\s]))|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^(\\?>)|^(<%)|^(%>)|^(([\S\s]*?)(?=([\t ]*[\r\n]+[\t ]*|".$this->ldel."|<\\?|\\?>|<%|%>)))|^([\S\s]+)|^(.)/iS";
+ $yy_global_pattern = "/^(".$this->ldel."[$]smarty\\.block\\.child".$this->rdel.")|^(\\{\\})|^(".$this->ldel."\\*([\S\s]*?)\\*".$this->rdel.")|^([\t ]*[\r\n]+[\t ]*)|^(".$this->ldel."strip".$this->rdel.")|^(".$this->ldel."\\s{1,}strip\\s{1,}".$this->rdel.")|^(".$this->ldel."\/strip".$this->rdel.")|^(".$this->ldel."\\s{1,}\/strip\\s{1,}".$this->rdel.")|^(".$this->ldel."\\s*literal\\s*".$this->rdel.")|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|^(".$this->ldel."\\s*for\\s+)|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(<\\?(?:php\\w+|=|[a-zA-Z]+)?)|^(\\?>)|^(<%)|^(%>)|^(([\S\s]*?)(?=([\t ]*[\r\n]+[\t ]*|".$this->ldel."|<\\?|\\?>|<%|%>)))|^([\S\s]+)|^(.)/iS";
do {
if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)(?![^\s]))|^(".$this->ldel."\\s*for(?![^\s]))|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(\\s{1,}".$this->rdel.")|^(".$this->ldel."\/)|^(".$this->ldel.")|^(".$this->rdel.")|^(\\s+is\\s+in\\s+)|^(\\s+as\\s+)|^(\\s+to\\s+)|^(\\s+step\\s+)|^(\\s+instanceof\\s+)|^(\\s*===\\s*)|^(\\s*!==\\s*)|^(\\s*==\\s*|\\s+eq\\s+)|^(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|^(\\s*>=\\s*|\\s+(ge|gte)\\s+)|^(\\s*<=\\s*|\\s+(le|lte)\\s+)|^(\\s*>\\s*|\\s+gt\\s+)|^(\\s*<\\s*|\\s+lt\\s+)|^(\\s+mod\\s+)|^(!\\s*|not\\s+)|^(\\s*&&\\s*|\\s*and\\s+)|^(\\s*\\|\\|\\s*|\\s*or\\s+)|^(\\s*xor\\s+)|^(\\s+is\\s+odd\\s+by\\s+)|^(\\s+is\\s+not\\s+odd\\s+by\\s+)|^(\\s+is\\s+odd)|^(\\s+is\\s+not\\s+odd)|^(\\s+is\\s+even\\s+by\\s+)|^(\\s+is\\s+not\\s+even\\s+by\\s+)|^(\\s+is\\s+even)|^(\\s+is\\s+not\\s+even)|^(\\s+is\\s+div\\s+by\\s+)|^(\\s+is\\s+not\\s+div\\s+by\\s+)|^(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|^(\\(\\s*)|^(\\s*\\))|^(\\[\\s*)|^(\\s*\\])|^(\\s*->\\s*)|^(\\s*=>\\s*)|^(\\s*=\\s*)|^(\\+\\+|--)|^(\\s*(\\+|-)\\s*)|^(\\s*(\\*|\/|%)\\s*)|^(\\$)|^(\\s*;)|^(::)|^(\\s*:\\s*)|^(@)|^(#)|^(\")|^(`)|^(\\|)|^(\\.)|^(\\s*,\\s*)|^(\\s*&\\s*)|^(\\s*\\?\\s*)|^(0[xX][0-9a-fA-F]+)|^([0-9]*[a-zA-Z_]\\w*)|^(\\d+)|^(\\s+)|^(.)/iS";
+ $yy_global_pattern = "/^('[^'\\\\]*(?:\\\\.[^'\\\\]*)*')|^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|^(".$this->ldel."\\s*for\\s+)|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(\\s{1,}".$this->rdel.")|^(".$this->ldel."\/)|^(".$this->ldel.")|^(".$this->rdel.")|^(\\s+is\\s+in\\s+)|^(\\s+as\\s+)|^(\\s+to\\s+)|^(\\s+step\\s+)|^(\\s+instanceof\\s+)|^(\\s*===\\s*)|^(\\s*!==\\s*)|^(\\s*==\\s*|\\s+eq\\s+)|^(\\s*!=\\s*|\\s*<>\\s*|\\s+(ne|neq)\\s+)|^(\\s*>=\\s*|\\s+(ge|gte)\\s+)|^(\\s*<=\\s*|\\s+(le|lte)\\s+)|^(\\s*>\\s*|\\s+gt\\s+)|^(\\s*<\\s*|\\s+lt\\s+)|^(\\s+mod\\s+)|^(!\\s*|not\\s+)|^(\\s*&&\\s*|\\s*and\\s+)|^(\\s*\\|\\|\\s*|\\s*or\\s+)|^(\\s*xor\\s+)|^(\\s+is\\s+odd\\s+by\\s+)|^(\\s+is\\s+not\\s+odd\\s+by\\s+)|^(\\s+is\\s+odd)|^(\\s+is\\s+not\\s+odd)|^(\\s+is\\s+even\\s+by\\s+)|^(\\s+is\\s+not\\s+even\\s+by\\s+)|^(\\s+is\\s+even)|^(\\s+is\\s+not\\s+even)|^(\\s+is\\s+div\\s+by\\s+)|^(\\s+is\\s+not\\s+div\\s+by\\s+)|^(\\((int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)\\)\\s*)|^(\\(\\s*)|^(\\s*\\))|^(\\[\\s*)|^(\\s*\\])|^(\\s*->\\s*)|^(\\s*=>\\s*)|^(\\s*=\\s*)|^(\\+\\+|--)|^(\\s*(\\+|-)\\s*)|^(\\s*(\\*|\/|%)\\s*)|^(\\$)|^(\\s*;)|^(::)|^(\\s*:\\s*)|^(@)|^(#)|^(\")|^(`)|^(\\|)|^(\\.)|^(\\s*,\\s*)|^(\\s*&\\s*)|^(\\s*\\?\\s*)|^(0[xX][0-9a-fA-F]+)|^([0-9]*[a-zA-Z_]\\w*)|^(\\d+)|^(\\s+)|^(.)/iS";
do {
if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
function yy_r2_8($yy_subpatterns)
{
- if ($this->smarty->auto_literal) {
- $this->token = Smarty_Internal_Templateparser::TP_OTHER;
- } else {
$this->token = Smarty_Internal_Templateparser::TP_RDEL;
$this->yypopstate();
- }
}
function yy_r2_9($yy_subpatterns)
{
function yy_r2_51($yy_subpatterns)
{
- $this->token = Smarty_Internal_Templateparser::TP_PTR;
+ $this->token = Smarty_Internal_Templateparser::TP_PTR;
}
function yy_r2_52($yy_subpatterns)
{
if ($this->counter >= strlen($this->data)) {
return false; // end of input
}
- $yy_global_pattern = "/^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)(?![^\s]))|^(".$this->ldel."\\s*for(?![^\s]))|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(\")|^(`\\$)|^(\\$[0-9]*[a-zA-Z_]\\w*)|^(\\$)|^(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|^([\S\s]+)|^(.)/iS";
+ $yy_global_pattern = "/^(".$this->ldel."\\s{1,}\/)|^(".$this->ldel."\\s*(if|elseif|else if|while)\\s+)|^(".$this->ldel."\\s*for\\s+)|^(".$this->ldel."\\s*foreach(?![^\s]))|^(".$this->ldel."\\s{1,})|^(".$this->ldel."\/)|^(".$this->ldel.")|^(\")|^(`\\$)|^(\\$[0-9]*[a-zA-Z_]\\w*)|^(\\$)|^(([^\"\\\\]*?)((?:\\\\.[^\"\\\\]*?)*?)(?=(".$this->ldel."|\\$|`\\$|\")))|^([\S\s]+)|^(.)/iS";
do {
if (preg_match($yy_global_pattern, substr($this->data, $this->counter), $yymatches)) {
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php b/gosa-core/include/smarty/sysplugins/smarty_internal_templateparser.php
index 90e1c9762bc30037155475a57450c44c026396d2..18c35a87c8965683d2e628d8198a5888ba1ec1b3 100644 (file)
@@ -124,7 +124,7 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php
return '?<?php ?>>';
}
-
+
#line 121 "smarty_internal_templateparser.php"
const TP_VERT = 1;
@@ -148,13 +148,13 @@ class Smarty_Internal_Templateparser#line 79 "smarty_internal_templateparser.php
const TP_EQUAL = 19;
const TP_PTR = 20;
const TP_LDELIF = 21;
- const TP_SPACE = 22;
- const TP_LDELFOR = 23;
- const TP_SEMICOLON = 24;
- const TP_INCDEC = 25;
- const TP_TO = 26;
- const TP_STEP = 27;
- const TP_LDELFOREACH = 28;
+ const TP_LDELFOR = 22;
+ const TP_SEMICOLON = 23;
+ const TP_INCDEC = 24;
+ const TP_TO = 25;
+ const TP_STEP = 26;
+ const TP_LDELFOREACH = 27;
+ const TP_SPACE = 28;
const TP_AS = 29;
const TP_APTR = 30;
const TP_SMARTYBLOCKCHILD = 31;
@@ -204,656 +204,670 @@ 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 = 584;
- const YY_ACCEPT_ACTION = 583;
- const YY_ERROR_ACTION = 582;
+ const YY_NO_ACTION = 590;
+ const YY_ACCEPT_ACTION = 589;
+ const YY_ERROR_ACTION = 588;
- const YY_SZ_ACTTAB = 2566;
+ const YY_SZ_ACTTAB = 2637;
static public $yy_action = array(
- /* 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,
+ /* 0 */ 223, 300, 294, 293, 288, 287, 286, 290, 291, 301,
+ /* 10 */ 197, 13, 211, 40, 283, 373, 284, 8, 13, 7,
+ /* 20 */ 107, 283, 41, 203, 16, 147, 234, 16, 16, 276,
+ /* 30 */ 245, 589, 97, 296, 297, 299, 50, 46, 48, 45,
+ /* 40 */ 14, 28, 330, 352, 38, 32, 353, 371, 36, 34,
+ /* 50 */ 223, 311, 306, 307, 285, 303, 295, 297, 299, 197,
+ /* 60 */ 312, 316, 379, 359, 358, 357, 366, 319, 274, 270,
+ /* 70 */ 267, 255, 256, 258, 362, 35, 21, 16, 141, 169,
+ /* 80 */ 223, 199, 17, 3, 146, 337, 50, 46, 48, 45,
+ /* 90 */ 14, 28, 330, 352, 38, 32, 353, 371, 36, 34,
+ /* 100 */ 341, 109, 180, 25, 242, 161, 137, 206, 3, 26,
+ /* 110 */ 360, 259, 379, 359, 358, 357, 366, 319, 274, 270,
+ /* 120 */ 267, 255, 256, 258, 223, 304, 347, 206, 172, 142,
+ /* 130 */ 47, 137, 244, 75, 127, 454, 262, 259, 19, 356,
+ /* 140 */ 13, 329, 266, 283, 41, 343, 321, 454, 310, 104,
+ /* 150 */ 163, 16, 383, 203, 3, 217, 236, 237, 220, 259,
+ /* 160 */ 50, 46, 48, 45, 14, 28, 330, 352, 38, 32,
+ /* 170 */ 353, 371, 36, 34, 191, 206, 13, 137, 4, 283,
+ /* 180 */ 24, 200, 332, 259, 227, 263, 379, 359, 358, 357,
+ /* 190 */ 366, 319, 274, 270, 267, 255, 256, 258, 223, 304,
+ /* 200 */ 110, 162, 223, 142, 192, 332, 244, 75, 127, 451,
+ /* 210 */ 259, 13, 223, 260, 283, 329, 266, 384, 161, 343,
+ /* 220 */ 321, 451, 310, 108, 183, 16, 206, 268, 3, 216,
+ /* 230 */ 27, 246, 174, 259, 50, 46, 48, 45, 14, 28,
+ /* 240 */ 330, 352, 38, 32, 353, 371, 36, 34, 173, 206,
+ /* 250 */ 5, 137, 47, 13, 211, 227, 283, 259, 381, 8,
+ /* 260 */ 379, 359, 358, 357, 366, 319, 274, 270, 267, 255,
+ /* 270 */ 256, 258, 223, 304, 170, 181, 324, 142, 196, 332,
+ /* 280 */ 244, 66, 118, 238, 259, 13, 335, 204, 283, 329,
+ /* 290 */ 266, 39, 161, 343, 321, 281, 310, 243, 16, 232,
+ /* 300 */ 239, 3, 23, 23, 386, 365, 251, 231, 50, 46,
+ /* 310 */ 48, 45, 14, 28, 330, 352, 38, 32, 353, 371,
+ /* 320 */ 36, 34, 111, 326, 137, 23, 13, 376, 223, 283,
+ /* 330 */ 136, 198, 42, 161, 379, 359, 358, 357, 366, 319,
+ /* 340 */ 274, 270, 267, 255, 256, 258, 223, 304, 166, 188,
+ /* 350 */ 178, 142, 281, 298, 244, 75, 127, 259, 259, 13,
+ /* 360 */ 223, 368, 283, 329, 266, 16, 278, 343, 321, 281,
+ /* 370 */ 310, 136, 16, 203, 2, 272, 13, 215, 16, 252,
+ /* 380 */ 138, 247, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 390 */ 38, 32, 353, 371, 36, 34, 223, 177, 317, 223,
+ /* 400 */ 314, 190, 327, 236, 238, 248, 259, 148, 379, 359,
+ /* 410 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 420 */ 195, 310, 203, 106, 236, 261, 13, 206, 184, 218,
+ /* 430 */ 103, 250, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 440 */ 38, 32, 353, 371, 36, 34, 223, 22, 176, 47,
+ /* 450 */ 235, 362, 132, 13, 206, 320, 226, 259, 379, 359,
+ /* 460 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 470 */ 133, 322, 185, 203, 13, 223, 345, 230, 149, 241,
+ /* 480 */ 145, 259, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 490 */ 38, 32, 353, 371, 36, 34, 223, 203, 175, 134,
+ /* 500 */ 281, 354, 16, 121, 131, 37, 202, 119, 379, 359,
+ /* 510 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 520 */ 338, 171, 377, 96, 382, 385, 305, 31, 328, 149,
+ /* 530 */ 259, 367, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 540 */ 38, 32, 353, 371, 36, 34, 223, 224, 9, 374,
+ /* 550 */ 228, 140, 5, 129, 42, 139, 372, 370, 379, 359,
+ /* 560 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 570 */ 193, 309, 168, 279, 324, 12, 281, 20, 16, 44,
+ /* 580 */ 378, 135, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 590 */ 38, 32, 353, 371, 36, 34, 223, 112, 313, 323,
+ /* 600 */ 323, 323, 323, 323, 323, 323, 323, 99, 379, 359,
+ /* 610 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 620 */ 338, 348, 323, 16, 323, 323, 323, 323, 323, 323,
+ /* 630 */ 323, 323, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 640 */ 38, 32, 353, 371, 36, 34, 323, 323, 323, 323,
+ /* 650 */ 323, 323, 323, 323, 323, 323, 323, 323, 379, 359,
+ /* 660 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 670 */ 223, 223, 323, 304, 101, 165, 223, 142, 228, 323,
+ /* 680 */ 244, 53, 118, 126, 259, 11, 456, 29, 15, 329,
+ /* 690 */ 266, 456, 201, 343, 321, 30, 310, 323, 456, 233,
+ /* 700 */ 206, 323, 323, 456, 323, 223, 50, 46, 48, 45,
+ /* 710 */ 14, 28, 330, 352, 38, 32, 353, 371, 36, 34,
+ /* 720 */ 269, 47, 224, 323, 323, 323, 47, 323, 323, 323,
+ /* 730 */ 323, 323, 379, 359, 358, 357, 366, 319, 274, 270,
+ /* 740 */ 267, 255, 256, 258, 223, 323, 323, 323, 194, 186,
+ /* 750 */ 323, 257, 363, 289, 323, 325, 264, 254, 259, 205,
+ /* 760 */ 43, 29, 15, 16, 16, 16, 7, 107, 16, 16,
+ /* 770 */ 323, 323, 147, 323, 206, 323, 276, 245, 323, 323,
+ /* 780 */ 50, 46, 48, 45, 14, 28, 330, 352, 38, 32,
+ /* 790 */ 353, 371, 36, 34, 223, 323, 323, 323, 323, 323,
+ /* 800 */ 323, 323, 323, 323, 323, 124, 379, 359, 358, 357,
+ /* 810 */ 366, 319, 274, 270, 267, 255, 256, 258, 338, 323,
+ /* 820 */ 344, 18, 336, 323, 323, 323, 323, 323, 323, 323,
+ /* 830 */ 50, 46, 48, 45, 14, 28, 330, 352, 38, 32,
+ /* 840 */ 353, 371, 36, 34, 323, 323, 323, 323, 323, 323,
+ /* 850 */ 323, 323, 323, 323, 323, 369, 379, 359, 358, 357,
+ /* 860 */ 366, 319, 274, 270, 267, 255, 256, 258, 223, 304,
+ /* 870 */ 323, 164, 361, 142, 323, 339, 244, 80, 127, 167,
+ /* 880 */ 259, 342, 375, 275, 16, 329, 266, 16, 259, 343,
+ /* 890 */ 321, 281, 310, 16, 16, 323, 323, 323, 323, 281,
+ /* 900 */ 323, 323, 323, 323, 50, 46, 48, 45, 14, 28,
+ /* 910 */ 330, 352, 38, 32, 353, 371, 36, 34, 223, 323,
+ /* 920 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 117,
+ /* 930 */ 379, 359, 358, 357, 366, 319, 274, 270, 267, 255,
+ /* 940 */ 256, 258, 338, 323, 323, 323, 240, 323, 323, 323,
+ /* 950 */ 323, 323, 323, 323, 50, 46, 48, 45, 14, 28,
+ /* 960 */ 330, 352, 38, 32, 353, 371, 36, 34, 223, 323,
+ /* 970 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 102,
+ /* 980 */ 379, 359, 358, 357, 366, 319, 274, 270, 267, 255,
+ /* 990 */ 256, 258, 338, 323, 323, 323, 323, 323, 323, 323,
+ /* 1000 */ 323, 323, 323, 323, 50, 46, 48, 45, 14, 28,
+ /* 1010 */ 330, 352, 38, 32, 353, 371, 36, 34, 323, 335,
+ /* 1020 */ 323, 323, 323, 323, 323, 323, 161, 323, 323, 323,
+ /* 1030 */ 379, 359, 358, 357, 366, 319, 274, 270, 267, 255,
+ /* 1040 */ 256, 258, 50, 46, 48, 45, 14, 28, 330, 352,
+ /* 1050 */ 38, 32, 353, 371, 36, 34, 351, 323, 323, 323,
+ /* 1060 */ 323, 323, 323, 323, 136, 323, 223, 323, 379, 359,
+ /* 1070 */ 358, 357, 366, 319, 274, 270, 267, 255, 256, 258,
+ /* 1080 */ 150, 271, 160, 323, 40, 323, 143, 210, 323, 323,
+ /* 1090 */ 7, 107, 281, 302, 253, 338, 147, 323, 325, 323,
+ /* 1100 */ 276, 245, 229, 43, 33, 16, 16, 51, 323, 7,
+ /* 1110 */ 107, 323, 323, 323, 323, 147, 323, 323, 323, 276,
+ /* 1120 */ 245, 194, 52, 49, 380, 225, 349, 105, 323, 106,
+ /* 1130 */ 1, 355, 323, 223, 29, 15, 323, 280, 315, 40,
+ /* 1140 */ 338, 143, 214, 223, 98, 7, 107, 206, 453, 16,
+ /* 1150 */ 16, 147, 323, 323, 323, 276, 245, 229, 450, 33,
+ /* 1160 */ 453, 265, 51, 350, 18, 336, 362, 304, 323, 115,
+ /* 1170 */ 16, 152, 323, 16, 244, 323, 127, 52, 49, 380,
+ /* 1180 */ 225, 349, 338, 47, 106, 1, 323, 343, 321, 223,
+ /* 1190 */ 310, 318, 323, 323, 40, 323, 138, 214, 304, 98,
+ /* 1200 */ 7, 107, 159, 16, 346, 244, 147, 127, 249, 323,
+ /* 1210 */ 276, 245, 229, 340, 10, 273, 16, 51, 343, 321,
+ /* 1220 */ 323, 310, 304, 3, 323, 16, 153, 323, 323, 244,
+ /* 1230 */ 323, 127, 52, 49, 380, 225, 349, 323, 331, 106,
+ /* 1240 */ 1, 323, 343, 321, 223, 310, 137, 223, 277, 40,
+ /* 1250 */ 16, 128, 92, 223, 98, 7, 107, 323, 323, 450,
+ /* 1260 */ 16, 147, 282, 323, 292, 276, 245, 229, 308, 33,
+ /* 1270 */ 362, 16, 51, 323, 16, 16, 16, 304, 323, 144,
+ /* 1280 */ 16, 157, 323, 323, 244, 323, 127, 52, 49, 380,
+ /* 1290 */ 225, 349, 338, 323, 106, 1, 323, 343, 321, 100,
+ /* 1300 */ 310, 323, 323, 47, 40, 323, 143, 212, 323, 98,
+ /* 1310 */ 7, 107, 338, 323, 323, 323, 147, 323, 323, 323,
+ /* 1320 */ 276, 245, 229, 323, 33, 323, 323, 51, 323, 323,
+ /* 1330 */ 323, 323, 304, 323, 323, 323, 151, 323, 323, 244,
+ /* 1340 */ 323, 127, 52, 49, 380, 225, 349, 323, 323, 106,
+ /* 1350 */ 1, 323, 343, 321, 323, 310, 323, 323, 323, 40,
+ /* 1360 */ 323, 125, 214, 323, 98, 7, 107, 323, 323, 323,
+ /* 1370 */ 323, 147, 323, 323, 323, 276, 245, 229, 323, 33,
+ /* 1380 */ 323, 323, 51, 323, 323, 323, 323, 304, 323, 323,
+ /* 1390 */ 323, 155, 323, 323, 244, 323, 127, 52, 49, 380,
+ /* 1400 */ 225, 349, 323, 323, 106, 1, 323, 343, 321, 323,
+ /* 1410 */ 310, 323, 323, 323, 40, 323, 130, 214, 323, 98,
+ /* 1420 */ 7, 107, 323, 323, 323, 323, 147, 323, 323, 323,
+ /* 1430 */ 276, 245, 229, 323, 6, 323, 323, 51, 323, 323,
+ /* 1440 */ 323, 323, 304, 323, 323, 323, 154, 323, 323, 244,
+ /* 1450 */ 323, 127, 52, 49, 380, 225, 349, 323, 323, 106,
+ /* 1460 */ 1, 323, 343, 321, 323, 310, 323, 323, 323, 40,
+ /* 1470 */ 323, 143, 209, 323, 98, 7, 107, 323, 323, 323,
+ /* 1480 */ 323, 147, 323, 323, 323, 276, 245, 229, 323, 33,
+ /* 1490 */ 323, 323, 51, 323, 323, 323, 323, 304, 323, 323,
+ /* 1500 */ 323, 158, 323, 323, 244, 323, 127, 52, 49, 380,
+ /* 1510 */ 225, 349, 323, 323, 106, 1, 323, 343, 321, 323,
+ /* 1520 */ 310, 323, 323, 323, 40, 323, 143, 208, 323, 98,
+ /* 1530 */ 7, 107, 323, 323, 323, 323, 147, 323, 323, 323,
+ /* 1540 */ 276, 245, 222, 323, 33, 323, 323, 51, 323, 323,
+ /* 1550 */ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ /* 1560 */ 323, 323, 52, 49, 380, 225, 349, 323, 323, 106,
+ /* 1570 */ 1, 323, 323, 323, 323, 323, 323, 323, 323, 40,
+ /* 1580 */ 323, 143, 207, 323, 98, 7, 107, 323, 323, 323,
+ /* 1590 */ 323, 147, 323, 323, 323, 276, 245, 229, 323, 33,
+ /* 1600 */ 323, 323, 51, 323, 323, 323, 323, 323, 323, 323,
+ /* 1610 */ 323, 323, 323, 323, 323, 323, 323, 52, 49, 380,
+ /* 1620 */ 225, 349, 323, 323, 106, 1, 323, 323, 323, 323,
+ /* 1630 */ 323, 323, 323, 323, 40, 323, 138, 214, 323, 98,
+ /* 1640 */ 7, 107, 323, 323, 323, 323, 147, 323, 323, 323,
+ /* 1650 */ 276, 245, 229, 323, 10, 323, 323, 51, 323, 323,
+ /* 1660 */ 323, 323, 323, 323, 323, 323, 323, 194, 182, 323,
+ /* 1670 */ 323, 323, 52, 49, 380, 225, 349, 259, 323, 106,
+ /* 1680 */ 29, 15, 323, 323, 323, 323, 323, 323, 323, 40,
+ /* 1690 */ 323, 138, 213, 206, 98, 7, 107, 323, 323, 323,
+ /* 1700 */ 323, 147, 323, 323, 323, 276, 245, 229, 323, 10,
+ /* 1710 */ 323, 323, 51, 323, 323, 323, 323, 323, 323, 323,
+ /* 1720 */ 323, 323, 323, 323, 323, 323, 499, 52, 49, 380,
+ /* 1730 */ 225, 349, 323, 499, 106, 499, 499, 323, 499, 499,
+ /* 1740 */ 323, 323, 323, 323, 499, 3, 499, 323, 323, 98,
+ /* 1750 */ 323, 323, 323, 323, 323, 323, 323, 323, 304, 323,
+ /* 1760 */ 323, 499, 120, 323, 323, 244, 73, 127, 137, 323,
+ /* 1770 */ 323, 323, 499, 323, 329, 266, 323, 323, 343, 321,
+ /* 1780 */ 323, 310, 323, 323, 323, 323, 499, 323, 323, 323,
+ /* 1790 */ 304, 323, 219, 334, 120, 323, 323, 244, 73, 127,
+ /* 1800 */ 323, 323, 323, 323, 323, 323, 329, 266, 323, 323,
+ /* 1810 */ 343, 321, 304, 310, 323, 323, 114, 323, 323, 244,
+ /* 1820 */ 77, 127, 323, 323, 323, 333, 194, 187, 329, 266,
+ /* 1830 */ 323, 323, 343, 321, 323, 310, 259, 323, 323, 29,
+ /* 1840 */ 15, 304, 323, 323, 323, 142, 323, 323, 221, 68,
+ /* 1850 */ 127, 323, 206, 194, 179, 323, 323, 329, 266, 323,
+ /* 1860 */ 323, 343, 321, 259, 310, 323, 29, 15, 323, 304,
+ /* 1870 */ 323, 323, 323, 142, 323, 323, 244, 64, 127, 206,
+ /* 1880 */ 323, 194, 189, 323, 323, 329, 266, 323, 323, 343,
+ /* 1890 */ 321, 259, 310, 304, 29, 15, 323, 113, 323, 323,
+ /* 1900 */ 244, 62, 127, 323, 323, 323, 323, 206, 323, 329,
+ /* 1910 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 69,
+ /* 1920 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 1930 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 1940 */ 244, 88, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 1950 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 1960 */ 323, 323, 323, 142, 323, 323, 244, 90, 127, 323,
+ /* 1970 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 1980 */ 321, 323, 310, 304, 323, 323, 323, 116, 323, 323,
+ /* 1990 */ 244, 82, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2000 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 72,
+ /* 2010 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2020 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2030 */ 244, 63, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2040 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2050 */ 323, 323, 323, 142, 323, 323, 244, 91, 127, 323,
+ /* 2060 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2070 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2080 */ 244, 60, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2090 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 89,
+ /* 2100 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2110 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2120 */ 244, 70, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2130 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2140 */ 323, 323, 323, 142, 323, 323, 244, 78, 127, 323,
+ /* 2150 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2160 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2170 */ 244, 61, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2180 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 76,
+ /* 2190 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2200 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2210 */ 244, 74, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2220 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2230 */ 323, 323, 323, 142, 323, 323, 244, 87, 127, 323,
+ /* 2240 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2250 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2260 */ 244, 67, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2270 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 83,
+ /* 2280 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2290 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2300 */ 244, 58, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2310 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2320 */ 323, 323, 323, 94, 323, 323, 93, 59, 123, 323,
+ /* 2330 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2340 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2350 */ 244, 86, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2360 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 85,
+ /* 2370 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2380 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2390 */ 244, 57, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2400 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2410 */ 323, 323, 323, 142, 323, 323, 244, 66, 127, 323,
+ /* 2420 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2430 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2440 */ 244, 79, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2450 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 65,
+ /* 2460 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2470 */ 323, 343, 321, 304, 310, 323, 323, 142, 323, 323,
+ /* 2480 */ 244, 81, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2490 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2500 */ 323, 323, 323, 94, 323, 323, 95, 56, 123, 323,
+ /* 2510 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2520 */ 321, 323, 310, 304, 323, 323, 323, 142, 323, 323,
+ /* 2530 */ 244, 71, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2540 */ 266, 304, 323, 343, 321, 142, 310, 323, 244, 54,
+ /* 2550 */ 127, 323, 323, 323, 323, 323, 323, 329, 266, 323,
+ /* 2560 */ 323, 343, 321, 304, 310, 323, 323, 122, 323, 323,
+ /* 2570 */ 244, 55, 127, 323, 323, 323, 323, 323, 323, 329,
+ /* 2580 */ 266, 323, 323, 343, 321, 323, 310, 323, 323, 304,
+ /* 2590 */ 323, 323, 323, 142, 323, 323, 244, 84, 127, 323,
+ /* 2600 */ 323, 323, 323, 323, 323, 329, 266, 323, 323, 343,
+ /* 2610 */ 321, 323, 310, 304, 323, 323, 323, 156, 323, 323,
+ /* 2620 */ 244, 323, 127, 323, 323, 323, 323, 323, 323, 323,
+ /* 2630 */ 364, 323, 323, 343, 321, 323, 310,
);
static public $yy_lookahead = array(
- /* 0 */ 1, 81, 82, 83, 3, 4, 5, 6, 7, 8,
- /* 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,
+ /* 0 */ 1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
+ /* 10 */ 12, 15, 56, 15, 18, 16, 16, 61, 15, 21,
+ /* 20 */ 22, 18, 19, 113, 28, 27, 30, 28, 28, 31,
+ /* 30 */ 32, 79, 80, 81, 82, 83, 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, 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, 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 */ 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,
+ /* 50 */ 1, 4, 5, 6, 7, 8, 81, 82, 83, 12,
+ /* 60 */ 13, 14, 63, 64, 65, 66, 67, 68, 69, 70,
+ /* 70 */ 71, 72, 73, 74, 24, 26, 15, 28, 17, 18,
+ /* 80 */ 1, 87, 15, 35, 17, 18, 37, 38, 39, 40,
+ /* 90 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ /* 100 */ 33, 87, 88, 30, 56, 20, 58, 113, 35, 30,
+ /* 110 */ 62, 97, 63, 64, 65, 66, 67, 68, 69, 70,
+ /* 120 */ 71, 72, 73, 74, 1, 82, 76, 113, 88, 86,
+ /* 130 */ 51, 58, 89, 90, 91, 16, 28, 97, 19, 16,
+ /* 140 */ 15, 98, 99, 18, 19, 102, 103, 28, 105, 87,
+ /* 150 */ 88, 28, 110, 113, 35, 112, 91, 92, 93, 97,
+ /* 160 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ /* 170 */ 47, 48, 49, 50, 88, 113, 15, 58, 35, 18,
+ /* 180 */ 19, 109, 110, 97, 59, 24, 63, 64, 65, 66,
+ /* 190 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 82,
+ /* 200 */ 87, 88, 1, 86, 109, 110, 89, 90, 91, 16,
+ /* 210 */ 97, 15, 1, 16, 18, 98, 99, 16, 20, 102,
+ /* 220 */ 103, 28, 105, 87, 88, 28, 113, 16, 35, 112,
+ /* 230 */ 15, 20, 106, 97, 37, 38, 39, 40, 41, 42,
+ /* 240 */ 43, 44, 45, 46, 47, 48, 49, 50, 88, 113,
+ /* 250 */ 35, 58, 51, 15, 56, 59, 18, 97, 18, 61,
+ /* 260 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ /* 270 */ 73, 74, 1, 82, 106, 88, 107, 86, 109, 110,
+ /* 280 */ 89, 90, 91, 92, 97, 15, 82, 16, 18, 98,
+ /* 290 */ 99, 19, 20, 102, 103, 108, 105, 59, 28, 59,
+ /* 300 */ 30, 35, 34, 34, 36, 36, 17, 18, 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,
+ /* 320 */ 49, 50, 118, 119, 58, 34, 15, 36, 1, 18,
+ /* 330 */ 58, 114, 19, 20, 63, 64, 65, 66, 67, 68,
+ /* 340 */ 69, 70, 71, 72, 73, 74, 1, 82, 88, 88,
+ /* 350 */ 106, 86, 108, 16, 89, 90, 91, 97, 97, 15,
+ /* 360 */ 1, 16, 18, 98, 99, 28, 16, 102, 103, 108,
+ /* 370 */ 105, 58, 28, 113, 34, 16, 15, 112, 28, 18,
+ /* 380 */ 17, 18, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 390 */ 45, 46, 47, 48, 49, 50, 1, 88, 83, 1,
+ /* 400 */ 85, 87, 62, 91, 92, 89, 97, 91, 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,
+ /* 420 */ 114, 105, 113, 60, 91, 92, 15, 113, 87, 18,
+ /* 430 */ 106, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 440 */ 45, 46, 47, 48, 49, 50, 1, 2, 88, 51,
+ /* 450 */ 94, 24, 17, 15, 113, 18, 18, 97, 63, 64,
+ /* 460 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 470 */ 35, 104, 88, 113, 15, 1, 18, 18, 111, 18,
+ /* 480 */ 17, 97, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 490 */ 45, 46, 47, 48, 49, 50, 1, 113, 106, 17,
+ /* 500 */ 108, 62, 28, 18, 18, 52, 18, 95, 63, 64,
+ /* 510 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 520 */ 108, 88, 104, 18, 60, 60, 36, 25, 18, 111,
+ /* 530 */ 97, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 540 */ 45, 46, 47, 48, 49, 50, 1, 56, 2, 33,
+ /* 550 */ 2, 17, 35, 17, 19, 17, 33, 18, 63, 64,
+ /* 560 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 570 */ 23, 115, 106, 97, 107, 94, 108, 28, 28, 2,
+ /* 580 */ 111, 34, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 590 */ 45, 46, 47, 48, 49, 50, 1, 84, 13, 120,
+ /* 600 */ 120, 120, 120, 120, 120, 120, 120, 95, 63, 64,
+ /* 610 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 620 */ 108, 76, 120, 28, 120, 120, 120, 120, 120, 120,
+ /* 630 */ 120, 120, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 640 */ 45, 46, 47, 48, 49, 50, 120, 120, 120, 120,
+ /* 650 */ 120, 120, 120, 120, 120, 120, 120, 120, 63, 64,
+ /* 660 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 670 */ 1, 1, 120, 82, 87, 88, 1, 86, 2, 120,
+ /* 680 */ 89, 90, 91, 92, 97, 19, 16, 100, 101, 98,
+ /* 690 */ 99, 16, 23, 102, 103, 19, 105, 120, 28, 29,
+ /* 700 */ 113, 120, 120, 28, 120, 1, 37, 38, 39, 40,
+ /* 710 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ /* 720 */ 16, 51, 56, 120, 120, 120, 51, 120, 120, 120,
+ /* 730 */ 120, 120, 63, 64, 65, 66, 67, 68, 69, 70,
+ /* 740 */ 71, 72, 73, 74, 1, 120, 120, 120, 87, 88,
+ /* 750 */ 120, 16, 16, 16, 120, 10, 16, 16, 97, 16,
+ /* 760 */ 15, 100, 101, 28, 28, 28, 21, 22, 28, 28,
+ /* 770 */ 120, 120, 27, 120, 113, 120, 31, 32, 120, 120,
+ /* 780 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ /* 790 */ 47, 48, 49, 50, 1, 120, 120, 120, 120, 120,
+ /* 800 */ 120, 120, 120, 120, 120, 95, 63, 64, 65, 66,
+ /* 810 */ 67, 68, 69, 70, 71, 72, 73, 74, 108, 120,
+ /* 820 */ 75, 76, 77, 120, 120, 120, 120, 120, 120, 120,
+ /* 830 */ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ /* 840 */ 47, 48, 49, 50, 120, 120, 120, 120, 120, 120,
+ /* 850 */ 120, 120, 120, 120, 120, 62, 63, 64, 65, 66,
+ /* 860 */ 67, 68, 69, 70, 71, 72, 73, 74, 1, 82,
+ /* 870 */ 120, 88, 16, 86, 120, 16, 89, 90, 91, 88,
+ /* 880 */ 97, 16, 16, 16, 28, 98, 99, 28, 97, 102,
+ /* 890 */ 103, 108, 105, 28, 28, 120, 120, 120, 120, 108,
+ /* 900 */ 120, 120, 120, 120, 37, 38, 39, 40, 41, 42,
+ /* 910 */ 43, 44, 45, 46, 47, 48, 49, 50, 1, 120,
+ /* 920 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 95,
+ /* 930 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ /* 940 */ 73, 74, 108, 120, 120, 120, 29, 120, 120, 120,
+ /* 950 */ 120, 120, 120, 120, 37, 38, 39, 40, 41, 42,
+ /* 960 */ 43, 44, 45, 46, 47, 48, 49, 50, 1, 120,
+ /* 970 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 95,
+ /* 980 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ /* 990 */ 73, 74, 108, 120, 120, 120, 120, 120, 120, 120,
+ /* 1000 */ 120, 120, 120, 120, 37, 38, 39, 40, 41, 42,
+ /* 1010 */ 43, 44, 45, 46, 47, 48, 49, 50, 120, 82,
+ /* 1020 */ 120, 120, 120, 120, 120, 120, 20, 120, 120, 120,
+ /* 1030 */ 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
+ /* 1040 */ 73, 74, 37, 38, 39, 40, 41, 42, 43, 44,
+ /* 1050 */ 45, 46, 47, 48, 49, 50, 119, 120, 120, 120,
+ /* 1060 */ 120, 120, 120, 120, 58, 120, 1, 120, 63, 64,
+ /* 1070 */ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ /* 1080 */ 96, 16, 95, 120, 15, 120, 17, 18, 120, 120,
+ /* 1090 */ 21, 22, 108, 16, 16, 108, 27, 120, 10, 120,
+ /* 1100 */ 31, 32, 33, 15, 35, 28, 28, 38, 120, 21,
+ /* 1110 */ 22, 120, 120, 120, 120, 27, 120, 120, 120, 31,
+ /* 1120 */ 32, 87, 53, 54, 55, 56, 57, 95, 120, 60,
+ /* 1130 */ 61, 62, 120, 1, 100, 101, 120, 16, 16, 15,
+ /* 1140 */ 108, 17, 18, 1, 75, 21, 22, 113, 16, 28,
+ /* 1150 */ 28, 27, 120, 120, 120, 31, 32, 33, 16, 35,
+ /* 1160 */ 28, 16, 38, 75, 76, 77, 24, 82, 120, 95,
+ /* 1170 */ 28, 86, 120, 28, 89, 120, 91, 53, 54, 55,
+ /* 1180 */ 56, 57, 108, 51, 60, 61, 120, 102, 103, 1,
+ /* 1190 */ 105, 16, 120, 120, 15, 120, 17, 18, 82, 75,
+ /* 1200 */ 21, 22, 86, 28, 16, 89, 27, 91, 20, 120,
+ /* 1210 */ 31, 32, 33, 16, 35, 99, 28, 38, 102, 103,
+ /* 1220 */ 120, 105, 82, 35, 120, 28, 86, 120, 120, 89,
+ /* 1230 */ 120, 91, 53, 54, 55, 56, 57, 120, 16, 60,
+ /* 1240 */ 61, 120, 102, 103, 1, 105, 58, 1, 16, 15,
+ /* 1250 */ 28, 17, 18, 1, 75, 21, 22, 120, 120, 16,
+ /* 1260 */ 28, 27, 16, 16, 16, 31, 32, 33, 16, 35,
+ /* 1270 */ 24, 28, 38, 120, 28, 28, 28, 82, 120, 95,
+ /* 1280 */ 28, 86, 120, 120, 89, 120, 91, 53, 54, 55,
+ /* 1290 */ 56, 57, 108, 120, 60, 61, 120, 102, 103, 95,
+ /* 1300 */ 105, 120, 120, 51, 15, 120, 17, 18, 120, 75,
+ /* 1310 */ 21, 22, 108, 120, 120, 120, 27, 120, 120, 120,
+ /* 1320 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
+ /* 1330 */ 120, 120, 82, 120, 120, 120, 86, 120, 120, 89,
+ /* 1340 */ 120, 91, 53, 54, 55, 56, 57, 120, 120, 60,
+ /* 1350 */ 61, 120, 102, 103, 120, 105, 120, 120, 120, 15,
+ /* 1360 */ 120, 17, 18, 120, 75, 21, 22, 120, 120, 120,
+ /* 1370 */ 120, 27, 120, 120, 120, 31, 32, 33, 120, 35,
+ /* 1380 */ 120, 120, 38, 120, 120, 120, 120, 82, 120, 120,
+ /* 1390 */ 120, 86, 120, 120, 89, 120, 91, 53, 54, 55,
+ /* 1400 */ 56, 57, 120, 120, 60, 61, 120, 102, 103, 120,
+ /* 1410 */ 105, 120, 120, 120, 15, 120, 17, 18, 120, 75,
+ /* 1420 */ 21, 22, 120, 120, 120, 120, 27, 120, 120, 120,
+ /* 1430 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
+ /* 1440 */ 120, 120, 82, 120, 120, 120, 86, 120, 120, 89,
+ /* 1450 */ 120, 91, 53, 54, 55, 56, 57, 120, 120, 60,
+ /* 1460 */ 61, 120, 102, 103, 120, 105, 120, 120, 120, 15,
+ /* 1470 */ 120, 17, 18, 120, 75, 21, 22, 120, 120, 120,
+ /* 1480 */ 120, 27, 120, 120, 120, 31, 32, 33, 120, 35,
+ /* 1490 */ 120, 120, 38, 120, 120, 120, 120, 82, 120, 120,
+ /* 1500 */ 120, 86, 120, 120, 89, 120, 91, 53, 54, 55,
+ /* 1510 */ 56, 57, 120, 120, 60, 61, 120, 102, 103, 120,
+ /* 1520 */ 105, 120, 120, 120, 15, 120, 17, 18, 120, 75,
+ /* 1530 */ 21, 22, 120, 120, 120, 120, 27, 120, 120, 120,
+ /* 1540 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
+ /* 1550 */ 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
+ /* 1560 */ 120, 120, 53, 54, 55, 56, 57, 120, 120, 60,
+ /* 1570 */ 61, 120, 120, 120, 120, 120, 120, 120, 120, 15,
+ /* 1580 */ 120, 17, 18, 120, 75, 21, 22, 120, 120, 120,
+ /* 1590 */ 120, 27, 120, 120, 120, 31, 32, 33, 120, 35,
+ /* 1600 */ 120, 120, 38, 120, 120, 120, 120, 120, 120, 120,
+ /* 1610 */ 120, 120, 120, 120, 120, 120, 120, 53, 54, 55,
+ /* 1620 */ 56, 57, 120, 120, 60, 61, 120, 120, 120, 120,
+ /* 1630 */ 120, 120, 120, 120, 15, 120, 17, 18, 120, 75,
+ /* 1640 */ 21, 22, 120, 120, 120, 120, 27, 120, 120, 120,
+ /* 1650 */ 31, 32, 33, 120, 35, 120, 120, 38, 120, 120,
+ /* 1660 */ 120, 120, 120, 120, 120, 120, 120, 87, 88, 120,
+ /* 1670 */ 120, 120, 53, 54, 55, 56, 57, 97, 120, 60,
+ /* 1680 */ 100, 101, 120, 120, 120, 120, 120, 120, 120, 15,
+ /* 1690 */ 120, 17, 18, 113, 75, 21, 22, 120, 120, 120,
+ /* 1700 */ 120, 27, 120, 120, 120, 31, 32, 33, 120, 35,
+ /* 1710 */ 120, 120, 38, 120, 120, 120, 120, 120, 120, 120,
+ /* 1720 */ 120, 120, 120, 120, 120, 120, 16, 53, 54, 55,
+ /* 1730 */ 56, 57, 120, 23, 60, 25, 26, 120, 28, 29,
+ /* 1740 */ 120, 120, 120, 120, 34, 35, 36, 120, 120, 75,
+ /* 1750 */ 120, 120, 120, 120, 120, 120, 120, 120, 82, 120,
+ /* 1760 */ 120, 51, 86, 120, 120, 89, 90, 91, 58, 120,
+ /* 1770 */ 120, 120, 62, 120, 98, 99, 120, 120, 102, 103,
+ /* 1780 */ 120, 105, 120, 120, 120, 120, 76, 120, 120, 120,
+ /* 1790 */ 82, 120, 116, 117, 86, 120, 120, 89, 90, 91,
+ /* 1800 */ 120, 120, 120, 120, 120, 120, 98, 99, 120, 120,
+ /* 1810 */ 102, 103, 82, 105, 120, 120, 86, 120, 120, 89,
+ /* 1820 */ 90, 91, 120, 120, 120, 117, 87, 88, 98, 99,
+ /* 1830 */ 120, 120, 102, 103, 120, 105, 97, 120, 120, 100,
+ /* 1840 */ 101, 82, 120, 120, 120, 86, 120, 120, 89, 90,
+ /* 1850 */ 91, 120, 113, 87, 88, 120, 120, 98, 99, 120,
+ /* 1860 */ 120, 102, 103, 97, 105, 120, 100, 101, 120, 82,
+ /* 1870 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 113,
+ /* 1880 */ 120, 87, 88, 120, 120, 98, 99, 120, 120, 102,
+ /* 1890 */ 103, 97, 105, 82, 100, 101, 120, 86, 120, 120,
+ /* 1900 */ 89, 90, 91, 120, 120, 120, 120, 113, 120, 98,
+ /* 1910 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 1920 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 1930 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 1940 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 1950 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 1960 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 1970 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 1980 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 1990 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2000 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2010 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2020 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2030 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2040 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2050 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2060 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2070 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2080 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2090 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2100 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2110 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2120 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2130 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2140 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2150 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2160 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2170 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2180 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2190 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2200 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2210 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2220 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2230 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2240 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2250 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2260 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2270 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2280 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2290 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2300 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2310 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2320 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2330 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2340 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2350 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2360 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2370 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2380 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2390 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2400 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2410 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2420 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2430 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2440 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2450 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2460 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2470 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2480 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2490 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2500 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2510 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2520 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2530 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2540 */ 99, 82, 120, 102, 103, 86, 105, 120, 89, 90,
+ /* 2550 */ 91, 120, 120, 120, 120, 120, 120, 98, 99, 120,
+ /* 2560 */ 120, 102, 103, 82, 105, 120, 120, 86, 120, 120,
+ /* 2570 */ 89, 90, 91, 120, 120, 120, 120, 120, 120, 98,
+ /* 2580 */ 99, 120, 120, 102, 103, 120, 105, 120, 120, 82,
+ /* 2590 */ 120, 120, 120, 86, 120, 120, 89, 90, 91, 120,
+ /* 2600 */ 120, 120, 120, 120, 120, 98, 99, 120, 120, 102,
+ /* 2610 */ 103, 120, 105, 82, 120, 120, 120, 86, 120, 120,
+ /* 2620 */ 89, 120, 91, 120, 120, 120, 120, 120, 120, 120,
+ /* 2630 */ 99, 120, 120, 102, 103, 120, 105,
);
- const YY_SHIFT_USE_DFLT = -9;
- const YY_SHIFT_MAX = 250;
+ const YY_SHIFT_USE_DFLT = -45;
+ const YY_SHIFT_MAX = 252;
static public $yy_shift_ofst = array(
- /* 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,
+ /* 0 */ -2, 1289, 1289, 1124, 1124, 1124, 1399, 1399, 1069, 1564,
+ /* 10 */ 1124, 1124, 1124, 1124, 1124, 1124, 1509, 1124, 1124, 1454,
+ /* 20 */ 1509, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
+ /* 30 */ 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1344, 1124, 1124,
+ /* 40 */ 1234, 1124, 1124, 1234, 1179, 1179, 1619, 1674, 1619, 1619,
+ /* 50 */ 1619, 1619, 1619, 197, 49, -1, 123, 595, 595, 595,
+ /* 60 */ 793, 867, 917, 495, 345, 271, 395, 445, 545, 743,
+ /* 70 */ 669, 967, 967, 967, 967, 967, 967, 967, 967, 967,
+ /* 80 */ 967, 967, 967, 967, 967, 967, 967, 967, 967, 967,
+ /* 90 */ 1005, 1005, 1188, 1142, 1252, 1246, 474, -2, 745, 270,
+ /* 100 */ -4, 1243, 344, 198, 1243, 344, 363, 435, 474, 474,
+ /* 110 */ 474, 1088, 47, 670, 1132, 161, 675, 125, 313, 3,
+ /* 120 */ 79, 211, 201, 272, 196, 361, 1248, 1006, 411, 311,
+ /* 130 */ 438, 1065, 311, 435, 311, 435, 289, 289, 311, 311,
+ /* 140 */ 311, 459, 398, 438, 311, 311, 311, 549, 85, 85,
+ /* 150 */ 550, 327, 327, 327, 327, 327, 327, 327, 327, -45,
+ /* 160 */ 238, 61, 350, 337, 0, 856, 736, 741, -44, 215,
+ /* 170 */ -44, 737, 740, 735, -44, -44, 1197, 1175, -44, 1222,
+ /* 180 */ 1247, 1232, 1145, 865, 359, 859, 866, 1122, 1121, 1077,
+ /* 190 */ 704, 1078, 85, 108, 327, 577, 85, 585, 577, 327,
+ /* 200 */ 85, 108, 143, -45, -45, -45, -45, 1710, 119, 193,
+ /* 210 */ 48, 67, 73, 266, 266, 268, 269, 291, 676, 340,
+ /* 220 */ 547, 50, 666, 240, 523, 516, 548, 437, 510, 491,
+ /* 230 */ 143, 517, 539, 538, 536, 534, 535, 502, 490, 463,
+ /* 240 */ 482, 439, 461, 458, 427, 485, 486, 465, 464, 505,
+ /* 250 */ 453, 488, 546,
);
- const YY_REDUCE_USE_DFLT = -81;
- const YY_REDUCE_MAX = 202;
+ const YY_REDUCE_USE_DFLT = -91;
+ const YY_REDUCE_MAX = 206;
static public $yy_reduce_ofst = array(
- /* 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,
+ /* 0 */ -48, 1676, 1708, 117, 43, 265, 191, 591, 1991, 1967,
+ /* 10 */ 1941, 2009, 2031, 2081, 2057, 1919, 1901, 1787, 1759, 1730,
+ /* 20 */ 1811, 1829, 1877, 1851, 2099, 2121, 2391, 2369, 2351, 2441,
+ /* 30 */ 2481, 2459, 2507, 2327, 787, 2301, 2189, 2171, 2147, 2211,
+ /* 40 */ 2237, 2279, 2261, 2417, 1116, 2531, 1250, 1305, 1085, 1195,
+ /* 50 */ 1140, 1360, 1415, 1580, 1739, 661, 587, 1794, 1766, 587,
+ /* 60 */ 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
+ /* 70 */ 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
+ /* 80 */ 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
+ /* 90 */ 1034, 1034, 14, 113, 62, 113, 136, -25, 204, 187,
+ /* 100 */ 783, 260, 261, 169, 309, 791, 316, 65, 360, 384,
+ /* 110 */ 40, 937, 315, -6, -6, 984, -6, 244, 95, 244,
+ /* 120 */ -6, 341, -6, 95, 244, 710, 433, 95, 710, 884,
+ /* 130 */ 834, 314, 412, 312, 512, 333, 367, 418, 710, 1204,
+ /* 140 */ 1074, 1184, -6, 710, 392, 1032, 987, 160, 95, 72,
+ /* 150 */ 86, -6, -6, -6, -6, -6, -6, -6, -6, -6,
+ /* 160 */ 468, 469, 476, 476, 476, 476, 476, 476, 467, 466,
+ /* 170 */ 467, 476, 476, 476, 467, 467, 476, 476, 467, 476,
+ /* 180 */ 476, 476, 476, 476, -90, 476, 476, 476, 476, 476,
+ /* 190 */ -90, 476, 42, 481, -90, 456, 42, 513, 456, -90,
+ /* 200 */ 42, 356, 324, 217, 126, 168, 306,
);
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, 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, ),
+ /* 0 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 22, 27, 31, 32, ),
+ /* 1 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 2 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 3 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 4 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 5 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 6 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 7 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 8 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 62, 75, ),
+ /* 9 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 10 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 11 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 12 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 13 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 14 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 15 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 16 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 17 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 18 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 19 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 20 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 21 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 22 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 23 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 24 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 25 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 26 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 27 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 28 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 29 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 30 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 31 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 32 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 33 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 34 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 35 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 36 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 37 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 38 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 39 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 40 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 41 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 42 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 43 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 44 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 45 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 61, 75, ),
+ /* 46 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 47 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 48 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 49 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 50 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 51 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 52 */ array(15, 17, 18, 21, 22, 27, 31, 32, 33, 35, 38, 53, 54, 55, 56, 57, 60, 75, ),
+ /* 53 */ array(1, 16, 28, 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, 26, 28, 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, 28, 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, 16, 28, 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, 28, 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, 28, 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, 28, 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, 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, ),
+ /* 61 */ 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, ),
+ /* 62 */ 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, ),
+ /* 63 */ 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, ),
/* 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, ),
+ /* 65 */ 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, ),
+ /* 66 */ 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, ),
+ /* 67 */ 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, ),
+ /* 68 */ 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, ),
+ /* 69 */ 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, ),
+ /* 70 */ array(1, 23, 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, ),
/* 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, ),
+ /* 92 */ array(1, 16, 20, 28, 35, 58, ),
+ /* 93 */ array(1, 16, 24, 28, ),
+ /* 94 */ array(1, 16, 28, 51, ),
+ /* 95 */ array(1, 16, 24, 28, ),
+ /* 96 */ array(1, 28, ),
+ /* 97 */ array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 21, 22, 27, 31, 32, ),
+ /* 98 */ array(10, 15, 21, 22, 27, 31, 32, 75, 76, 77, ),
+ /* 99 */ array(15, 18, 28, 30, ),
+ /* 100 */ array(15, 18, 28, 30, ),
+ /* 101 */ array(1, 16, 28, ),
+ /* 102 */ array(15, 18, 28, ),
+ /* 103 */ array(20, 56, 61, ),
+ /* 104 */ array(1, 16, 28, ),
+ /* 105 */ array(15, 18, 28, ),
+ /* 106 */ array(17, 18, 60, ),
+ /* 107 */ array(17, 35, ),
+ /* 108 */ array(1, 28, ),
+ /* 109 */ array(1, 28, ),
+ /* 110 */ array(1, 28, ),
+ /* 111 */ array(10, 15, 21, 22, 27, 31, 32, 75, 76, 77, ),
+ /* 112 */ array(4, 5, 6, 7, 8, 12, 13, 14, ),
+ /* 113 */ array(1, 16, 28, 29, 51, ),
+ /* 114 */ array(1, 16, 28, 51, ),
+ /* 115 */ array(15, 18, 19, 24, ),
+ /* 116 */ array(1, 16, 28, 51, ),
+ /* 117 */ array(15, 18, 19, 59, ),
+ /* 118 */ array(19, 20, 58, ),
+ /* 119 */ array(15, 18, 19, ),
+ /* 120 */ array(1, 30, 51, ),
/* 121 */ array(1, 16, 20, ),
/* 122 */ array(1, 16, 51, ),
- /* 123 */ array(17, 18, ),
- /* 124 */ array(20, 58, ),
+ /* 123 */ array(19, 20, 58, ),
+ /* 124 */ array(15, 18, 59, ),
/* 125 */ array(15, 18, ),
- /* 126 */ array(17, 35, ),
- /* 127 */ array(15, 18, ),
+ /* 126 */ array(16, 28, ),
+ /* 127 */ array(20, 58, ),
/* 128 */ array(15, 18, ),
- /* 129 */ array(1, 16, ),
+ /* 129 */ array(15, 18, ),
/* 130 */ array(15, 18, ),
- /* 131 */ array(15, 18, ),
+ /* 131 */ array(1, 16, ),
/* 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, ),
+ /* 135 */ array(17, 35, ),
+ /* 136 */ array(17, 18, ),
+ /* 137 */ array(17, 18, ),
+ /* 138 */ array(15, 18, ),
/* 139 */ array(15, 18, ),
- /* 140 */ array(17, 18, ),
+ /* 140 */ array(15, 18, ),
/* 141 */ array(15, 18, ),
- /* 142 */ array(15, 18, ),
+ /* 142 */ array(1, 51, ),
/* 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, ),
+ /* 145 */ array(15, 18, ),
+ /* 146 */ array(15, 18, ),
+ /* 147 */ array(28, ),
+ /* 148 */ array(20, ),
+ /* 149 */ array(20, ),
+ /* 150 */ array(28, ),
/* 151 */ array(1, ),
/* 152 */ array(1, ),
/* 153 */ array(1, ),
- /* 154 */ array(20, ),
+ /* 154 */ array(1, ),
/* 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(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, ),
+ /* 156 */ array(1, ),
+ /* 157 */ array(1, ),
+ /* 158 */ array(1, ),
+ /* 159 */ array(),
+ /* 160 */ array(15, 18, 59, ),
+ /* 161 */ array(15, 17, 18, ),
+ /* 162 */ array(16, 28, ),
+ /* 163 */ array(16, 28, ),
+ /* 164 */ array(16, 28, ),
+ /* 165 */ array(16, 28, ),
+ /* 166 */ array(16, 28, ),
+ /* 167 */ array(16, 28, ),
+ /* 168 */ array(56, 61, ),
+ /* 169 */ array(15, 35, ),
/* 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(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(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, ),
+ /* 171 */ array(16, 28, ),
+ /* 172 */ array(16, 28, ),
+ /* 173 */ array(16, 28, ),
+ /* 174 */ array(56, 61, ),
+ /* 175 */ array(56, 61, ),
+ /* 176 */ array(16, 28, ),
+ /* 177 */ array(16, 28, ),
+ /* 178 */ array(56, 61, ),
+ /* 179 */ array(16, 28, ),
+ /* 180 */ array(16, 28, ),
+ /* 181 */ array(16, 28, ),
+ /* 182 */ array(16, 28, ),
+ /* 183 */ array(16, 28, ),
+ /* 184 */ array(1, 16, ),
+ /* 185 */ array(16, 28, ),
+ /* 186 */ array(16, 28, ),
+ /* 187 */ array(16, 28, ),
+ /* 188 */ array(16, 28, ),
+ /* 189 */ array(16, 28, ),
+ /* 190 */ array(1, 16, ),
+ /* 191 */ array(16, 28, ),
+ /* 192 */ array(20, ),
+ /* 193 */ array(28, ),
+ /* 194 */ array(1, ),
+ /* 195 */ array(2, ),
+ /* 196 */ array(20, ),
+ /* 197 */ array(13, ),
+ /* 198 */ array(2, ),
+ /* 199 */ array(1, ),
+ /* 200 */ array(20, ),
+ /* 201 */ array(28, ),
+ /* 202 */ array(35, ),
+ /* 203 */ array(),
+ /* 204 */ array(),
+ /* 205 */ array(),
+ /* 206 */ array(),
+ /* 207 */ array(16, 23, 25, 26, 28, 29, 34, 35, 36, 51, 58, 62, 76, ),
+ /* 208 */ array(16, 19, 28, 35, 58, ),
+ /* 209 */ array(16, 28, 35, 58, ),
+ /* 210 */ array(35, 56, 58, 62, ),
+ /* 211 */ array(15, 17, 18, 33, ),
+ /* 212 */ array(30, 35, 58, ),
+ /* 213 */ array(35, 58, ),
+ /* 214 */ array(35, 58, ),
+ /* 215 */ array(34, 36, ),
+ /* 216 */ array(34, 36, ),
+ /* 217 */ array(34, 36, ),
+ /* 218 */ array(2, 19, ),
+ /* 219 */ array(34, 62, ),
+ /* 220 */ array(23, 34, ),
+ /* 221 */ array(24, 76, ),
+ /* 222 */ array(19, 56, ),
+ /* 223 */ array(18, 59, ),
+ /* 224 */ array(33, ),
+ /* 225 */ array(33, ),
+ /* 226 */ array(2, ),
+ /* 227 */ array(18, ),
+ /* 228 */ array(18, ),
+ /* 229 */ array(56, ),
+ /* 230 */ array(35, ),
+ /* 231 */ array(35, ),
+ /* 232 */ array(18, ),
+ /* 233 */ array(17, ),
+ /* 234 */ array(17, ),
+ /* 235 */ array(17, ),
+ /* 236 */ array(19, ),
+ /* 237 */ array(25, ),
+ /* 238 */ array(36, ),
+ /* 239 */ array(17, ),
+ /* 240 */ array(17, ),
+ /* 241 */ array(62, ),
/* 242 */ array(18, ),
- /* 243 */ array(17, ),
- /* 244 */ array(17, ),
- /* 245 */ array(60, ),
- /* 246 */ array(17, ),
- /* 247 */ array(33, ),
- /* 248 */ array(25, ),
- /* 249 */ array(26, ),
+ /* 243 */ array(18, ),
+ /* 244 */ array(24, ),
+ /* 245 */ array(18, ),
+ /* 246 */ array(18, ),
+ /* 247 */ array(60, ),
+ /* 248 */ array(60, ),
+ /* 249 */ array(18, ),
/* 250 */ array(52, ),
- /* 251 */ array(),
- /* 252 */ array(),
+ /* 251 */ array(18, ),
+ /* 252 */ array(2, ),
/* 253 */ array(),
/* 254 */ array(),
/* 255 */ array(),
/* 380 */ array(),
/* 381 */ array(),
/* 382 */ array(),
+ /* 383 */ array(),
+ /* 384 */ array(),
+ /* 385 */ array(),
+ /* 386 */ array(),
);
static public $yy_default = array(
- /* 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,
+ /* 0 */ 390, 571, 588, 542, 542, 542, 588, 588, 588, 588,
+ /* 10 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 20 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 30 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 40 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 50 */ 588, 588, 588, 588, 450, 588, 588, 450, 450, 450,
+ /* 60 */ 588, 588, 455, 588, 588, 588, 588, 588, 588, 588,
+ /* 70 */ 588, 471, 474, 574, 573, 541, 434, 452, 475, 476,
+ /* 80 */ 484, 572, 455, 483, 480, 460, 461, 479, 540, 457,
+ /* 90 */ 488, 487, 499, 489, 463, 489, 450, 387, 588, 450,
+ /* 100 */ 450, 470, 450, 554, 507, 450, 588, 588, 450, 450,
+ /* 110 */ 450, 588, 588, 463, 463, 588, 463, 515, 508, 515,
+ /* 120 */ 463, 588, 463, 508, 515, 588, 588, 508, 588, 588,
+ /* 130 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 140 */ 588, 588, 463, 588, 515, 588, 588, 450, 508, 551,
+ /* 150 */ 450, 467, 468, 466, 490, 486, 473, 492, 491, 549,
+ /* 160 */ 516, 588, 588, 588, 588, 588, 588, 588, 532, 515,
+ /* 170 */ 534, 588, 588, 588, 535, 533, 588, 588, 513, 588,
+ /* 180 */ 588, 588, 588, 588, 588, 588, 588, 588, 588, 588,
+ /* 190 */ 588, 588, 529, 587, 470, 544, 555, 405, 543, 507,
+ /* 200 */ 552, 587, 515, 548, 515, 515, 548, 465, 499, 499,
+ /* 210 */ 499, 588, 499, 485, 499, 588, 588, 588, 527, 588,
+ /* 220 */ 588, 489, 495, 588, 497, 588, 527, 588, 588, 495,
+ /* 230 */ 527, 553, 588, 588, 588, 588, 588, 458, 588, 588,
+ /* 240 */ 588, 588, 588, 588, 489, 588, 588, 588, 588, 588,
+ /* 250 */ 501, 588, 527, 433, 442, 565, 566, 438, 567, 449,
+ /* 260 */ 429, 459, 586, 435, 416, 430, 469, 564, 444, 447,
+ /* 270 */ 563, 446, 445, 550, 562, 528, 443, 441, 417, 448,
+ /* 280 */ 440, 526, 582, 527, 439, 412, 398, 397, 396, 432,
+ /* 290 */ 399, 400, 431, 395, 394, 389, 388, 391, 415, 393,
+ /* 300 */ 392, 401, 437, 409, 506, 462, 410, 411, 413, 547,
+ /* 310 */ 510, 408, 403, 402, 404, 436, 407, 406, 414, 561,
+ /* 320 */ 509, 503, 505, 424, 514, 585, 578, 568, 465, 464,
+ /* 330 */ 477, 423, 530, 570, 569, 584, 581, 518, 525, 427,
+ /* 340 */ 428, 519, 426, 500, 575, 517, 425, 579, 580, 502,
+ /* 350 */ 576, 577, 478, 481, 522, 524, 583, 559, 558, 557,
+ /* 360 */ 521, 419, 493, 418, 472, 537, 560, 501, 520, 523,
+ /* 370 */ 545, 482, 496, 421, 498, 422, 539, 504, 536, 556,
+ /* 380 */ 494, 546, 512, 531, 420, 511, 538,
);
const YYNOCODE = 121;
const YYSTACKDEPTH = 100;
- const YYNSTATE = 383;
- const YYNRULE = 199;
+ const YYNSTATE = 387;
+ const YYNRULE = 201;
const YYERRORSYMBOL = 78;
const YYERRSYMDT = 'yy0';
const YYFALLBACK = 0;
public $yyerrcnt; /* Shifts left before out of the error */
public $yystack = array(); /* The parser's stack */
- public $yyTokenName = array(
- '$', 'VERT', 'COLON', 'COMMENT',
- 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
- 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
- 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
- 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
- 'PTR', 'LDELIF', 'SPACE', 'LDELFOR',
- 'SEMICOLON', 'INCDEC', 'TO', 'STEP',
- 'LDELFOREACH', 'AS', 'APTR', 'SMARTYBLOCKCHILD',
- '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',
+ public $yyTokenName = array(
+ '$', 'VERT', 'COLON', 'COMMENT',
+ 'PHPSTARTTAG', 'PHPENDTAG', 'ASPSTARTTAG', 'ASPENDTAG',
+ 'FAKEPHPSTARTTAG', 'XMLTAG', 'OTHER', 'LINEBREAK',
+ 'LITERALSTART', 'LITERALEND', 'LITERAL', 'LDEL',
+ 'RDEL', 'DOLLAR', 'ID', 'EQUAL',
+ 'PTR', 'LDELIF', 'LDELFOR', 'SEMICOLON',
+ 'INCDEC', 'TO', 'STEP', 'LDELFOREACH',
+ 'SPACE', 'AS', 'APTR', 'SMARTYBLOCKCHILD',
+ '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',
'NOTEQUALS', 'GREATERTHAN', 'LESSTHAN', 'GREATEREQUAL',
- 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
- 'LAND', 'LOR', 'LXOR', 'QUOTE',
- 'BACKTICK', 'DOLLARID', 'error', 'start',
- 'template', 'template_element', 'smartytag', 'literal',
- 'literal_elements', 'literal_element', 'value', 'attributes',
- 'variable', 'expr', 'modifierlist', 'varindexed',
- 'statement', 'statements', 'optspace', 'varvar',
- 'foraction', 'attribute', 'ternary', 'array',
+ 'LESSEQUAL', 'IDENTITY', 'NONEIDENTITY', 'MOD',
+ 'LAND', 'LOR', 'LXOR', 'QUOTE',
+ 'BACKTICK', 'DOLLARID', 'error', 'start',
+ 'template', 'template_element', 'smartytag', 'literal',
+ 'literal_elements', 'literal_element', 'value', 'modifierlist',
+ 'attributes', 'variable', 'expr', 'varindexed',
+ 'statement', 'statements', 'optspace', 'varvar',
+ 'foraction', 'attribute', 'ternary', 'array',
'ifcond', 'lop', 'function', 'doublequoted_with_quotes',
- 'static_class_access', 'object', 'arrayindex', 'indexdef',
- 'varvarele', 'objectchain', 'objectelement', 'method',
+ 'static_class_access', 'object', 'arrayindex', 'indexdef',
+ 'varvarele', 'objectchain', 'objectelement', 'method',
'params', 'modifier', 'modparameters', 'modparameter',
'arrayelements', 'arrayelement', 'doublequoted', 'doublequotedcontent',
);
/* 24 */ "literal_element ::= ASPSTARTTAG",
/* 25 */ "literal_element ::= ASPENDTAG",
/* 26 */ "smartytag ::= LDEL value RDEL",
- /* 27 */ "smartytag ::= LDEL value attributes RDEL",
- /* 28 */ "smartytag ::= LDEL variable attributes RDEL",
- /* 29 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
- /* 30 */ "smartytag ::= LDEL expr attributes RDEL",
- /* 31 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
- /* 32 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
- /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
- /* 34 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
- /* 35 */ "smartytag ::= LDEL ID attributes RDEL",
- /* 36 */ "smartytag ::= LDEL ID RDEL",
- /* 37 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
- /* 38 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
- /* 39 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
- /* 40 */ "smartytag ::= LDELIF SPACE expr RDEL",
- /* 41 */ "smartytag ::= LDELIF SPACE expr attributes RDEL",
- /* 42 */ "smartytag ::= LDELIF SPACE statement RDEL",
- /* 43 */ "smartytag ::= LDELIF SPACE statement attributes RDEL",
- /* 44 */ "smartytag ::= LDELFOR SPACE statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
- /* 45 */ "foraction ::= EQUAL expr",
- /* 46 */ "foraction ::= INCDEC",
- /* 47 */ "smartytag ::= LDELFOR SPACE statement TO expr attributes RDEL",
- /* 48 */ "smartytag ::= LDELFOR SPACE statement TO expr STEP expr attributes RDEL",
- /* 49 */ "smartytag ::= LDELFOREACH attributes RDEL",
- /* 50 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
- /* 51 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
- /* 52 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
- /* 53 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
- /* 54 */ "smartytag ::= SMARTYBLOCKCHILD",
- /* 55 */ "smartytag ::= LDELSLASH ID RDEL",
- /* 56 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
- /* 57 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
- /* 58 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
- /* 59 */ "attributes ::= attributes attribute",
- /* 60 */ "attributes ::= attribute",
- /* 61 */ "attributes ::=",
- /* 62 */ "attribute ::= SPACE ID EQUAL ID",
- /* 63 */ "attribute ::= SPACE ID EQUAL expr",
- /* 64 */ "attribute ::= SPACE ID EQUAL value",
- /* 65 */ "attribute ::= SPACE ID",
- /* 66 */ "attribute ::= SPACE expr",
- /* 67 */ "attribute ::= SPACE value",
- /* 68 */ "attribute ::= SPACE INTEGER EQUAL expr",
- /* 69 */ "statements ::= statement",
- /* 70 */ "statements ::= statements COMMA statement",
- /* 71 */ "statement ::= DOLLAR varvar EQUAL expr",
- /* 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 ::=",
+ /* 27 */ "smartytag ::= LDEL value modifierlist attributes RDEL",
+ /* 28 */ "smartytag ::= LDEL value attributes RDEL",
+ /* 29 */ "smartytag ::= LDEL variable modifierlist attributes RDEL",
+ /* 30 */ "smartytag ::= LDEL variable attributes RDEL",
+ /* 31 */ "smartytag ::= LDEL expr modifierlist attributes RDEL",
+ /* 32 */ "smartytag ::= LDEL expr attributes RDEL",
+ /* 33 */ "smartytag ::= LDEL DOLLAR ID EQUAL value RDEL",
+ /* 34 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr RDEL",
+ /* 35 */ "smartytag ::= LDEL DOLLAR ID EQUAL expr attributes RDEL",
+ /* 36 */ "smartytag ::= LDEL varindexed EQUAL expr attributes RDEL",
+ /* 37 */ "smartytag ::= LDEL ID attributes RDEL",
+ /* 38 */ "smartytag ::= LDEL ID RDEL",
+ /* 39 */ "smartytag ::= LDEL ID PTR ID attributes RDEL",
+ /* 40 */ "smartytag ::= LDEL ID modifierlist attributes RDEL",
+ /* 41 */ "smartytag ::= LDEL ID PTR ID modifierlist attributes RDEL",
+ /* 42 */ "smartytag ::= LDELIF expr RDEL",
+ /* 43 */ "smartytag ::= LDELIF expr attributes RDEL",
+ /* 44 */ "smartytag ::= LDELIF statement RDEL",
+ /* 45 */ "smartytag ::= LDELIF statement attributes RDEL",
+ /* 46 */ "smartytag ::= LDELFOR statements SEMICOLON optspace expr SEMICOLON optspace DOLLAR varvar foraction attributes RDEL",
+ /* 47 */ "foraction ::= EQUAL expr",
+ /* 48 */ "foraction ::= INCDEC",
+ /* 49 */ "smartytag ::= LDELFOR statement TO expr attributes RDEL",
+ /* 50 */ "smartytag ::= LDELFOR statement TO expr STEP expr attributes RDEL",
+ /* 51 */ "smartytag ::= LDELFOREACH attributes RDEL",
+ /* 52 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar attributes RDEL",
+ /* 53 */ "smartytag ::= LDELFOREACH SPACE value AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
+ /* 54 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar attributes RDEL",
+ /* 55 */ "smartytag ::= LDELFOREACH SPACE expr AS DOLLAR varvar APTR DOLLAR varvar attributes RDEL",
+ /* 56 */ "smartytag ::= SMARTYBLOCKCHILD",
+ /* 57 */ "smartytag ::= LDELSLASH ID RDEL",
+ /* 58 */ "smartytag ::= LDELSLASH ID modifierlist RDEL",
+ /* 59 */ "smartytag ::= LDELSLASH ID PTR ID RDEL",
+ /* 60 */ "smartytag ::= LDELSLASH ID PTR ID modifierlist RDEL",
+ /* 61 */ "attributes ::= attributes attribute",
+ /* 62 */ "attributes ::= attribute",
+ /* 63 */ "attributes ::=",
+ /* 64 */ "attribute ::= SPACE ID EQUAL ID",
+ /* 65 */ "attribute ::= SPACE ID EQUAL expr",
+ /* 66 */ "attribute ::= SPACE ID EQUAL value",
+ /* 67 */ "attribute ::= SPACE ID",
+ /* 68 */ "attribute ::= SPACE expr",
+ /* 69 */ "attribute ::= SPACE value",
+ /* 70 */ "attribute ::= SPACE INTEGER EQUAL expr",
+ /* 71 */ "statements ::= statement",
+ /* 72 */ "statements ::= statements COMMA statement",
+ /* 73 */ "statement ::= DOLLAR varvar EQUAL expr",
+ /* 74 */ "statement ::= varindexed EQUAL expr",
+ /* 75 */ "statement ::= OPENP statement CLOSEP",
+ /* 76 */ "expr ::= value",
+ /* 77 */ "expr ::= ternary",
+ /* 78 */ "expr ::= DOLLAR ID COLON ID",
+ /* 79 */ "expr ::= expr MATH value",
+ /* 80 */ "expr ::= expr UNIMATH value",
+ /* 81 */ "expr ::= expr ANDSYM value",
+ /* 82 */ "expr ::= array",
+ /* 83 */ "expr ::= expr modifierlist",
+ /* 84 */ "expr ::= expr ifcond expr",
+ /* 85 */ "expr ::= expr ISIN array",
+ /* 86 */ "expr ::= expr ISIN value",
+ /* 87 */ "expr ::= expr lop expr",
+ /* 88 */ "expr ::= expr ISDIVBY expr",
+ /* 89 */ "expr ::= expr ISNOTDIVBY expr",
+ /* 90 */ "expr ::= expr ISEVEN",
+ /* 91 */ "expr ::= expr ISNOTEVEN",
+ /* 92 */ "expr ::= expr ISEVENBY expr",
+ /* 93 */ "expr ::= expr ISNOTEVENBY expr",
+ /* 94 */ "expr ::= expr ISODD",
+ /* 95 */ "expr ::= expr ISNOTODD",
+ /* 96 */ "expr ::= expr ISODDBY expr",
+ /* 97 */ "expr ::= expr ISNOTODDBY expr",
+ /* 98 */ "expr ::= value INSTANCEOF ID",
+ /* 99 */ "expr ::= value INSTANCEOF value",
+ /* 100 */ "ternary ::= OPENP expr CLOSEP QMARK DOLLAR ID COLON expr",
+ /* 101 */ "ternary ::= OPENP expr CLOSEP QMARK expr COLON expr",
+ /* 102 */ "value ::= variable",
+ /* 103 */ "value ::= UNIMATH value",
+ /* 104 */ "value ::= NOT value",
+ /* 105 */ "value ::= TYPECAST value",
+ /* 106 */ "value ::= variable INCDEC",
+ /* 107 */ "value ::= HEX",
+ /* 108 */ "value ::= INTEGER",
+ /* 109 */ "value ::= INTEGER DOT INTEGER",
+ /* 110 */ "value ::= INTEGER DOT",
+ /* 111 */ "value ::= DOT INTEGER",
+ /* 112 */ "value ::= ID",
+ /* 113 */ "value ::= function",
+ /* 114 */ "value ::= OPENP expr CLOSEP",
+ /* 115 */ "value ::= SINGLEQUOTESTRING",
+ /* 116 */ "value ::= doublequoted_with_quotes",
+ /* 117 */ "value ::= ID DOUBLECOLON static_class_access",
+ /* 118 */ "value ::= varindexed DOUBLECOLON static_class_access",
+ /* 119 */ "value ::= smartytag",
+ /* 120 */ "value ::= value modifierlist",
+ /* 121 */ "variable ::= varindexed",
+ /* 122 */ "variable ::= DOLLAR varvar AT ID",
+ /* 123 */ "variable ::= object",
+ /* 124 */ "variable ::= HATCH ID HATCH",
+ /* 125 */ "variable ::= HATCH variable HATCH",
+ /* 126 */ "varindexed ::= DOLLAR varvar arrayindex",
+ /* 127 */ "arrayindex ::= arrayindex indexdef",
+ /* 128 */ "arrayindex ::=",
+ /* 129 */ "indexdef ::= DOT DOLLAR varvar",
+ /* 130 */ "indexdef ::= DOT DOLLAR varvar AT ID",
+ /* 131 */ "indexdef ::= DOT ID",
+ /* 132 */ "indexdef ::= DOT INTEGER",
+ /* 133 */ "indexdef ::= DOT LDEL expr RDEL",
+ /* 134 */ "indexdef ::= OPENB ID CLOSEB",
+ /* 135 */ "indexdef ::= OPENB ID DOT ID CLOSEB",
+ /* 136 */ "indexdef ::= OPENB expr CLOSEB",
+ /* 137 */ "indexdef ::= OPENB CLOSEB",
+ /* 138 */ "varvar ::= varvarele",
+ /* 139 */ "varvar ::= varvar varvarele",
+ /* 140 */ "varvarele ::= ID",
+ /* 141 */ "varvarele ::= LDEL expr RDEL",
+ /* 142 */ "object ::= varindexed objectchain",
+ /* 143 */ "objectchain ::= objectelement",
+ /* 144 */ "objectchain ::= objectchain objectelement",
+ /* 145 */ "objectelement ::= PTR ID arrayindex",
+ /* 146 */ "objectelement ::= PTR DOLLAR varvar arrayindex",
+ /* 147 */ "objectelement ::= PTR LDEL expr RDEL arrayindex",
+ /* 148 */ "objectelement ::= PTR ID LDEL expr RDEL arrayindex",
+ /* 149 */ "objectelement ::= PTR method",
+ /* 150 */ "function ::= ID OPENP params CLOSEP",
+ /* 151 */ "method ::= ID OPENP params CLOSEP",
+ /* 152 */ "method ::= DOLLAR ID OPENP params CLOSEP",
+ /* 153 */ "params ::= params COMMA expr",
+ /* 154 */ "params ::= expr",
+ /* 155 */ "params ::=",
+ /* 156 */ "modifierlist ::= modifierlist modifier modparameters",
+ /* 157 */ "modifierlist ::= modifier modparameters",
+ /* 158 */ "modifier ::= VERT AT ID",
+ /* 159 */ "modifier ::= VERT ID",
+ /* 160 */ "modparameters ::= modparameters modparameter",
+ /* 161 */ "modparameters ::=",
+ /* 162 */ "modparameter ::= COLON value",
+ /* 163 */ "modparameter ::= COLON array",
+ /* 164 */ "static_class_access ::= method",
+ /* 165 */ "static_class_access ::= method objectchain",
+ /* 166 */ "static_class_access ::= ID",
+ /* 167 */ "static_class_access ::= DOLLAR ID arrayindex",
+ /* 168 */ "static_class_access ::= DOLLAR ID arrayindex objectchain",
+ /* 169 */ "ifcond ::= EQUALS",
+ /* 170 */ "ifcond ::= NOTEQUALS",
+ /* 171 */ "ifcond ::= GREATERTHAN",
+ /* 172 */ "ifcond ::= LESSTHAN",
+ /* 173 */ "ifcond ::= GREATEREQUAL",
+ /* 174 */ "ifcond ::= LESSEQUAL",
+ /* 175 */ "ifcond ::= IDENTITY",
+ /* 176 */ "ifcond ::= NONEIDENTITY",
+ /* 177 */ "ifcond ::= MOD",
+ /* 178 */ "lop ::= LAND",
+ /* 179 */ "lop ::= LOR",
+ /* 180 */ "lop ::= LXOR",
+ /* 181 */ "array ::= OPENB arrayelements CLOSEB",
+ /* 182 */ "arrayelements ::= arrayelement",
+ /* 183 */ "arrayelements ::= arrayelements COMMA arrayelement",
+ /* 184 */ "arrayelements ::=",
+ /* 185 */ "arrayelement ::= value APTR expr",
+ /* 186 */ "arrayelement ::= ID APTR expr",
+ /* 187 */ "arrayelement ::= expr",
+ /* 188 */ "doublequoted_with_quotes ::= QUOTE QUOTE",
+ /* 189 */ "doublequoted_with_quotes ::= QUOTE doublequoted QUOTE",
+ /* 190 */ "doublequoted ::= doublequoted doublequotedcontent",
+ /* 191 */ "doublequoted ::= doublequotedcontent",
+ /* 192 */ "doublequotedcontent ::= BACKTICK variable BACKTICK",
+ /* 193 */ "doublequotedcontent ::= BACKTICK expr BACKTICK",
+ /* 194 */ "doublequotedcontent ::= DOLLARID",
+ /* 195 */ "doublequotedcontent ::= LDEL variable RDEL",
+ /* 196 */ "doublequotedcontent ::= LDEL expr RDEL",
+ /* 197 */ "doublequotedcontent ::= smartytag",
+ /* 198 */ "doublequotedcontent ::= OTHER",
+ /* 199 */ "optspace ::= SPACE",
+ /* 200 */ "optspace ::=",
);
function tokenName($tokenType)
function yy_find_shift_action($iLookAhead)
{
$stateno = $this->yystack[$this->yyidx]->stateno;
-
+
/* if ($this->yyidx < 0) return self::YY_NO_ACTION; */
if (!isset(self::$yy_shift_ofst[$stateno])) {
// no shift actions
$this->internalError = true;
$this->compiler->trigger_template_error("Stack overflow in template parser");
-#line 1731 "smarty_internal_templateparser.php"
+#line 1751 "smarty_internal_templateparser.php"
return;
}
$yytos = new TP_yyStackEntry;
array( 'lhs' => 85, 'rhs' => 1 ),
array( 'lhs' => 85, 'rhs' => 1 ),
array( 'lhs' => 82, 'rhs' => 3 ),
+ array( 'lhs' => 82, 'rhs' => 5 ),
array( 'lhs' => 82, 'rhs' => 4 ),
+ array( 'lhs' => 82, 'rhs' => 5 ),
array( 'lhs' => 82, 'rhs' => 4 ),
array( 'lhs' => 82, 'rhs' => 5 ),
array( 'lhs' => 82, 'rhs' => 4 ),
array( 'lhs' => 82, 'rhs' => 6 ),
array( 'lhs' => 82, 'rhs' => 5 ),
array( 'lhs' => 82, 'rhs' => 7 ),
+ array( 'lhs' => 82, 'rhs' => 3 ),
array( 'lhs' => 82, 'rhs' => 4 ),
- array( 'lhs' => 82, 'rhs' => 5 ),
+ array( 'lhs' => 82, 'rhs' => 3 ),
array( 'lhs' => 82, 'rhs' => 4 ),
- array( 'lhs' => 82, 'rhs' => 5 ),
- array( 'lhs' => 82, 'rhs' => 13 ),
+ array( 'lhs' => 82, 'rhs' => 12 ),
array( 'lhs' => 96, 'rhs' => 2 ),
array( 'lhs' => 96, 'rhs' => 1 ),
- array( 'lhs' => 82, 'rhs' => 7 ),
- array( 'lhs' => 82, 'rhs' => 9 ),
+ array( 'lhs' => 82, 'rhs' => 6 ),
+ array( 'lhs' => 82, 'rhs' => 8 ),
array( 'lhs' => 82, 'rhs' => 3 ),
array( 'lhs' => 82, 'rhs' => 8 ),
array( 'lhs' => 82, 'rhs' => 11 ),
array( 'lhs' => 82, 'rhs' => 4 ),
array( 'lhs' => 82, 'rhs' => 5 ),
array( 'lhs' => 82, 'rhs' => 6 ),
- array( 'lhs' => 87, 'rhs' => 2 ),
- array( 'lhs' => 87, 'rhs' => 1 ),
- array( 'lhs' => 87, 'rhs' => 0 ),
+ array( 'lhs' => 88, 'rhs' => 2 ),
+ array( 'lhs' => 88, 'rhs' => 1 ),
+ array( 'lhs' => 88, 'rhs' => 0 ),
array( 'lhs' => 97, 'rhs' => 4 ),
array( 'lhs' => 97, 'rhs' => 4 ),
array( 'lhs' => 97, 'rhs' => 4 ),
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 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 1 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 2 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
- array( 'lhs' => 89, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 1 ),
+ array( 'lhs' => 90, 'rhs' => 1 ),
+ array( 'lhs' => 90, 'rhs' => 4 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 1 ),
+ array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
+ array( 'lhs' => 90, 'rhs' => 3 ),
array( 'lhs' => 98, 'rhs' => 8 ),
array( 'lhs' => 98, 'rhs' => 7 ),
array( 'lhs' => 86, 'rhs' => 1 ),
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 ),
- array( 'lhs' => 88, 'rhs' => 3 ),
- array( 'lhs' => 88, 'rhs' => 3 ),
+ array( 'lhs' => 89, 'rhs' => 1 ),
+ array( 'lhs' => 89, 'rhs' => 4 ),
+ array( 'lhs' => 89, 'rhs' => 1 ),
+ array( 'lhs' => 89, 'rhs' => 3 ),
+ array( 'lhs' => 89, 'rhs' => 3 ),
array( 'lhs' => 91, 'rhs' => 3 ),
array( 'lhs' => 106, 'rhs' => 2 ),
array( 'lhs' => 106, 'rhs' => 0 ),
array( 'lhs' => 112, 'rhs' => 3 ),
array( 'lhs' => 112, 'rhs' => 1 ),
array( 'lhs' => 112, 'rhs' => 0 ),
- array( 'lhs' => 90, 'rhs' => 3 ),
- array( 'lhs' => 90, 'rhs' => 2 ),
+ array( 'lhs' => 87, 'rhs' => 3 ),
+ array( 'lhs' => 87, 'rhs' => 2 ),
array( 'lhs' => 113, 'rhs' => 3 ),
array( 'lhs' => 113, 'rhs' => 2 ),
array( 'lhs' => 114, 'rhs' => 2 ),
18 => 15,
16 => 16,
17 => 17,
- 101 => 17,
103 => 17,
- 104 => 17,
- 163 => 17,
+ 105 => 17,
+ 106 => 17,
+ 165 => 17,
19 => 19,
20 => 19,
- 74 => 19,
- 75 => 19,
- 100 => 19,
- 105 => 19,
- 106 => 19,
- 111 => 19,
+ 76 => 19,
+ 77 => 19,
+ 102 => 19,
+ 107 => 19,
+ 108 => 19,
113 => 19,
- 114 => 19,
- 121 => 19,
- 162 => 19,
- 180 => 19,
+ 115 => 19,
+ 116 => 19,
+ 123 => 19,
+ 164 => 19,
+ 182 => 19,
21 => 21,
22 => 21,
23 => 23,
25 => 25,
26 => 26,
27 => 27,
- 28 => 27,
- 30 => 27,
- 29 => 29,
+ 29 => 27,
+ 28 => 28,
+ 30 => 28,
+ 32 => 28,
31 => 31,
- 32 => 31,
33 => 33,
- 34 => 34,
+ 34 => 33,
35 => 35,
36 => 36,
37 => 37,
38 => 38,
39 => 39,
40 => 40,
- 42 => 40,
41 => 41,
- 43 => 41,
- 44 => 44,
- 45 => 45,
+ 42 => 42,
+ 44 => 42,
+ 43 => 43,
+ 45 => 43,
46 => 46,
- 66 => 46,
- 67 => 46,
- 164 => 46,
- 185 => 46,
47 => 47,
48 => 48,
+ 68 => 48,
+ 69 => 48,
+ 166 => 48,
+ 187 => 48,
49 => 49,
50 => 50,
51 => 51,
58 => 58,
59 => 59,
60 => 60,
- 69 => 60,
- 152 => 60,
- 156 => 60,
61 => 61,
- 153 => 61,
62 => 62,
+ 71 => 62,
+ 154 => 62,
+ 158 => 62,
63 => 63,
- 64 => 63,
+ 155 => 63,
+ 64 => 64,
65 => 65,
- 68 => 68,
+ 66 => 65,
+ 67 => 67,
70 => 70,
- 71 => 71,
- 72 => 71,
+ 72 => 72,
73 => 73,
- 76 => 76,
- 77 => 77,
- 78 => 77,
- 79 => 77,
- 80 => 80,
- 136 => 80,
- 197 => 80,
- 81 => 81,
- 118 => 81,
+ 74 => 73,
+ 75 => 75,
+ 78 => 78,
+ 79 => 79,
+ 80 => 79,
+ 81 => 79,
82 => 82,
- 85 => 82,
- 96 => 82,
+ 138 => 82,
+ 199 => 82,
83 => 83,
+ 120 => 83,
84 => 84,
+ 87 => 84,
+ 98 => 84,
+ 85 => 85,
86 => 86,
- 87 => 87,
88 => 88,
- 93 => 88,
89 => 89,
- 92 => 89,
90 => 90,
95 => 90,
91 => 91,
94 => 91,
- 97 => 97,
- 98 => 98,
+ 92 => 92,
+ 97 => 92,
+ 93 => 93,
+ 96 => 93,
99 => 99,
- 102 => 102,
- 107 => 107,
- 108 => 108,
+ 100 => 100,
+ 101 => 101,
+ 104 => 104,
109 => 109,
110 => 110,
+ 111 => 111,
112 => 112,
- 115 => 115,
- 116 => 116,
+ 114 => 114,
117 => 117,
+ 118 => 118,
119 => 119,
- 120 => 120,
+ 121 => 121,
122 => 122,
- 123 => 123,
124 => 124,
125 => 125,
126 => 126,
129 => 129,
130 => 130,
131 => 131,
- 134 => 131,
132 => 132,
133 => 133,
+ 136 => 133,
+ 134 => 134,
135 => 135,
137 => 137,
- 138 => 138,
139 => 139,
140 => 140,
141 => 141,
149 => 149,
150 => 150,
151 => 151,
- 154 => 154,
- 155 => 155,
+ 152 => 152,
+ 153 => 153,
+ 156 => 156,
157 => 157,
- 158 => 158,
159 => 159,
160 => 160,
- 161 => 160,
- 165 => 165,
- 166 => 166,
+ 161 => 161,
+ 162 => 162,
+ 163 => 162,
167 => 167,
168 => 168,
169 => 169,
177 => 177,
178 => 178,
179 => 179,
+ 180 => 180,
181 => 181,
- 182 => 182,
183 => 183,
184 => 184,
+ 185 => 185,
186 => 186,
- 187 => 187,
188 => 188,
189 => 189,
190 => 190,
- 191 => 190,
- 193 => 190,
+ 191 => 191,
192 => 192,
+ 193 => 192,
+ 195 => 192,
194 => 194,
- 195 => 195,
196 => 196,
+ 197 => 197,
198 => 198,
+ 200 => 200,
);
#line 84 "smarty_internal_templateparser.y"
function yy_r0(){ $this->_retvalue = $this->root_buffer->to_smarty_php(); }
-#line 2155 "smarty_internal_templateparser.php"
+#line 2179 "smarty_internal_templateparser.php"
#line 90 "smarty_internal_templateparser.y"
function yy_r1(){ $this->current_buffer->append_subtree($this->yystack[$this->yyidx + 0]->minor); }
-#line 2158 "smarty_internal_templateparser.php"
+#line 2182 "smarty_internal_templateparser.php"
#line 102 "smarty_internal_templateparser.y"
function yy_r4(){
if ($this->compiler->has_code) {
$tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
$this->_retvalue = new _smarty_tag($this, $this->compiler->processNocacheCode($tmp.$this->yystack[$this->yyidx + 0]->minor,true));
- } else {
+ } else {
$this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
- }
+ }
$this->compiler->has_variable_string = false;
$this->block_nesting_level = count($this->compiler->_tag_stack);
}
-#line 2170 "smarty_internal_templateparser.php"
+#line 2194 "smarty_internal_templateparser.php"
#line 114 "smarty_internal_templateparser.y"
function yy_r5(){ $this->_retvalue = new _smarty_tag($this, ''); }
-#line 2173 "smarty_internal_templateparser.php"
+#line 2197 "smarty_internal_templateparser.php"
#line 117 "smarty_internal_templateparser.y"
function yy_r6(){ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor); }
-#line 2176 "smarty_internal_templateparser.php"
+#line 2200 "smarty_internal_templateparser.php"
#line 120 "smarty_internal_templateparser.y"
function yy_r7(){
if ($this->php_handling == Smarty::PHP_PASSTHRU) {
$this->_retvalue = new _smarty_text($this, '');
}
}
-#line 2189 "smarty_internal_templateparser.php"
+#line 2213 "smarty_internal_templateparser.php"
#line 132 "smarty_internal_templateparser.y"
function yy_r8(){if ($this->is_xml) {
- $this->compiler->tag_nocache = true;
- $this->is_xml = true;
+ $this->compiler->tag_nocache = true;
+ $this->is_xml = false;
+ $save = $this->template->has_nocache_code;
$this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '?>';?>", $this->compiler, true));
+ $this->template->has_nocache_code = $save;
}elseif ($this->php_handling == Smarty::PHP_PASSTHRU) {
$this->_retvalue = new _smarty_text($this, '?<?php ?>>');
} elseif ($this->php_handling == Smarty::PHP_QUOTE) {
$this->_retvalue = new _smarty_text($this, '');
}
}
-#line 2205 "smarty_internal_templateparser.php"
-#line 148 "smarty_internal_templateparser.y"
+#line 2231 "smarty_internal_templateparser.php"
+#line 150 "smarty_internal_templateparser.y"
function yy_r9(){
if ($this->php_handling == Smarty::PHP_PASSTHRU) {
$this->_retvalue = new _smarty_text($this, '<<?php ?>%');
}
}
}
-#line 2226 "smarty_internal_templateparser.php"
-#line 169 "smarty_internal_templateparser.y"
+#line 2252 "smarty_internal_templateparser.php"
+#line 171 "smarty_internal_templateparser.y"
function yy_r10(){
if ($this->php_handling == Smarty::PHP_PASSTHRU) {
$this->_retvalue = new _smarty_text($this, '%<?php ?>>');
}
}
}
-#line 2247 "smarty_internal_templateparser.php"
-#line 189 "smarty_internal_templateparser.y"
+#line 2273 "smarty_internal_templateparser.php"
+#line 191 "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)));
+ $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)));
} else {
- $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
+ $this->_retvalue = new _smarty_text($this, self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor));
}
}
-#line 2255 "smarty_internal_templateparser.php"
-#line 197 "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("<?php echo '<?xml';?>", $this->compiler, true)); }
-#line 2258 "smarty_internal_templateparser.php"
-#line 200 "smarty_internal_templateparser.y"
+#line 2281 "smarty_internal_templateparser.php"
+#line 199 "smarty_internal_templateparser.y"
+ function yy_r12(){ $this->compiler->tag_nocache = true;
+ $this->is_xml = true;
+ $save = $this->template->has_nocache_code;
+ $this->_retvalue = new _smarty_text($this, $this->compiler->processNocacheCode("<?php echo '<?xml';?>", $this->compiler, true));
+ $this->template->has_nocache_code = $save;
+ }
+#line 2289 "smarty_internal_templateparser.php"
+#line 207 "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));
+ $this->_retvalue = new _smarty_text($this, preg_replace('![\t ]*[\r\n]+[\t ]*!', '', $this->yystack[$this->yyidx + 0]->minor));
} else {
- $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
+ $this->_retvalue = new _smarty_text($this, $this->yystack[$this->yyidx + 0]->minor);
}
}
-#line 2266 "smarty_internal_templateparser.php"
-#line 206 "smarty_internal_templateparser.y"
+#line 2297 "smarty_internal_templateparser.php"
+#line 213 "smarty_internal_templateparser.y"
function yy_r14(){
$this->_retvalue = new _smarty_linebreak($this, $this->yystack[$this->yyidx + 0]->minor);
}
-#line 2271 "smarty_internal_templateparser.php"
-#line 211 "smarty_internal_templateparser.y"
+#line 2302 "smarty_internal_templateparser.php"
+#line 218 "smarty_internal_templateparser.y"
function yy_r15(){ $this->_retvalue = ''; }
-#line 2274 "smarty_internal_templateparser.php"
-#line 212 "smarty_internal_templateparser.y"
+#line 2305 "smarty_internal_templateparser.php"
+#line 219 "smarty_internal_templateparser.y"
function yy_r16(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
-#line 2277 "smarty_internal_templateparser.php"
-#line 214 "smarty_internal_templateparser.y"
+#line 2308 "smarty_internal_templateparser.php"
+#line 221 "smarty_internal_templateparser.y"
function yy_r17(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2280 "smarty_internal_templateparser.php"
-#line 217 "smarty_internal_templateparser.y"
+#line 2311 "smarty_internal_templateparser.php"
+#line 224 "smarty_internal_templateparser.y"
function yy_r19(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
-#line 2283 "smarty_internal_templateparser.php"
-#line 219 "smarty_internal_templateparser.y"
+#line 2314 "smarty_internal_templateparser.php"
+#line 226 "smarty_internal_templateparser.y"
function yy_r21(){ $this->_retvalue = self::escape_start_tag($this->yystack[$this->yyidx + 0]->minor); }
-#line 2286 "smarty_internal_templateparser.php"
-#line 221 "smarty_internal_templateparser.y"
+#line 2317 "smarty_internal_templateparser.php"
+#line 228 "smarty_internal_templateparser.y"
function yy_r23(){ $this->_retvalue = self::escape_end_tag($this->yystack[$this->yyidx + 0]->minor); }
-#line 2289 "smarty_internal_templateparser.php"
-#line 222 "smarty_internal_templateparser.y"
+#line 2320 "smarty_internal_templateparser.php"
+#line 229 "smarty_internal_templateparser.y"
function yy_r24(){ $this->_retvalue = '<<?php ?>%'; }
-#line 2292 "smarty_internal_templateparser.php"
-#line 223 "smarty_internal_templateparser.y"
+#line 2323 "smarty_internal_templateparser.php"
+#line 230 "smarty_internal_templateparser.y"
function yy_r25(){ $this->_retvalue = '%<?php ?>>'; }
-#line 2295 "smarty_internal_templateparser.php"
-#line 231 "smarty_internal_templateparser.y"
+#line 2326 "smarty_internal_templateparser.php"
+#line 238 "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 2298 "smarty_internal_templateparser.php"
-#line 232 "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 2301 "smarty_internal_templateparser.php"
-#line 234 "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 2304 "smarty_internal_templateparser.php"
-#line 242 "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 2307 "smarty_internal_templateparser.php"
-#line 244 "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 2310 "smarty_internal_templateparser.php"
-#line 245 "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 2313 "smarty_internal_templateparser.php"
-#line 247 "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 2316 "smarty_internal_templateparser.php"
-#line 248 "smarty_internal_templateparser.y"
- function yy_r36(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); }
-#line 2319 "smarty_internal_templateparser.php"
-#line 250 "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 2322 "smarty_internal_templateparser.php"
-#line 252 "smarty_internal_templateparser.y"
- function yy_r38(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
- $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
- }
-#line 2327 "smarty_internal_templateparser.php"
-#line 256 "smarty_internal_templateparser.y"
- function yy_r39(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
- $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
- }
+#line 2329 "smarty_internal_templateparser.php"
+#line 239 "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 + -3]->minor, 'modifierlist'=>$this->yystack[$this->yyidx + -2]->minor)); }
#line 2332 "smarty_internal_templateparser.php"
-#line 260 "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 240 "smarty_internal_templateparser.y"
+ function yy_r28(){ $this->_retvalue = $this->compiler->compileTag('private_print_expression',$this->yystack[$this->yyidx + -1]->minor,array('value'=>$this->yystack[$this->yyidx + -2]->minor)); }
#line 2335 "smarty_internal_templateparser.php"
-#line 261 "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 243 "smarty_internal_templateparser.y"
+ function yy_r31(){ $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 2338 "smarty_internal_templateparser.php"
+#line 251 "smarty_internal_templateparser.y"
+ function yy_r33(){ $this->_retvalue = $this->compiler->compileTag('assign',array(array('value'=>$this->yystack[$this->yyidx + -1]->minor),array('var'=>"'".$this->yystack[$this->yyidx + -3]->minor."'"))); }
+#line 2341 "smarty_internal_templateparser.php"
+#line 253 "smarty_internal_templateparser.y"
+ function yy_r35(){ $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 2344 "smarty_internal_templateparser.php"
+#line 254 "smarty_internal_templateparser.y"
+ function yy_r36(){ $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 2347 "smarty_internal_templateparser.php"
+#line 256 "smarty_internal_templateparser.y"
+ function yy_r37(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor,$this->yystack[$this->yyidx + -1]->minor); }
+#line 2350 "smarty_internal_templateparser.php"
+#line 257 "smarty_internal_templateparser.y"
+ function yy_r38(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor,array()); }
+#line 2353 "smarty_internal_templateparser.php"
+#line 259 "smarty_internal_templateparser.y"
+ function yy_r39(){ $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 2356 "smarty_internal_templateparser.php"
+#line 261 "smarty_internal_templateparser.y"
+ function yy_r40(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor,$this->yystack[$this->yyidx + -1]->minor).'<?php echo ';
+ $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
+ }
+#line 2361 "smarty_internal_templateparser.php"
#line 265 "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 2342 "smarty_internal_templateparser.php"
-#line 268 "smarty_internal_templateparser.y"
- function yy_r45(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2345 "smarty_internal_templateparser.php"
+ function yy_r41(){ $this->_retvalue = '<?php ob_start();?>'.$this->compiler->compileTag($this->yystack[$this->yyidx + -5]->minor,$this->yystack[$this->yyidx + -1]->minor,array('object_methode'=>$this->yystack[$this->yyidx + -3]->minor)).'<?php echo ';
+ $this->_retvalue .= $this->compiler->compileTag('private_modifier',array(),array('modifierlist'=>$this->yystack[$this->yyidx + -2]->minor,'value'=>'ob_get_clean()')).'?>';
+ }
+#line 2366 "smarty_internal_templateparser.php"
#line 269 "smarty_internal_templateparser.y"
- function yy_r46(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
-#line 2348 "smarty_internal_templateparser.php"
+ function yy_r42(){ $tag = trim(substr($this->yystack[$this->yyidx + -2]->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 2369 "smarty_internal_templateparser.php"
#line 270 "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 2351 "smarty_internal_templateparser.php"
-#line 271 "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 2354 "smarty_internal_templateparser.php"
-#line 273 "smarty_internal_templateparser.y"
- function yy_r49(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); }
-#line 2357 "smarty_internal_templateparser.php"
-#line 275 "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 2361 "smarty_internal_templateparser.php"
+ function yy_r43(){ $tag = trim(substr($this->yystack[$this->yyidx + -3]->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 2372 "smarty_internal_templateparser.php"
+#line 274 "smarty_internal_templateparser.y"
+ function yy_r46(){
+ $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 2376 "smarty_internal_templateparser.php"
#line 277 "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 2365 "smarty_internal_templateparser.php"
+ function yy_r47(){ $this->_retvalue = '='.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2379 "smarty_internal_templateparser.php"
+#line 278 "smarty_internal_templateparser.y"
+ function yy_r48(){ $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
+#line 2382 "smarty_internal_templateparser.php"
#line 279 "smarty_internal_templateparser.y"
- function yy_r52(){
+ function yy_r49(){ $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 2385 "smarty_internal_templateparser.php"
+#line 280 "smarty_internal_templateparser.y"
+ function yy_r50(){ $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 2388 "smarty_internal_templateparser.php"
+#line 282 "smarty_internal_templateparser.y"
+ function yy_r51(){ $this->_retvalue = $this->compiler->compileTag('foreach',$this->yystack[$this->yyidx + -1]->minor); }
+#line 2391 "smarty_internal_templateparser.php"
+#line 284 "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 2369 "smarty_internal_templateparser.php"
-#line 281 "smarty_internal_templateparser.y"
- function yy_r53(){
+#line 2395 "smarty_internal_templateparser.php"
+#line 286 "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 2373 "smarty_internal_templateparser.php"
-#line 285 "smarty_internal_templateparser.y"
- function yy_r54(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); }
-#line 2376 "smarty_internal_templateparser.php"
-#line 289 "smarty_internal_templateparser.y"
- function yy_r55(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); }
-#line 2379 "smarty_internal_templateparser.php"
-#line 291 "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 2383 "smarty_internal_templateparser.php"
+#line 2399 "smarty_internal_templateparser.php"
+#line 288 "smarty_internal_templateparser.y"
+ function yy_r54(){
+ $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 2403 "smarty_internal_templateparser.php"
+#line 290 "smarty_internal_templateparser.y"
+ function yy_r55(){
+ $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 2407 "smarty_internal_templateparser.php"
#line 294 "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 2386 "smarty_internal_templateparser.php"
-#line 295 "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 2389 "smarty_internal_templateparser.php"
-#line 301 "smarty_internal_templateparser.y"
- function yy_r59(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; }
-#line 2392 "smarty_internal_templateparser.php"
+ function yy_r56(){ $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler); }
+#line 2410 "smarty_internal_templateparser.php"
+#line 298 "smarty_internal_templateparser.y"
+ function yy_r57(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -1]->minor.'close',array()); }
+#line 2413 "smarty_internal_templateparser.php"
+#line 300 "smarty_internal_templateparser.y"
+ function yy_r58(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -2]->minor.'close',array(),array('modifier_list'=>$this->yystack[$this->yyidx + -1]->minor));
+ }
+#line 2417 "smarty_internal_templateparser.php"
#line 303 "smarty_internal_templateparser.y"
- function yy_r60(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
-#line 2395 "smarty_internal_templateparser.php"
-#line 305 "smarty_internal_templateparser.y"
- function yy_r61(){ $this->_retvalue = array(); }
-#line 2398 "smarty_internal_templateparser.php"
-#line 308 "smarty_internal_templateparser.y"
- function yy_r62(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ function yy_r59(){ $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + -3]->minor.'close',array(),array('object_methode'=>$this->yystack[$this->yyidx + -1]->minor)); }
+#line 2420 "smarty_internal_templateparser.php"
+#line 304 "smarty_internal_templateparser.y"
+ function yy_r60(){ $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 2423 "smarty_internal_templateparser.php"
+#line 310 "smarty_internal_templateparser.y"
+ function yy_r61(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor; }
+#line 2426 "smarty_internal_templateparser.php"
+#line 312 "smarty_internal_templateparser.y"
+ function yy_r62(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
+#line 2429 "smarty_internal_templateparser.php"
+#line 314 "smarty_internal_templateparser.y"
+ function yy_r63(){ $this->_retvalue = array(); }
+#line 2432 "smarty_internal_templateparser.php"
+#line 317 "smarty_internal_templateparser.y"
+ function yy_r64(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'true');
} elseif (preg_match('~^false$~i', $this->yystack[$this->yyidx + 0]->minor)) {
$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>'false');
$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 2408 "smarty_internal_templateparser.php"
-#line 316 "smarty_internal_templateparser.y"
- function yy_r63(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
-#line 2411 "smarty_internal_templateparser.php"
-#line 318 "smarty_internal_templateparser.y"
- function yy_r65(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
-#line 2414 "smarty_internal_templateparser.php"
-#line 321 "smarty_internal_templateparser.y"
- function yy_r68(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
-#line 2417 "smarty_internal_templateparser.php"
-#line 328 "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 2420 "smarty_internal_templateparser.php"
+#line 2442 "smarty_internal_templateparser.php"
+#line 325 "smarty_internal_templateparser.y"
+ function yy_r65(){ $this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
+#line 2445 "smarty_internal_templateparser.php"
+#line 327 "smarty_internal_templateparser.y"
+ function yy_r67(){ $this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
+#line 2448 "smarty_internal_templateparser.php"
#line 330 "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 2423 "smarty_internal_templateparser.php"
-#line 332 "smarty_internal_templateparser.y"
- function yy_r73(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
-#line 2426 "smarty_internal_templateparser.php"
-#line 343 "smarty_internal_templateparser.y"
- function yy_r76(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; }
-#line 2429 "smarty_internal_templateparser.php"
-#line 345 "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 2432 "smarty_internal_templateparser.php"
-#line 351 "smarty_internal_templateparser.y"
- function yy_r80(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
-#line 2435 "smarty_internal_templateparser.php"
+ function yy_r70(){$this->_retvalue = array($this->yystack[$this->yyidx + -2]->minor=>$this->yystack[$this->yyidx + 0]->minor); }
+#line 2451 "smarty_internal_templateparser.php"
+#line 337 "smarty_internal_templateparser.y"
+ function yy_r72(){ $this->yystack[$this->yyidx + -2]->minor[]=$this->yystack[$this->yyidx + 0]->minor; $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor; }
+#line 2454 "smarty_internal_templateparser.php"
+#line 339 "smarty_internal_templateparser.y"
+ function yy_r73(){ $this->_retvalue = array('var' => $this->yystack[$this->yyidx + -2]->minor, 'value'=>$this->yystack[$this->yyidx + 0]->minor); }
+#line 2457 "smarty_internal_templateparser.php"
+#line 341 "smarty_internal_templateparser.y"
+ function yy_r75(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
+#line 2460 "smarty_internal_templateparser.php"
+#line 352 "smarty_internal_templateparser.y"
+ function yy_r78(){$this->_retvalue = '$_smarty_tpl->getStreamVariable(\''. $this->yystack[$this->yyidx + -2]->minor .'://'. $this->yystack[$this->yyidx + 0]->minor . '\')'; }
+#line 2463 "smarty_internal_templateparser.php"
#line 354 "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 2438 "smarty_internal_templateparser.php"
-#line 358 "smarty_internal_templateparser.y"
- function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2441 "smarty_internal_templateparser.php"
-#line 359 "smarty_internal_templateparser.y"
- function yy_r83(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2444 "smarty_internal_templateparser.php"
+ function yy_r79(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor . trim($this->yystack[$this->yyidx + -1]->minor) . $this->yystack[$this->yyidx + 0]->minor; }
+#line 2466 "smarty_internal_templateparser.php"
#line 360 "smarty_internal_templateparser.y"
- function yy_r84(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2447 "smarty_internal_templateparser.php"
-#line 362 "smarty_internal_templateparser.y"
- function yy_r86(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2450 "smarty_internal_templateparser.php"
+ function yy_r82(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
+#line 2469 "smarty_internal_templateparser.php"
#line 363 "smarty_internal_templateparser.y"
- function yy_r87(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2453 "smarty_internal_templateparser.php"
-#line 364 "smarty_internal_templateparser.y"
- function yy_r88(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
-#line 2456 "smarty_internal_templateparser.php"
-#line 365 "smarty_internal_templateparser.y"
- function yy_r89(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
-#line 2459 "smarty_internal_templateparser.php"
-#line 366 "smarty_internal_templateparser.y"
- function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2462 "smarty_internal_templateparser.php"
+ function yy_r83(){ $this->_retvalue = $this->compiler->compileTag('private_modifier',array(),array('value'=>$this->yystack[$this->yyidx + -1]->minor,'modifierlist'=>$this->yystack[$this->yyidx + 0]->minor)); }
+#line 2472 "smarty_internal_templateparser.php"
#line 367 "smarty_internal_templateparser.y"
- function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
-#line 2465 "smarty_internal_templateparser.php"
+ function yy_r84(){$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2475 "smarty_internal_templateparser.php"
+#line 368 "smarty_internal_templateparser.y"
+ function yy_r85(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2478 "smarty_internal_templateparser.php"
+#line 369 "smarty_internal_templateparser.y"
+ function yy_r86(){$this->_retvalue = 'in_array('.$this->yystack[$this->yyidx + -2]->minor.',(array)'.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2481 "smarty_internal_templateparser.php"
+#line 371 "smarty_internal_templateparser.y"
+ function yy_r88(){$this->_retvalue = '!('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2484 "smarty_internal_templateparser.php"
+#line 372 "smarty_internal_templateparser.y"
+ function yy_r89(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -2]->minor.' % '.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2487 "smarty_internal_templateparser.php"
#line 373 "smarty_internal_templateparser.y"
- function yy_r97(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->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 2468 "smarty_internal_templateparser.php"
-#line 379 "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 2471 "smarty_internal_templateparser.php"
-#line 380 "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 2474 "smarty_internal_templateparser.php"
-#line 387 "smarty_internal_templateparser.y"
- function yy_r102(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2477 "smarty_internal_templateparser.php"
-#line 393 "smarty_internal_templateparser.y"
- function yy_r107(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2480 "smarty_internal_templateparser.php"
-#line 394 "smarty_internal_templateparser.y"
- function yy_r108(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; }
-#line 2483 "smarty_internal_templateparser.php"
-#line 395 "smarty_internal_templateparser.y"
- function yy_r109(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2486 "smarty_internal_templateparser.php"
-#line 397 "smarty_internal_templateparser.y"
- function yy_r110(){ if (preg_match('~^true$~i', $this->yystack[$this->yyidx + 0]->minor)) {
+ function yy_r90(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
+#line 2490 "smarty_internal_templateparser.php"
+#line 374 "smarty_internal_templateparser.y"
+ function yy_r91(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -1]->minor.')'; }
+#line 2493 "smarty_internal_templateparser.php"
+#line 375 "smarty_internal_templateparser.y"
+ function yy_r92(){$this->_retvalue = '!(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2496 "smarty_internal_templateparser.php"
+#line 376 "smarty_internal_templateparser.y"
+ function yy_r93(){$this->_retvalue = '(1 & '.$this->yystack[$this->yyidx + -2]->minor.' / '.$this->yystack[$this->yyidx + 0]->minor.')'; }
+#line 2499 "smarty_internal_templateparser.php"
+#line 382 "smarty_internal_templateparser.y"
+ function yy_r99(){$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->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 2502 "smarty_internal_templateparser.php"
+#line 388 "smarty_internal_templateparser.y"
+ function yy_r100(){ $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 2505 "smarty_internal_templateparser.php"
+#line 389 "smarty_internal_templateparser.y"
+ function yy_r101(){ $this->_retvalue = $this->yystack[$this->yyidx + -5]->minor.' ? '.$this->yystack[$this->yyidx + -2]->minor.' : '.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2508 "smarty_internal_templateparser.php"
+#line 396 "smarty_internal_templateparser.y"
+ function yy_r104(){ $this->_retvalue = '!'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2511 "smarty_internal_templateparser.php"
+#line 402 "smarty_internal_templateparser.y"
+ function yy_r109(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2514 "smarty_internal_templateparser.php"
+#line 403 "smarty_internal_templateparser.y"
+ function yy_r110(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'; }
+#line 2517 "smarty_internal_templateparser.php"
+#line 404 "smarty_internal_templateparser.y"
+ function yy_r111(){ $this->_retvalue = '.'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2520 "smarty_internal_templateparser.php"
+#line 406 "smarty_internal_templateparser.y"
+ function yy_r112(){ 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';
$this->_retvalue = 'null';
} else
$this->_retvalue = "'".$this->yystack[$this->yyidx + 0]->minor."'"; }
-#line 2496 "smarty_internal_templateparser.php"
-#line 408 "smarty_internal_templateparser.y"
- function yy_r112(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
-#line 2499 "smarty_internal_templateparser.php"
-#line 414 "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)) {
+#line 2530 "smarty_internal_templateparser.php"
+#line 417 "smarty_internal_templateparser.y"
+ function yy_r114(){ $this->_retvalue = "(". $this->yystack[$this->yyidx + -1]->minor .")"; }
+#line 2533 "smarty_internal_templateparser.php"
+#line 423 "smarty_internal_templateparser.y"
+ function yy_r117(){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 {
$this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'::'.$this->yystack[$this->yyidx + 0]->minor;
- }
+ }
} else {
$this->compiler->trigger_template_error ("static class '".$this->yystack[$this->yyidx + -2]->minor."' is undefined or not allowed by security setting");
}
}
-#line 2511 "smarty_internal_templateparser.php"
-#line 424 "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 {
+#line 2545 "smarty_internal_templateparser.php"
+#line 433 "smarty_internal_templateparser.y"
+ function yy_r118(){ 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 2515 "smarty_internal_templateparser.php"
-#line 427 "smarty_internal_templateparser.y"
- function yy_r117(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; }
-#line 2518 "smarty_internal_templateparser.php"
-#line 437 "smarty_internal_templateparser.y"
- function yy_r119(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
+#line 2549 "smarty_internal_templateparser.php"
+#line 436 "smarty_internal_templateparser.y"
+ function yy_r119(){ $this->prefix_number++; $this->compiler->prefix_code[] = '<?php ob_start();?>'.$this->yystack[$this->yyidx + 0]->minor.'<?php $_tmp'.$this->prefix_number.'=ob_get_clean();?>'; $this->_retvalue = '$_tmp'.$this->prefix_number; }
+#line 2552 "smarty_internal_templateparser.php"
+#line 446 "smarty_internal_templateparser.y"
+ function yy_r121(){if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
$smarty_var = $this->compiler->compileTag('private_special_variable',array(),$this->yystack[$this->yyidx + 0]->minor['smarty_internal_index']);
$this->_retvalue = $smarty_var;
} else {
- // used for array reset,next,prev,end,current
+ // used for array reset,next,prev,end,current
$this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
$this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + 0]->minor['var']])) {
$this->compiler->tag_nocache=$this->compiler->tag_nocache|$this->template->getVariable(trim($this->yystack[$this->yyidx + 0]->minor['var'],"'"), null, true, false)->nocache;
}
}
-#line 2535 "smarty_internal_templateparser.php"
-#line 453 "smarty_internal_templateparser.y"
- function yy_r120(){if (isset($this->compiler->local_var[$this->yystack[$this->yyidx + -2]->minor])) {
+#line 2569 "smarty_internal_templateparser.php"
+#line 462 "smarty_internal_templateparser.y"
+ function yy_r122(){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 2543 "smarty_internal_templateparser.php"
-#line 462 "smarty_internal_templateparser.y"
- function yy_r122(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; }
-#line 2546 "smarty_internal_templateparser.php"
-#line 463 "smarty_internal_templateparser.y"
- function yy_r123(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; }
-#line 2549 "smarty_internal_templateparser.php"
-#line 466 "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 2552 "smarty_internal_templateparser.php"
+#line 2577 "smarty_internal_templateparser.php"
+#line 471 "smarty_internal_templateparser.y"
+ function yy_r124(){$this->_retvalue = '$_smarty_tpl->getConfigVariable(\''. $this->yystack[$this->yyidx + -1]->minor .'\')'; }
+#line 2580 "smarty_internal_templateparser.php"
#line 472 "smarty_internal_templateparser.y"
- function yy_r125(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2555 "smarty_internal_templateparser.php"
-#line 474 "smarty_internal_templateparser.y"
- function yy_r126(){return; }
-#line 2558 "smarty_internal_templateparser.php"
-#line 478 "smarty_internal_templateparser.y"
- 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 2561 "smarty_internal_templateparser.php"
-#line 479 "smarty_internal_templateparser.y"
- 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 2564 "smarty_internal_templateparser.php"
-#line 480 "smarty_internal_templateparser.y"
- function yy_r129(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; }
-#line 2567 "smarty_internal_templateparser.php"
+ function yy_r125(){$this->_retvalue = '$_smarty_tpl->getConfigVariable('. $this->yystack[$this->yyidx + -1]->minor .')'; }
+#line 2583 "smarty_internal_templateparser.php"
+#line 475 "smarty_internal_templateparser.y"
+ function yy_r126(){$this->_retvalue = array('var'=>$this->yystack[$this->yyidx + -1]->minor, 'smarty_internal_index'=>$this->yystack[$this->yyidx + 0]->minor); }
+#line 2586 "smarty_internal_templateparser.php"
#line 481 "smarty_internal_templateparser.y"
- function yy_r130(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; }
-#line 2570 "smarty_internal_templateparser.php"
-#line 482 "smarty_internal_templateparser.y"
- function yy_r131(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; }
-#line 2573 "smarty_internal_templateparser.php"
-#line 484 "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 2576 "smarty_internal_templateparser.php"
-#line 485 "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 2579 "smarty_internal_templateparser.php"
-#line 489 "smarty_internal_templateparser.y"
- function yy_r135(){$this->_retvalue = '[]'; }
-#line 2582 "smarty_internal_templateparser.php"
-#line 497 "smarty_internal_templateparser.y"
- function yy_r137(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2585 "smarty_internal_templateparser.php"
-#line 499 "smarty_internal_templateparser.y"
- function yy_r138(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; }
-#line 2588 "smarty_internal_templateparser.php"
-#line 501 "smarty_internal_templateparser.y"
- function yy_r139(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; }
-#line 2591 "smarty_internal_templateparser.php"
-#line 506 "smarty_internal_templateparser.y"
- 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;} }
+ function yy_r127(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2589 "smarty_internal_templateparser.php"
+#line 483 "smarty_internal_templateparser.y"
+ function yy_r128(){return; }
+#line 2592 "smarty_internal_templateparser.php"
+#line 487 "smarty_internal_templateparser.y"
+ function yy_r129(){ $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 2595 "smarty_internal_templateparser.php"
-#line 509 "smarty_internal_templateparser.y"
- function yy_r141(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
+#line 488 "smarty_internal_templateparser.y"
+ function yy_r130(){ $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 2598 "smarty_internal_templateparser.php"
-#line 511 "smarty_internal_templateparser.y"
- function yy_r142(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 489 "smarty_internal_templateparser.y"
+ function yy_r131(){ $this->_retvalue = "['". $this->yystack[$this->yyidx + 0]->minor ."']"; }
#line 2601 "smarty_internal_templateparser.php"
-#line 513 "smarty_internal_templateparser.y"
- function yy_r143(){if ($this->security && substr($this->yystack[$this->yyidx + -1]->minor,0,1) == '_') {
+#line 490 "smarty_internal_templateparser.y"
+ function yy_r132(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + 0]->minor ."]"; }
+#line 2604 "smarty_internal_templateparser.php"
+#line 491 "smarty_internal_templateparser.y"
+ function yy_r133(){ $this->_retvalue = "[". $this->yystack[$this->yyidx + -1]->minor ."]"; }
+#line 2607 "smarty_internal_templateparser.php"
+#line 493 "smarty_internal_templateparser.y"
+ function yy_r134(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\'][\'index\']').']'; }
+#line 2610 "smarty_internal_templateparser.php"
+#line 494 "smarty_internal_templateparser.y"
+ function yy_r135(){ $this->_retvalue = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.$this->yystack[$this->yyidx + -3]->minor.'\'][\''.$this->yystack[$this->yyidx + -1]->minor.'\']').']'; }
+#line 2613 "smarty_internal_templateparser.php"
+#line 498 "smarty_internal_templateparser.y"
+ function yy_r137(){$this->_retvalue = '[]'; }
+#line 2616 "smarty_internal_templateparser.php"
+#line 506 "smarty_internal_templateparser.y"
+ function yy_r139(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.'.'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2619 "smarty_internal_templateparser.php"
+#line 508 "smarty_internal_templateparser.y"
+ function yy_r140(){$this->_retvalue = '\''.$this->yystack[$this->yyidx + 0]->minor.'\''; }
+#line 2622 "smarty_internal_templateparser.php"
+#line 510 "smarty_internal_templateparser.y"
+ function yy_r141(){$this->_retvalue = '('.$this->yystack[$this->yyidx + -1]->minor.')'; }
+#line 2625 "smarty_internal_templateparser.php"
+#line 515 "smarty_internal_templateparser.y"
+ function yy_r142(){ 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 2629 "smarty_internal_templateparser.php"
+#line 518 "smarty_internal_templateparser.y"
+ function yy_r143(){$this->_retvalue = $this->yystack[$this->yyidx + 0]->minor; }
+#line 2632 "smarty_internal_templateparser.php"
+#line 520 "smarty_internal_templateparser.y"
+ function yy_r144(){$this->_retvalue = $this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2635 "smarty_internal_templateparser.php"
+#line 522 "smarty_internal_templateparser.y"
+ function yy_r145(){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 2608 "smarty_internal_templateparser.php"
-#line 518 "smarty_internal_templateparser.y"
- function yy_r144(){if ($this->security) {
+#line 2642 "smarty_internal_templateparser.php"
+#line 527 "smarty_internal_templateparser.y"
+ function yy_r146(){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 2615 "smarty_internal_templateparser.php"
-#line 523 "smarty_internal_templateparser.y"
- function yy_r145(){if ($this->security) {
+#line 2649 "smarty_internal_templateparser.php"
+#line 532 "smarty_internal_templateparser.y"
+ function yy_r147(){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 2622 "smarty_internal_templateparser.php"
-#line 528 "smarty_internal_templateparser.y"
- function yy_r146(){if ($this->security) {
+#line 2656 "smarty_internal_templateparser.php"
+#line 537 "smarty_internal_templateparser.y"
+ function yy_r148(){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 2629 "smarty_internal_templateparser.php"
-#line 534 "smarty_internal_templateparser.y"
- function yy_r147(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2632 "smarty_internal_templateparser.php"
-#line 540 "smarty_internal_templateparser.y"
- function yy_r148(){if (!$this->security || $this->smarty->security_policy->isTrustedPhpFunction($this->yystack[$this->yyidx + -3]->minor, $this->compiler)) {
+#line 2663 "smarty_internal_templateparser.php"
+#line 543 "smarty_internal_templateparser.y"
+ function yy_r149(){ $this->_retvalue = '->'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2666 "smarty_internal_templateparser.php"
+#line 549 "smarty_internal_templateparser.y"
+ function yy_r150(){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') {
}
}
}
-#line 2660 "smarty_internal_templateparser.php"
-#line 570 "smarty_internal_templateparser.y"
- function yy_r149(){if ($this->security && substr($this->yystack[$this->yyidx + -3]->minor,0,1) == '_') {
+#line 2694 "smarty_internal_templateparser.php"
+#line 579 "smarty_internal_templateparser.y"
+ function yy_r151(){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 2667 "smarty_internal_templateparser.php"
-#line 575 "smarty_internal_templateparser.y"
- function yy_r150(){if ($this->security) {
+#line 2701 "smarty_internal_templateparser.php"
+#line 584 "smarty_internal_templateparser.y"
+ function yy_r152(){if ($this->security) {
$this->compiler->trigger_template_error (self::Err2);
}
$this->prefix_number++; $this->compiler->prefix_code[] = '<?php $_tmp'.$this->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 2674 "smarty_internal_templateparser.php"
-#line 583 "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 2677 "smarty_internal_templateparser.php"
+#line 2708 "smarty_internal_templateparser.php"
#line 592 "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 2680 "smarty_internal_templateparser.php"
-#line 593 "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 2683 "smarty_internal_templateparser.php"
-#line 596 "smarty_internal_templateparser.y"
- function yy_r157(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
-#line 2686 "smarty_internal_templateparser.php"
+ function yy_r153(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -2]->minor,array($this->yystack[$this->yyidx + 0]->minor)); }
+#line 2711 "smarty_internal_templateparser.php"
#line 601 "smarty_internal_templateparser.y"
- function yy_r158(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); }
-#line 2689 "smarty_internal_templateparser.php"
-#line 603 "smarty_internal_templateparser.y"
- function yy_r159(){$this->_retvalue = array(); }
-#line 2692 "smarty_internal_templateparser.php"
+ function yy_r156(){$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 2714 "smarty_internal_templateparser.php"
+#line 602 "smarty_internal_templateparser.y"
+ function yy_r157(){$this->_retvalue = array(array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor)); }
+#line 2717 "smarty_internal_templateparser.php"
#line 605 "smarty_internal_templateparser.y"
- function yy_r160(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
-#line 2695 "smarty_internal_templateparser.php"
-#line 615 "smarty_internal_templateparser.y"
- function yy_r165(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2698 "smarty_internal_templateparser.php"
-#line 617 "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 2701 "smarty_internal_templateparser.php"
+ function yy_r159(){ $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
+#line 2720 "smarty_internal_templateparser.php"
+#line 610 "smarty_internal_templateparser.y"
+ function yy_r160(){ $this->_retvalue = array_merge($this->yystack[$this->yyidx + -1]->minor,$this->yystack[$this->yyidx + 0]->minor); }
+#line 2723 "smarty_internal_templateparser.php"
+#line 612 "smarty_internal_templateparser.y"
+ function yy_r161(){$this->_retvalue = array(); }
+#line 2726 "smarty_internal_templateparser.php"
+#line 614 "smarty_internal_templateparser.y"
+ function yy_r162(){$this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor); }
+#line 2729 "smarty_internal_templateparser.php"
+#line 624 "smarty_internal_templateparser.y"
+ function yy_r167(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2732 "smarty_internal_templateparser.php"
#line 626 "smarty_internal_templateparser.y"
- function yy_r167(){$this->_retvalue = '=='; }
-#line 2704 "smarty_internal_templateparser.php"
-#line 627 "smarty_internal_templateparser.y"
- function yy_r168(){$this->_retvalue = '!='; }
-#line 2707 "smarty_internal_templateparser.php"
-#line 628 "smarty_internal_templateparser.y"
- function yy_r169(){$this->_retvalue = '>'; }
-#line 2710 "smarty_internal_templateparser.php"
-#line 629 "smarty_internal_templateparser.y"
- function yy_r170(){$this->_retvalue = '<'; }
-#line 2713 "smarty_internal_templateparser.php"
-#line 630 "smarty_internal_templateparser.y"
- function yy_r171(){$this->_retvalue = '>='; }
-#line 2716 "smarty_internal_templateparser.php"
-#line 631 "smarty_internal_templateparser.y"
- function yy_r172(){$this->_retvalue = '<='; }
-#line 2719 "smarty_internal_templateparser.php"
-#line 632 "smarty_internal_templateparser.y"
- function yy_r173(){$this->_retvalue = '==='; }
-#line 2722 "smarty_internal_templateparser.php"
-#line 633 "smarty_internal_templateparser.y"
- function yy_r174(){$this->_retvalue = '!=='; }
-#line 2725 "smarty_internal_templateparser.php"
-#line 634 "smarty_internal_templateparser.y"
- function yy_r175(){$this->_retvalue = '%'; }
-#line 2728 "smarty_internal_templateparser.php"
+ function yy_r168(){ $this->_retvalue = '$'.$this->yystack[$this->yyidx + -2]->minor.$this->yystack[$this->yyidx + -1]->minor.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2735 "smarty_internal_templateparser.php"
+#line 635 "smarty_internal_templateparser.y"
+ function yy_r169(){$this->_retvalue = '=='; }
+#line 2738 "smarty_internal_templateparser.php"
#line 636 "smarty_internal_templateparser.y"
- function yy_r176(){$this->_retvalue = '&&'; }
-#line 2731 "smarty_internal_templateparser.php"
+ function yy_r170(){$this->_retvalue = '!='; }
+#line 2741 "smarty_internal_templateparser.php"
#line 637 "smarty_internal_templateparser.y"
- function yy_r177(){$this->_retvalue = '||'; }
-#line 2734 "smarty_internal_templateparser.php"
+ function yy_r171(){$this->_retvalue = '>'; }
+#line 2744 "smarty_internal_templateparser.php"
#line 638 "smarty_internal_templateparser.y"
- function yy_r178(){$this->_retvalue = ' XOR '; }
-#line 2737 "smarty_internal_templateparser.php"
+ function yy_r172(){$this->_retvalue = '<'; }
+#line 2747 "smarty_internal_templateparser.php"
+#line 639 "smarty_internal_templateparser.y"
+ function yy_r173(){$this->_retvalue = '>='; }
+#line 2750 "smarty_internal_templateparser.php"
+#line 640 "smarty_internal_templateparser.y"
+ function yy_r174(){$this->_retvalue = '<='; }
+#line 2753 "smarty_internal_templateparser.php"
+#line 641 "smarty_internal_templateparser.y"
+ function yy_r175(){$this->_retvalue = '==='; }
+#line 2756 "smarty_internal_templateparser.php"
+#line 642 "smarty_internal_templateparser.y"
+ function yy_r176(){$this->_retvalue = '!=='; }
+#line 2759 "smarty_internal_templateparser.php"
#line 643 "smarty_internal_templateparser.y"
- function yy_r179(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; }
-#line 2740 "smarty_internal_templateparser.php"
+ function yy_r177(){$this->_retvalue = '%'; }
+#line 2762 "smarty_internal_templateparser.php"
#line 645 "smarty_internal_templateparser.y"
- function yy_r181(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2743 "smarty_internal_templateparser.php"
+ function yy_r178(){$this->_retvalue = '&&'; }
+#line 2765 "smarty_internal_templateparser.php"
#line 646 "smarty_internal_templateparser.y"
- function yy_r182(){ return; }
-#line 2746 "smarty_internal_templateparser.php"
+ function yy_r179(){$this->_retvalue = '||'; }
+#line 2768 "smarty_internal_templateparser.php"
#line 647 "smarty_internal_templateparser.y"
- function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2749 "smarty_internal_templateparser.php"
-#line 648 "smarty_internal_templateparser.y"
- function yy_r184(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; }
-#line 2752 "smarty_internal_templateparser.php"
+ function yy_r180(){$this->_retvalue = ' XOR '; }
+#line 2771 "smarty_internal_templateparser.php"
+#line 652 "smarty_internal_templateparser.y"
+ function yy_r181(){ $this->_retvalue = 'array('.$this->yystack[$this->yyidx + -1]->minor.')'; }
+#line 2774 "smarty_internal_templateparser.php"
+#line 654 "smarty_internal_templateparser.y"
+ function yy_r183(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.','.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2777 "smarty_internal_templateparser.php"
#line 655 "smarty_internal_templateparser.y"
- function yy_r186(){ $this->_retvalue = "''"; }
-#line 2755 "smarty_internal_templateparser.php"
+ function yy_r184(){ return; }
+#line 2780 "smarty_internal_templateparser.php"
#line 656 "smarty_internal_templateparser.y"
- function yy_r187(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); }
-#line 2758 "smarty_internal_templateparser.php"
-#line 658 "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 2761 "smarty_internal_templateparser.php"
-#line 659 "smarty_internal_templateparser.y"
- function yy_r189(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); }
-#line 2764 "smarty_internal_templateparser.php"
-#line 661 "smarty_internal_templateparser.y"
- function yy_r190(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); }
-#line 2767 "smarty_internal_templateparser.php"
-#line 663 "smarty_internal_templateparser.y"
- function yy_r192(){if (isset($this->compiler->local_var["'".substr($this->yystack[$this->yyidx + 0]->minor,1)."'"])) {
+ function yy_r185(){ $this->_retvalue = $this->yystack[$this->yyidx + -2]->minor.'=>'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2783 "smarty_internal_templateparser.php"
+#line 657 "smarty_internal_templateparser.y"
+ function yy_r186(){ $this->_retvalue = '\''.$this->yystack[$this->yyidx + -2]->minor.'\'=>'.$this->yystack[$this->yyidx + 0]->minor; }
+#line 2786 "smarty_internal_templateparser.php"
+#line 664 "smarty_internal_templateparser.y"
+ function yy_r188(){ $this->_retvalue = "''"; }
+#line 2789 "smarty_internal_templateparser.php"
+#line 665 "smarty_internal_templateparser.y"
+ function yy_r189(){ $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor->to_smarty_php(); }
+#line 2792 "smarty_internal_templateparser.php"
+#line 667 "smarty_internal_templateparser.y"
+ function yy_r190(){ $this->yystack[$this->yyidx + -1]->minor->append_subtree($this->yystack[$this->yyidx + 0]->minor); $this->_retvalue = $this->yystack[$this->yyidx + -1]->minor; }
+#line 2795 "smarty_internal_templateparser.php"
+#line 668 "smarty_internal_templateparser.y"
+ function yy_r191(){ $this->_retvalue = new _smarty_doublequoted($this, $this->yystack[$this->yyidx + 0]->minor); }
+#line 2798 "smarty_internal_templateparser.php"
+#line 670 "smarty_internal_templateparser.y"
+ function yy_r192(){ $this->_retvalue = new _smarty_code($this, $this->yystack[$this->yyidx + -1]->minor); }
+#line 2801 "smarty_internal_templateparser.php"
+#line 672 "smarty_internal_templateparser.y"
+ function yy_r194(){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 2776 "smarty_internal_templateparser.php"
-#line 671 "smarty_internal_templateparser.y"
- function yy_r194(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); }
-#line 2779 "smarty_internal_templateparser.php"
-#line 672 "smarty_internal_templateparser.y"
- function yy_r195(){
+#line 2810 "smarty_internal_templateparser.php"
+#line 680 "smarty_internal_templateparser.y"
+ function yy_r196(){ $this->_retvalue = new _smarty_code($this, '('.$this->yystack[$this->yyidx + -1]->minor.')'); }
+#line 2813 "smarty_internal_templateparser.php"
+#line 681 "smarty_internal_templateparser.y"
+ function yy_r197(){
$this->_retvalue = new _smarty_tag($this, $this->yystack[$this->yyidx + 0]->minor);
}
-#line 2784 "smarty_internal_templateparser.php"
-#line 675 "smarty_internal_templateparser.y"
- function yy_r196(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); }
-#line 2787 "smarty_internal_templateparser.php"
-#line 682 "smarty_internal_templateparser.y"
- function yy_r198(){$this->_retvalue = ''; }
-#line 2790 "smarty_internal_templateparser.php"
+#line 2818 "smarty_internal_templateparser.php"
+#line 684 "smarty_internal_templateparser.y"
+ function yy_r198(){ $this->_retvalue = new _smarty_dq_content($this, $this->yystack[$this->yyidx + 0]->minor); }
+#line 2821 "smarty_internal_templateparser.php"
+#line 691 "smarty_internal_templateparser.y"
+ function yy_r200(){$this->_retvalue = ''; }
+#line 2824 "smarty_internal_templateparser.php"
private $_retvalue;
function yy_reduce($yyruleno)
{
$yymsp = $this->yystack[$this->yyidx];
- if (self::$yyTraceFILE && $yyruleno >= 0
+ if (self::$yyTraceFILE && $yyruleno >= 0
&& $yyruleno < count(self::$yyRuleName)) {
fprintf(self::$yyTraceFILE, "%sReduce (%d) [%s].\n",
self::$yyTracePrompt, $yyruleno,
$this->internalError = true;
$this->yymajor = $yymajor;
$this->compiler->trigger_template_error();
-#line 2853 "smarty_internal_templateparser.php"
+#line 2887 "smarty_internal_templateparser.php"
}
function yy_accept()
$this->internalError = false;
$this->retvalue = $this->_retvalue;
//echo $this->retvalue."\n\n";
-#line 2871 "smarty_internal_templateparser.php"
+#line 2905 "smarty_internal_templateparser.php"
}
function doParse($yymajor, $yytokenvalue)
{
$yyerrorhit = 0; /* True if yymajor has invoked an error */
-
+
if ($this->yyidx === null || $this->yyidx < 0) {
$this->yyidx = 0;
$this->yyerrcnt = -1;
array_push($this->yystack, $x);
}
$yyendofinput = ($yymajor==0);
-
+
if (self::$yyTraceFILE) {
fprintf(self::$yyTraceFILE, "%sInput %s\n",
self::$yyTracePrompt, $this->yyTokenName[$yymajor]);
}
-
+
do {
$yyact = $this->yy_find_shift_action($yymajor);
if ($yymajor < self::YYERRORSYMBOL &&
} else {
$this->yy_accept();
$yymajor = self::YYNOCODE;
- }
+ }
} while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
}
}
diff --git a/gosa-core/include/smarty/sysplugins/smarty_internal_utility.php b/gosa-core/include/smarty/sysplugins/smarty_internal_utility.php
index b532e4a1eaf147fae74c251109cc246765ba0f9e..7ce33a67f0a4fa97f0f6f68a50a26e900c68c446 100644 (file)
$_compileDirs = new RecursiveDirectoryIterator($_dir);
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
- if (strpos($_fileinfo, '.svn') !== false) continue;
+ if (substr($_fileinfo->getBasename(),0,1) == '.') continue;
$_file = $_fileinfo->getFilename();
if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue;
if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
$_compileDirs = new RecursiveDirectoryIterator($_dir);
$_compile = new RecursiveIteratorIterator($_compileDirs);
foreach ($_compile as $_fileinfo) {
- if (strpos($_fileinfo, '.svn') !== false) continue;
+ if (substr($_fileinfo->getBasename(),0,1) == '.') continue;
$_file = $_fileinfo->getFilename();
if (!substr_compare($_file, $extention, - strlen($extention)) == 0) continue;
if ($_fileinfo->getPath() == substr($_dir, 0, -1)) {
$_compileDirs = new RecursiveDirectoryIterator($_dir);
$_compile = new RecursiveIteratorIterator($_compileDirs, RecursiveIteratorIterator::CHILD_FIRST);
foreach ($_compile as $_file) {
- if (strpos($_file, '.svn') !== false) continue;
+ if (substr($_file->getBasename(),0,1) == '.') continue;
if ($_file->isDir()) {
if (!$_compile->isDot()) {
// delete folder if empty