Completed
Push — developer ( a57f3b...617ff5 )
by Błażej
343:19 queued 298:34
created
include/QueryGenerator/QueryGenerator.php 1 patch
Braces   +44 added lines, -30 removed lines patch added patch discarded remove patch
@@ -306,8 +306,9 @@  discard block
 block discarded – undo
306 306
 
307 307
 	public function parseAdvFilterList($advFilterList, $glue = '')
308 308
 	{
309
-		if (!empty($glue))
310
-			$this->addConditionGlue($glue);
309
+		if (!empty($glue)) {
310
+					$this->addConditionGlue($glue);
311
+		}
311 312
 
312 313
 		$customView = new CustomView($this->module);
313 314
 		$dateSpecificConditions = $customView->getStdFilterConditions();
@@ -318,8 +319,9 @@  discard block
 block discarded – undo
318 319
 				foreach ($filtercolumns as $index => $filter) {
319 320
 					$nameComponents = explode(':', $filter['columnname']);
320 321
 					// For Events "End Date & Time" field datatype should be DT. But, db will give D for due_date field
321
-					if ($nameComponents[2] == 'due_date' && $nameComponents[3] == 'Events_End_Date_&_Time')
322
-						$nameComponents[4] = 'DT';
322
+					if ($nameComponents[2] == 'due_date' && $nameComponents[3] == 'Events_End_Date_&_Time') {
323
+											$nameComponents[4] = 'DT';
324
+					}
323 325
 					if (empty($nameComponents[2]) && $nameComponents[1] == 'crmid' && $nameComponents[0] == 'vtiger_crmentity') {
324 326
 						$name = $this->getSQLColumn('id');
325 327
 					} else {
@@ -343,13 +345,15 @@  discard block
 block discarded – undo
343 345
 						// If datatype is DT then we should append time also
344 346
 						if ($nameComponents[4] == 'DT') {
345 347
 							$startdate = explode(' ', $dateFilterResolvedList['startdate']);
346
-							if ($startdate[1] == '')
347
-								$startdate[1] = '00:00:00';
348
+							if ($startdate[1] == '') {
349
+															$startdate[1] = '00:00:00';
350
+							}
348 351
 							$dateFilterResolvedList['startdate'] = $startdate[0] . ' ' . $startdate[1];
349 352
 
350 353
 							$enddate = explode(' ', $dateFilterResolvedList['enddate']);
351
-							if ($enddate[1] == '')
352
-								$enddate[1] = '23:59:59';
354
+							if ($enddate[1] == '') {
355
+															$enddate[1] = '23:59:59';
356
+							}
353 357
 							$dateFilterResolvedList['enddate'] = $enddate[0] . ' ' . $enddate[1];
354 358
 						}
355 359
 						$value = [];
@@ -367,12 +371,14 @@  discard block
 block discarded – undo
367 371
 
368 372
 						$value = [];
369 373
 						$start = explode(' ', $startDate);
370
-						if ($start[1] == "")
371
-							$startDate = $start[0] . ' ' . '00:00:00';
374
+						if ($start[1] == "") {
375
+													$startDate = $start[0] . ' ' . '00:00:00';
376
+						}
372 377
 
373 378
 						$end = explode(' ', $endDate);
374
-						if ($end[1] == "")
375
-							$endDate = $end[0] . ' ' . '23:59:59';
379
+						if ($end[1] == "") {
380
+													$endDate = $end[0] . ' ' . '23:59:59';
381
+						}
376 382
 
377 383
 						$value[] = $startDate;
378 384
 						$value[] = $endDate;
@@ -405,8 +411,9 @@  discard block
 block discarded – undo
405 411
 				}
406 412
 				$this->endGroup();
407 413
 				$groupConditionGlue = $groupcolumns['condition'];
408
-				if (!empty($groupConditionGlue))
409
-					$this->addConditionGlue($groupConditionGlue);
414
+				if (!empty($groupConditionGlue)) {
415
+									$this->addConditionGlue($groupConditionGlue);
416
+				}
410 417
 			}
411 418
 		}
412 419
 	}
@@ -696,8 +703,9 @@  discard block
 block discarded – undo
696 703
 				$fields = $meta->getModuleFields();
697 704
 				$fieldObject = $fields[$fieldName];
698 705
 
699
-				if (empty($fieldObject))
700
-					continue;
706
+				if (empty($fieldObject)) {
707
+									continue;
708
+				}
701 709
 
702 710
 				$tableName = $fieldObject->getTableName();
703 711
 				if (!in_array($tableName, $referenceFieldTableList)) {
@@ -756,8 +764,9 @@  discard block
 block discarded – undo
756 764
 			$operator = strtolower($conditionInfo['operator']);
757 765
 			if ($operator == 'between' && $this->isDateType($field->getFieldDataType())) {
758 766
 				$start = explode(' ', $conditionInfo['value'][0]);
759
-				if (count($start) == 2)
760
-					$conditionInfo['value'][0] = getValidDBInsertDateTimeValue($start[0] . ' ' . $start[1]);
767
+				if (count($start) == 2) {
768
+									$conditionInfo['value'][0] = getValidDBInsertDateTimeValue($start[0] . ' ' . $start[1]);
769
+				}
761 770
 
762 771
 				$end = explode(' ', $conditionInfo['values'][1]);
763 772
 				// Dates will be equal for Today, Tomorrow, Yesterday.
@@ -918,8 +927,9 @@  discard block
 block discarded – undo
918 927
 						$conditionGlue = ' && ';
919 928
 						if ($conditionInfo['operator'] == 'n') {
920 929
 							$specialCondition = ' || ' . $field->getTableName() . '.' . $field->getColumnName() . ' IS NULL ';
921
-							if (!empty($otherField))
922
-								$specialConditionForOtherField = ' || ' . $otherField->getTableName() . '.' . $otherField->getColumnName() . ' IS NULL ';
930
+							if (!empty($otherField)) {
931
+															$specialConditionForOtherField = ' || ' . $otherField->getTableName() . '.' . $otherField->getColumnName() . ' IS NULL ';
932
+							}
923 933
 						}
924 934
 					}
925 935
 
@@ -929,10 +939,11 @@  discard block
 block discarded – undo
929 939
 					}
930 940
 
931 941
 					$fieldSql .= "$fieldGlue ((" . $field->getTableName() . '.' . $field->getColumnName() . ' ' . $valueSql . " $specialCondition) ";
932
-					if (!empty($otherField))
933
-						$fieldSql .= $conditionGlue . '(' . $otherField->getTableName() . '.' . $otherField->getColumnName() . ' ' . $otherFieldValueSql . ' ' . $specialConditionForOtherField . '))';
934
-					else
935
-						$fieldSql .= ')';
942
+					if (!empty($otherField)) {
943
+											$fieldSql .= $conditionGlue . '(' . $otherField->getTableName() . '.' . $otherField->getColumnName() . ' ' . $otherFieldValueSql . ' ' . $specialConditionForOtherField . '))';
944
+					} else {
945
+											$fieldSql .= ')';
946
+					}
936 947
 				} elseif ($conditionInfo['custom']) {
937 948
 					$fieldSql .= $fieldGlue . 'vtiger_crmentity.crmid ' . $valueSql;
938 949
 				} else {
@@ -1304,8 +1315,9 @@  discard block
 block discarded – undo
1304 1315
 	public function addCondition($fieldname, $value, $operator, $glue = null, $custom = false, $newGroupType = null, $ignoreComma = false)
1305 1316
 	{
1306 1317
 		$conditionNumber = $this->conditionInstanceCount++;
1307
-		if ($glue !== null && $conditionNumber > 0)
1308
-			$this->addConditionGlue($glue);
1318
+		if ($glue !== null && $conditionNumber > 0) {
1319
+					$this->addConditionGlue($glue);
1320
+		}
1309 1321
 
1310 1322
 		$this->groupInfo .= "$conditionNumber ";
1311 1323
 		$this->whereFields[] = $fieldname;
@@ -1326,8 +1338,9 @@  discard block
 block discarded – undo
1326 1338
 	public function addReferenceModuleFieldCondition($relatedModule, $referenceField, $fieldName, $value, $SQLOperator, $glue = null)
1327 1339
 	{
1328 1340
 		$conditionNumber = $this->conditionInstanceCount++;
1329
-		if ($glue !== null && $conditionNumber > 0)
1330
-			$this->addConditionGlue($glue);
1341
+		if ($glue !== null && $conditionNumber > 0) {
1342
+					$this->addConditionGlue($glue);
1343
+		}
1331 1344
 
1332 1345
 		$this->groupInfo .= "$conditionNumber ";
1333 1346
 		$this->referenceModuleField[$conditionNumber] = array('relatedModule' => $relatedModule, 'referenceField' => $referenceField, 'fieldName' => $fieldName, 'value' => $value,
@@ -1401,8 +1414,9 @@  discard block
 block discarded – undo
1401 1414
 					}
1402 1415
 					$this->endGroup();
1403 1416
 					$groupConditionGlue = $groupcolumns['condition'];
1404
-					if (!empty($groupConditionGlue))
1405
-						$this->addConditionGlue($groupConditionGlue);
1417
+					if (!empty($groupConditionGlue)) {
1418
+											$this->addConditionGlue($groupConditionGlue);
1419
+					}
1406 1420
 				}
1407 1421
 			}
1408 1422
 			$this->endGroup();
Please login to merge, or discard this patch.
libraries/SabreDAV/Yeti/WebDAV_Directory.php 1 patch
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -35,17 +35,17 @@  discard block
 block discarded – undo
35 35
 	 * @return null|string
36 36
 	 */
37 37
 	public function createFile($name, $data = null) {
38
-		if($this->dirid == 0)
39
-			throw new DAV\Exception\Forbidden('Permission denied to create file: '.$name);
38
+		if ($this->dirid == 0)
39
+			throw new DAV\Exception\Forbidden('Permission denied to create file: ' . $name);
40 40
 		include_once 'include/main/WebUI.php';
41 41
 		$adb = PearDatabase::getInstance(); 
42 42
 		$log = vglobal('log');
43 43
 		$adb = \PearDatabase::getInstance();
44 44
 		$log = \LoggerManager::getLogger('DavToCRM');
45 45
 		$user = new \Users();
46
-		$current_user = $user->retrieveCurrentUserInfoFromFile( $this->exData->crmUserId );
46
+		$current_user = $user->retrieveCurrentUserInfoFromFile($this->exData->crmUserId);
47 47
 		
48
-		$path = trim($this->path, 'files') .'/'.$name;
48
+		$path = trim($this->path, 'files') . '/' . $name;
49 49
 		$hash = sha1($path);
50 50
 		$pathParts = pathinfo($path);
51 51
 		$localPath = $this->localPath . $name;
@@ -53,26 +53,26 @@  discard block
 block discarded – undo
53 53
 		$stmt = $this->exData->pdo->prepare('SELECT crmid, smownerid, deleted FROM vtiger_files INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_files.filesid WHERE vtiger_files.hash = ?;');
54 54
 		$stmt->execute([$hash]);
55 55
 		$rows = $stmt->fetch(\PDO::FETCH_ASSOC);
56
-		if($rows !== false && ($rows['smownerid'] != $this->exData->crmUserId || $rows['deleted'] == 1)){
56
+		if ($rows !== false && ($rows['smownerid'] != $this->exData->crmUserId || $rows['deleted'] == 1)) {
57 57
 			throw new DAV\Exception\Conflict('File with name ' . $file . ' could not be located');
58 58
 		}
59 59
 		file_put_contents($this->exData->localStorageDir . $localPath, $data);
60 60
 		
61
-		if($rows){
62
-			$record = \Vtiger_Record_Model::getInstanceById( $rows['crmid'], 'Files' );
61
+		if ($rows) {
62
+			$record = \Vtiger_Record_Model::getInstanceById($rows['crmid'], 'Files');
63 63
 			$record->set('mode', 'edit');
64
-		}else{
65
-			$record = \Vtiger_Record_Model::getCleanInstance( 'Files' );
66
-			$record->set( 'assigned_user_id', $this->exData->crmUserId );
64
+		} else {
65
+			$record = \Vtiger_Record_Model::getCleanInstance('Files');
66
+			$record->set('assigned_user_id', $this->exData->crmUserId);
67 67
 		}
68
-		$record->set( 'title', $pathParts['filename'] );
69
-		$record->set( 'name', $pathParts['filename'] );
70
-		$record->set( 'path', $localPath );
68
+		$record->set('title', $pathParts['filename']);
69
+		$record->set('name', $pathParts['filename']);
70
+		$record->set('path', $localPath);
71 71
 		$record->save();
72 72
 		$id = $record->getId();
73 73
 		
74 74
 		$stmt = $this->exData->pdo->prepare('UPDATE vtiger_files SET dirid=?,extension=?,size=?,hash=?,ctime=? WHERE filesid=?;');
75
-		$stmt->execute([$this->dirid, $pathParts['extension'], filesize ( $this->exData->localStorageDir . $localPath ), $hash, date('Y-m-d H:i:s'), $id]);
75
+		$stmt->execute([$this->dirid, $pathParts['extension'], filesize($this->exData->localStorageDir . $localPath), $hash, date('Y-m-d H:i:s'), $id]);
76 76
 	}
77 77
 
78 78
 	/**
@@ -82,11 +82,11 @@  discard block
 block discarded – undo
82 82
 	 * @return void
83 83
 	 */
84 84
 	public function createDirectory($name) {
85
-		if($this->dirid == 0)
86
-			throw new DAV\Exception\Forbidden('Permission denied to create directory: '.$name);
85
+		if ($this->dirid == 0)
86
+			throw new DAV\Exception\Forbidden('Permission denied to create directory: ' . $name);
87 87
 		$path = trim($this->path, 'files') . '/' . $name . '/';
88 88
 		$dirHash = sha1($path);
89
-		$newPath = $this->localPath . $name. '/';
89
+		$newPath = $this->localPath . $name . '/';
90 90
 		$parent_dirid = $this->dirid;
91 91
 		mkdir($this->exData->localStorageDir . $newPath);
92 92
 		
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
 		$path = '/';
99 99
 		$dirHash = sha1($path);
100 100
 		$stmt = $this->exData->pdo->prepare('SELECT id, path, size, UNIX_TIMESTAMP(`mtime`) AS mtime FROM vtiger_files_dir WHERE hash = ? && userid IN (?,?);');
101
-		$stmt->execute([$dirHash,0, $this->exData->crmUserId]);
101
+		$stmt->execute([$dirHash, 0, $this->exData->crmUserId]);
102 102
 		$row = $stmt->fetch(\PDO::FETCH_ASSOC);
103 103
 		
104 104
 		$this->mtime = $row['mtime'];
@@ -122,9 +122,9 @@  discard block
 block discarded – undo
122 122
 		$path = trim($this->path, 'files') . '/' . $file . '/';
123 123
 		$hash = sha1($path);
124 124
 		$stmt = $this->exData->pdo->prepare('SELECT id, path, size, UNIX_TIMESTAMP(`mtime`) AS mtime FROM vtiger_files_dir WHERE hash = ? && userid IN (?,?);');
125
-		$stmt->execute([$hash,0, $this->exData->crmUserId]);
125
+		$stmt->execute([$hash, 0, $this->exData->crmUserId]);
126 126
 		$row = $stmt->fetch(\PDO::FETCH_ASSOC);
127
-		if ($row){
127
+		if ($row) {
128 128
 			$directory = new WebDAV_Directory($this->path . '/' . $file, $this->exData);
129 129
 			$directory->mtime = $row['mtime'];
130 130
 			$directory->size = $row['size'];
@@ -137,7 +137,7 @@  discard block
 block discarded – undo
137 137
 		$stmt = $this->exData->pdo->prepare('SELECT filesid, path, size, UNIX_TIMESTAMP(`mtime`) AS mtime FROM vtiger_files INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_files.filesid WHERE vtiger_files.hash = ? && vtiger_crmentity.deleted = ? && vtiger_crmentity.smownerid = ?;');
138 138
 		$stmt->execute([$hash, 0, $this->exData->crmUserId]);
139 139
 		$row = $stmt->fetch(\PDO::FETCH_ASSOC);
140
-		if ($row){
140
+		if ($row) {
141 141
 			$directory = new WebDAV_File($this->path . '/' . $file, $this->exData);
142 142
 			$directory->size = $row['size'];
143 143
 			$directory->localPath = $row['path'];
@@ -222,19 +222,19 @@  discard block
 block discarded – undo
222 222
 	 * @return void
223 223
 	 */
224 224
 	public function setName($name) {
225
-		list($parentLocalPath, ) = URLUtil::splitPath($this->localPath);
226
-		list($parentPath, ) = URLUtil::splitPath($this->path);
225
+		list($parentLocalPath,) = URLUtil::splitPath($this->localPath);
226
+		list($parentPath,) = URLUtil::splitPath($this->path);
227 227
 		list(, $newName) = URLUtil::splitPath($name);
228
-		$newPath = $parentLocalPath . '/' . $newName.'/';
229
-		$path = trim($parentPath, 'files') . '/' . $newName.'/';
228
+		$newPath = $parentLocalPath . '/' . $newName . '/';
229
+		$path = trim($parentPath, 'files') . '/' . $newName . '/';
230 230
 		$hash = sha1($path);
231 231
 		
232 232
 		$log = print_r([$this->exData->pdo, $name, $newPath, $hash, date('Y-m-d H:i:s'), $this->dirid], true);
233
-		file_put_contents('cache/logs/xxebug.log', ' --- '.date('Y-m-d H:i:s').' --- RequestInterface --- '.PHP_EOL.$log, FILE_APPEND);
233
+		file_put_contents('cache/logs/xxebug.log', ' --- ' . date('Y-m-d H:i:s') . ' --- RequestInterface --- ' . PHP_EOL . $log, FILE_APPEND);
234 234
 
235 235
 		$stmt = $this->exData->pdo->prepare('UPDATE vtiger_files_dir SET name=?, path = ?, hash=?, mtime=? WHERE id=?;');
236 236
 		$stmt->execute([$name, $newPath, $hash, date('Y-m-d H:i:s'), $this->dirid]);
237
-		rename($this->exData->localStorageDir .$this->localPath, $this->exData->localStorageDir .$newPath);
237
+		rename($this->exData->localStorageDir . $this->localPath, $this->exData->localStorageDir . $newPath);
238 238
 		$this->path = $newPath;
239 239
 	}
240 240
 	
@@ -259,8 +259,8 @@  discard block
 block discarded – undo
259 259
      * @return bool
260 260
      */
261 261
     public function moveInto($targetName, $sourcePath, DAV\INode $sourceNode) {
262
-		$log = print_r([$targetName, $sourcePath, $sourceNode,$this], true);
263
-		file_put_contents('cache/logs/xxebug.log', ' --- '.date('Y-m-d H:i:s').' --- RequestInterface --- '.PHP_EOL.$log, FILE_APPEND);
262
+		$log = print_r([$targetName, $sourcePath, $sourceNode, $this], true);
263
+		file_put_contents('cache/logs/xxebug.log', ' --- ' . date('Y-m-d H:i:s') . ' --- RequestInterface --- ' . PHP_EOL . $log, FILE_APPEND);
264 264
 
265 265
 		if (!$sourceNode instanceof WebDAV_File) {
266 266
 			return false;
Please login to merge, or discard this patch.
libraries/log4php.debug/LoggerCategory.php 2 patches
Indentation   +478 added lines, -478 removed lines patch added patch discarded remove patch
@@ -36,537 +36,537 @@
 block discarded – undo
36 36
  */
37 37
 class LoggerCategory {
38 38
 
39
-    /**
40
-     * Additivity is set to true by default, that is children inherit the 
41
-     * appenders of their ancestors by default.
42
-     * @var boolean
43
-     */
44
-    public $additive       = true;
39
+	/**
40
+	 * Additivity is set to true by default, that is children inherit the 
41
+	 * appenders of their ancestors by default.
42
+	 * @var boolean
43
+	 */
44
+	public $additive       = true;
45 45
     
46
-    /**
47
-     * @var string fully qualified class name
48
-     */  
49
-    public $fqcn           = 'LoggerCategory';
46
+	/**
47
+	 * @var string fully qualified class name
48
+	 */  
49
+	public $fqcn           = 'LoggerCategory';
50 50
 
51
-    /**
52
-     * @var LoggerLevel The assigned level of this category.
53
-     */
54
-    public $level          = null;
51
+	/**
52
+	 * @var LoggerLevel The assigned level of this category.
53
+	 */
54
+	public $level          = null;
55 55
     
56
-    /**
57
-     * @var string name of this category.
58
-     */
59
-    public $name           = '';
56
+	/**
57
+	 * @var string name of this category.
58
+	 */
59
+	public $name           = '';
60 60
     
61
-    /**
62
-     * @var Logger The parent of this category.
63
-     */
64
-    public $parent         = null;
61
+	/**
62
+	 * @var Logger The parent of this category.
63
+	 */
64
+	public $parent         = null;
65 65
 
66
-    /**
67
-     * @var LoggerHierarchy the object repository
68
-     */
69
-    public $repository     = null; 
66
+	/**
67
+	 * @var LoggerHierarchy the object repository
68
+	 */
69
+	public $repository     = null; 
70 70
 
71
-    /**
72
-     * @var array collection of appenders
73
-     * @see LoggerAppender
74
-     */
75
-    public $aai            = array();
71
+	/**
72
+	 * @var array collection of appenders
73
+	 * @see LoggerAppender
74
+	 */
75
+	public $aai            = array();
76 76
     
77 77
 /* --------------------------------------------------------------------------*/
78 78
 /* --------------------------------------------------------------------------*/
79 79
 /* --------------------------------------------------------------------------*/
80 80
 
81
-    /**
82
-     * Constructor.
83
-     *
84
-     * @param  string  $name  Category name   
85
-     */
86
-    public function LoggerCategory($name)
87
-    {
88
-        $this->name = $name;
89
-    }
81
+	/**
82
+	 * Constructor.
83
+	 *
84
+	 * @param  string  $name  Category name   
85
+	 */
86
+	public function LoggerCategory($name)
87
+	{
88
+		$this->name = $name;
89
+	}
90 90
     
91
-    /**
92
-     * Add a new Appender to the list of appenders of this Category instance.
93
-     *
94
-     * @param LoggerAppender $newAppender
95
-     */
96
-    public function addAppender(&$newAppender)
97
-    {
98
-        $appenderName = $newAppender->getName();
99
-        $this->aai[$appenderName] =& $newAppender;
100
-    } 
91
+	/**
92
+	 * Add a new Appender to the list of appenders of this Category instance.
93
+	 *
94
+	 * @param LoggerAppender $newAppender
95
+	 */
96
+	public function addAppender(&$newAppender)
97
+	{
98
+		$appenderName = $newAppender->getName();
99
+		$this->aai[$appenderName] =& $newAppender;
100
+	} 
101 101
             
102
-    /**
103
-     * If assertion parameter is false, then logs msg as an error statement.
104
-     *
105
-     * @param bool $assertion
106
-     * @param string $msg message to log
107
-     */
108
-    public function assertLog($assertion = true, $msg = '')
109
-    {
110
-        if ($assertion === false) {
111
-            $this->error($msg);
112
-        }
113
-    } 
102
+	/**
103
+	 * If assertion parameter is false, then logs msg as an error statement.
104
+	 *
105
+	 * @param bool $assertion
106
+	 * @param string $msg message to log
107
+	 */
108
+	public function assertLog($assertion = true, $msg = '')
109
+	{
110
+		if ($assertion === false) {
111
+			$this->error($msg);
112
+		}
113
+	} 
114 114
 
115
-    /**
116
-     * Call the appenders in the hierarchy starting at this.
117
-     *
118
-     * @param LoggerLoggingEvent $event 
119
-     */
120
-    public function callAppenders($event) 
121
-    {
122
-        if (sizeof($this->aai) > 0) {
123
-            foreach (array_keys($this->aai) as $appenderName) {
124
-                $this->aai[$appenderName]->doAppend($event);
125
-            }
126
-        }
127
-        if ($this->parent !== null && $this->getAdditivity()) {
128
-            $this->parent->callAppenders($event);
129
-        }
130
-    }
115
+	/**
116
+	 * Call the appenders in the hierarchy starting at this.
117
+	 *
118
+	 * @param LoggerLoggingEvent $event 
119
+	 */
120
+	public function callAppenders($event) 
121
+	{
122
+		if (sizeof($this->aai) > 0) {
123
+			foreach (array_keys($this->aai) as $appenderName) {
124
+				$this->aai[$appenderName]->doAppend($event);
125
+			}
126
+		}
127
+		if ($this->parent !== null && $this->getAdditivity()) {
128
+			$this->parent->callAppenders($event);
129
+		}
130
+	}
131 131
     
132
-    /**
133
-     * Log a message object with the DEBUG level including the caller.
134
-     *
135
-     * @param mixed $message message
136
-     * @param mixed $caller caller object or caller string id
137
-     */
138
-    public function debug($message, $caller = null)
139
-    {
140
-        $debugLevel = LoggerLevel::getLevelDebug();
141
-        if ($this->repository->isDisabled($debugLevel)) {
142
-            return;
143
-        }
144
-        if ($debugLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
145
-            $this->forcedLog($this->fqcn, $caller, $debugLevel, $message);
146
-        }
147
-    } 
132
+	/**
133
+	 * Log a message object with the DEBUG level including the caller.
134
+	 *
135
+	 * @param mixed $message message
136
+	 * @param mixed $caller caller object or caller string id
137
+	 */
138
+	public function debug($message, $caller = null)
139
+	{
140
+		$debugLevel = LoggerLevel::getLevelDebug();
141
+		if ($this->repository->isDisabled($debugLevel)) {
142
+			return;
143
+		}
144
+		if ($debugLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
145
+			$this->forcedLog($this->fqcn, $caller, $debugLevel, $message);
146
+		}
147
+	} 
148 148
 
149
-    /**
150
-     * Log a message object with the ERROR level including the caller.
151
-     *
152
-     * @param mixed $message message
153
-     * @param mixed $caller caller object or caller string id
154
-     */
155
-    public function error($message, $caller = null)
156
-    {
157
-        $errorLevel = LoggerLevel::getLevelError();
158
-        if ($this->repository->isDisabled($errorLevel)) {
159
-            return;
160
-        }
161
-        if ($errorLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
162
-            $this->forcedLog($this->fqcn, $caller, $errorLevel, $message);
149
+	/**
150
+	 * Log a message object with the ERROR level including the caller.
151
+	 *
152
+	 * @param mixed $message message
153
+	 * @param mixed $caller caller object or caller string id
154
+	 */
155
+	public function error($message, $caller = null)
156
+	{
157
+		$errorLevel = LoggerLevel::getLevelError();
158
+		if ($this->repository->isDisabled($errorLevel)) {
159
+			return;
160
+		}
161
+		if ($errorLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
162
+			$this->forcedLog($this->fqcn, $caller, $errorLevel, $message);
163 163
 			$this->forcedLog($this->fqcn, $caller, $errorLevel, PHP_EOL.vtlib\Functions::getBacktrace(1));
164
-        }
165
-    }
164
+		}
165
+	}
166 166
   
167
-    /**
168
-     * Deprecated. Please use LoggerManager::exists() instead.
169
-     *
170
-     * @param string $name
171
-     * @see LoggerManager::exists()
172
-     * @deprecated
173
-     */
174
-    public function exists($name)
175
-    {
176
-        return LoggerManager::exists($name);
177
-    } 
167
+	/**
168
+	 * Deprecated. Please use LoggerManager::exists() instead.
169
+	 *
170
+	 * @param string $name
171
+	 * @see LoggerManager::exists()
172
+	 * @deprecated
173
+	 */
174
+	public function exists($name)
175
+	{
176
+		return LoggerManager::exists($name);
177
+	} 
178 178
  
179
-    /**
180
-     * Log a message object with the FATAL level including the caller.
181
-     *
182
-     * @param mixed $message message
183
-     * @param mixed $caller caller object or caller string id
184
-     */
185
-    public function fatal($message, $caller = null)
186
-    {
187
-        $fatalLevel = LoggerLevel::getLevelFatal();
188
-        if ($this->repository->isDisabled($fatalLevel)) {
189
-            return;
190
-        }
191
-        if ($fatalLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
192
-            $this->forcedLog($this->fqcn, $caller, $fatalLevel, $message);
193
-        }
194
-    } 
179
+	/**
180
+	 * Log a message object with the FATAL level including the caller.
181
+	 *
182
+	 * @param mixed $message message
183
+	 * @param mixed $caller caller object or caller string id
184
+	 */
185
+	public function fatal($message, $caller = null)
186
+	{
187
+		$fatalLevel = LoggerLevel::getLevelFatal();
188
+		if ($this->repository->isDisabled($fatalLevel)) {
189
+			return;
190
+		}
191
+		if ($fatalLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
192
+			$this->forcedLog($this->fqcn, $caller, $fatalLevel, $message);
193
+		}
194
+	} 
195 195
   
196
-    /**
197
-     * This method creates a new logging event and logs the event without further checks.
198
-     *
199
-     * It should not be called directly. Use {@link info()}, {@link debug()}, {@link warn()},
200
-     * {@link error()} and {@link fatal()} wrappers.
201
-     *
202
-     * @param string $fqcn Fully Qualified Class Name of the Logger
203
-     * @param mixed $caller caller object or caller string id
204
-     * @param LoggerLevel $level log level     
205
-     * @param mixed $message message
206
-     * @see LoggerLoggingEvent          
207
-     */
208
-    public function forcedLog($fqcn, $caller, $level, $message)
209
-    {
210
-        $this->callAppenders(new LoggerLoggingEvent($fqcn, $this, $level, $message));
211
-    } 
196
+	/**
197
+	 * This method creates a new logging event and logs the event without further checks.
198
+	 *
199
+	 * It should not be called directly. Use {@link info()}, {@link debug()}, {@link warn()},
200
+	 * {@link error()} and {@link fatal()} wrappers.
201
+	 *
202
+	 * @param string $fqcn Fully Qualified Class Name of the Logger
203
+	 * @param mixed $caller caller object or caller string id
204
+	 * @param LoggerLevel $level log level     
205
+	 * @param mixed $message message
206
+	 * @see LoggerLoggingEvent          
207
+	 */
208
+	public function forcedLog($fqcn, $caller, $level, $message)
209
+	{
210
+		$this->callAppenders(new LoggerLoggingEvent($fqcn, $this, $level, $message));
211
+	} 
212 212
 
213
-    /**
214
-     * Get the additivity flag for this Category instance.
215
-     * @return boolean
216
-     */
217
-    public function getAdditivity()
218
-    {
219
-        return $this->additive;
220
-    }
213
+	/**
214
+	 * Get the additivity flag for this Category instance.
215
+	 * @return boolean
216
+	 */
217
+	public function getAdditivity()
218
+	{
219
+		return $this->additive;
220
+	}
221 221
  
222
-    /**
223
-     * Get the appenders contained in this category as an array.
224
-     * @return array collection of appenders
225
-     */
226
-    public function &getAllAppenders() 
227
-    {
228
-        $appenders = array();
229
-        $appenderNames = array_keys($this->aai);
230
-        $enumAppenders = sizeof($appenderNames);
231
-        for ($i = 0; $i < $enumAppenders; $i++) {
232
-            $appenderName = $appenderNames[$i];
233
-            $appenders[] =& $this->aai[$appenderName];
234
-        }
235
-        return $appenders; 
236
-    }
222
+	/**
223
+	 * Get the appenders contained in this category as an array.
224
+	 * @return array collection of appenders
225
+	 */
226
+	public function &getAllAppenders() 
227
+	{
228
+		$appenders = array();
229
+		$appenderNames = array_keys($this->aai);
230
+		$enumAppenders = sizeof($appenderNames);
231
+		for ($i = 0; $i < $enumAppenders; $i++) {
232
+			$appenderName = $appenderNames[$i];
233
+			$appenders[] =& $this->aai[$appenderName];
234
+		}
235
+		return $appenders; 
236
+	}
237 237
     
238
-    /**
239
-     * Look for the appender named as name.
240
-     * @return LoggerAppender
241
-     */
242
-    public function &getAppender($name) 
243
-    {
244
-        return $this->aai[$name];
245
-    }
238
+	/**
239
+	 * Look for the appender named as name.
240
+	 * @return LoggerAppender
241
+	 */
242
+	public function &getAppender($name) 
243
+	{
244
+		return $this->aai[$name];
245
+	}
246 246
     
247
-    /**
248
-     * Please use the {@link getEffectiveLevel()} method instead.
249
-     * @deprecated
250
-     */
251
-    public function getChainedPriority()
252
-    {
253
-        return $this->getEffectiveLevel();
254
-    } 
247
+	/**
248
+	 * Please use the {@link getEffectiveLevel()} method instead.
249
+	 * @deprecated
250
+	 */
251
+	public function getChainedPriority()
252
+	{
253
+		return $this->getEffectiveLevel();
254
+	} 
255 255
  
256
-    /**
257
-     * Please use {@link LoggerManager::getCurrentLoggers()} instead.
258
-     * @deprecated
259
-     */
260
-    public function getCurrentCategories()
261
-    {
262
-        return LoggerManager::getCurrentLoggers();
263
-    } 
256
+	/**
257
+	 * Please use {@link LoggerManager::getCurrentLoggers()} instead.
258
+	 * @deprecated
259
+	 */
260
+	public function getCurrentCategories()
261
+	{
262
+		return LoggerManager::getCurrentLoggers();
263
+	} 
264 264
  
265
-    /**
266
-     * Please use {@link LoggerManager::getLoggerRepository()} instead.
267
-     * @deprecated 
268
-     */
269
-    public function &getDefaultHierarchy()
270
-    {
271
-        return LoggerManager::getLoggerRepository();
272
-    } 
265
+	/**
266
+	 * Please use {@link LoggerManager::getLoggerRepository()} instead.
267
+	 * @deprecated 
268
+	 */
269
+	public function &getDefaultHierarchy()
270
+	{
271
+		return LoggerManager::getLoggerRepository();
272
+	} 
273 273
  
274
-    /**
275
-     * @deprecated Use {@link getLoggerRepository()}
276
-     * @return LoggerHierarchy 
277
-     */
278
-    public function &getHierarchy()
279
-    {
280
-        return $this->getLoggerRepository();
281
-    } 
274
+	/**
275
+	 * @deprecated Use {@link getLoggerRepository()}
276
+	 * @return LoggerHierarchy 
277
+	 */
278
+	public function &getHierarchy()
279
+	{
280
+		return $this->getLoggerRepository();
281
+	} 
282 282
 
283
-    /**
284
-     * Starting from this category, search the category hierarchy for a non-null level and return it.
285
-     * @see LoggerLevel
286
-     * @return LoggerLevel or null
287
-     */
288
-    public function getEffectiveLevel()
289
-    {
290
-        for($c = $this; $c !== null; $c = $c->parent) {
291
-            if($c->level !== null)
292
-            	return $c->level;
293
-        }
294
-        return null;
295
-    }
283
+	/**
284
+	 * Starting from this category, search the category hierarchy for a non-null level and return it.
285
+	 * @see LoggerLevel
286
+	 * @return LoggerLevel or null
287
+	 */
288
+	public function getEffectiveLevel()
289
+	{
290
+		for($c = $this; $c !== null; $c = $c->parent) {
291
+			if($c->level !== null)
292
+				return $c->level;
293
+		}
294
+		return null;
295
+	}
296 296
   
297
-    /**
298
-     * Retrieve a category with named as the name parameter.
299
-     * @return Logger
300
-     */
301
-    public function &getInstance($name)
302
-    {
303
-        return LoggerManager::getLogger($name);
304
-    }
297
+	/**
298
+	 * Retrieve a category with named as the name parameter.
299
+	 * @return Logger
300
+	 */
301
+	public function &getInstance($name)
302
+	{
303
+		return LoggerManager::getLogger($name);
304
+	}
305 305
 
306
-    /**
307
-     * Returns the assigned Level, if any, for this Category.
308
-     * @return LoggerLevel or null 
309
-     */
310
-    public function getLevel()
311
-    {
312
-        return $this->level;
313
-    } 
306
+	/**
307
+	 * Returns the assigned Level, if any, for this Category.
308
+	 * @return LoggerLevel or null 
309
+	 */
310
+	public function getLevel()
311
+	{
312
+		return $this->level;
313
+	} 
314 314
 
315
-    /**
316
-     * Return the the repository where this Category is attached.
317
-     * @return LoggerHierarchy
318
-     */
319
-    public function &getLoggerRepository()
320
-    {
321
-        return $this->repository;
322
-    } 
315
+	/**
316
+	 * Return the the repository where this Category is attached.
317
+	 * @return LoggerHierarchy
318
+	 */
319
+	public function &getLoggerRepository()
320
+	{
321
+		return $this->repository;
322
+	} 
323 323
 
324
-    /**
325
-     * Return the category name.
326
-     * @return string
327
-     */
328
-    public function getName()
329
-    {
330
-        return $this->name;
331
-    } 
324
+	/**
325
+	 * Return the category name.
326
+	 * @return string
327
+	 */
328
+	public function getName()
329
+	{
330
+		return $this->name;
331
+	} 
332 332
 
333
-    /**
334
-     * Returns the parent of this category.
335
-     * @return Logger
336
-     */
337
-    public function &getParent() 
338
-    {
339
-        return $this->parent;
340
-    }      
333
+	/**
334
+	 * Returns the parent of this category.
335
+	 * @return Logger
336
+	 */
337
+	public function &getParent() 
338
+	{
339
+		return $this->parent;
340
+	}      
341 341
 
342
-    /**
343
-     * Please use getLevel() instead.
344
-     * @deprecated
345
-     */
346
-    public function getPriority()
347
-    {
348
-        return $this->getLevel();
349
-    }
342
+	/**
343
+	 * Please use getLevel() instead.
344
+	 * @deprecated
345
+	 */
346
+	public function getPriority()
347
+	{
348
+		return $this->getLevel();
349
+	}
350 350
           
351
-    /**
352
-     * Return the inherited ResourceBundle for this category.
353
-     */
354
-    public function getResourceBundle()
355
-    {
356
-        return;
357
-    } 
351
+	/**
352
+	 * Return the inherited ResourceBundle for this category.
353
+	 */
354
+	public function getResourceBundle()
355
+	{
356
+		return;
357
+	} 
358 358
 
359
-    /**
360
-     * Returns the string resource coresponding to key in this category's inherited resource bundle.
361
-     */
362
-    public function getResourceBundleString($key)
363
-    {
364
-        return;
365
-    } 
359
+	/**
360
+	 * Returns the string resource coresponding to key in this category's inherited resource bundle.
361
+	 */
362
+	public function getResourceBundleString($key)
363
+	{
364
+		return;
365
+	} 
366 366
 
367
-    /**
368
-     * Return the root of the default category hierrachy.
369
-     * @return LoggerRoot
370
-     */
371
-    public function &getRoot()
372
-    {
373
-        return LoggerManager::getRootLogger();
374
-    } 
367
+	/**
368
+	 * Return the root of the default category hierrachy.
369
+	 * @return LoggerRoot
370
+	 */
371
+	public function &getRoot()
372
+	{
373
+		return LoggerManager::getRootLogger();
374
+	} 
375 375
 
376
-    /**
377
-     * Log a message object with the INFO Level.
378
-     *
379
-     * @param mixed $message message
380
-     * @param mixed $caller caller object or caller string id
381
-     */
382
-    public function info($message, $caller = null)
383
-    {
384
-        $infoLevel = LoggerLevel::getLevelInfo();
385
-        if ($this->repository->isDisabled($infoLevel)) {
386
-            return;
387
-        }
388
-        if ($infoLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
389
-            $this->forcedLog($this->fqcn, $caller, $infoLevel, $message);
390
-        }
391
-    }
376
+	/**
377
+	 * Log a message object with the INFO Level.
378
+	 *
379
+	 * @param mixed $message message
380
+	 * @param mixed $caller caller object or caller string id
381
+	 */
382
+	public function info($message, $caller = null)
383
+	{
384
+		$infoLevel = LoggerLevel::getLevelInfo();
385
+		if ($this->repository->isDisabled($infoLevel)) {
386
+			return;
387
+		}
388
+		if ($infoLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
389
+			$this->forcedLog($this->fqcn, $caller, $infoLevel, $message);
390
+		}
391
+	}
392 392
      
393
-    /**
394
-     * Is the appender passed as parameter attached to this category?
395
-     *
396
-     * @param LoggerAppender $appender
397
-     */
398
-    public function isAttached($appender)
399
-    {
400
-        return in_array($appender->getName(), array_keys($this->aai));
401
-    } 
393
+	/**
394
+	 * Is the appender passed as parameter attached to this category?
395
+	 *
396
+	 * @param LoggerAppender $appender
397
+	 */
398
+	public function isAttached($appender)
399
+	{
400
+		return in_array($appender->getName(), array_keys($this->aai));
401
+	} 
402 402
            
403
-    /**
404
-     * Check whether this category is enabled for the DEBUG Level.
405
-     * @return boolean
406
-     */
407
-    public function isDebugEnabled()
408
-    {
409
-        $debugLevel = LoggerLevel::getLevelDebug(); 
410
-        if ($this->repository->isDisabled($debugLevel)) {
411
-            return false;
412
-        }
413
-        return ($debugLevel->isGreaterOrEqual($this->getEffectiveLevel()));
414
-    }       
403
+	/**
404
+	 * Check whether this category is enabled for the DEBUG Level.
405
+	 * @return boolean
406
+	 */
407
+	public function isDebugEnabled()
408
+	{
409
+		$debugLevel = LoggerLevel::getLevelDebug(); 
410
+		if ($this->repository->isDisabled($debugLevel)) {
411
+			return false;
412
+		}
413
+		return ($debugLevel->isGreaterOrEqual($this->getEffectiveLevel()));
414
+	}       
415 415
 
416
-    /**
417
-     * Check whether this category is enabled for a given Level passed as parameter.
418
-     *
419
-     * @param LoggerLevel level
420
-     * @return boolean
421
-     */
422
-    public function isEnabledFor($level)
423
-    {
424
-        if ($this->repository->isDisabled($level)) {
425
-            return false;
426
-        }
427
-        return (bool)($level->isGreaterOrEqual($this->getEffectiveLevel()));
428
-    } 
416
+	/**
417
+	 * Check whether this category is enabled for a given Level passed as parameter.
418
+	 *
419
+	 * @param LoggerLevel level
420
+	 * @return boolean
421
+	 */
422
+	public function isEnabledFor($level)
423
+	{
424
+		if ($this->repository->isDisabled($level)) {
425
+			return false;
426
+		}
427
+		return (bool)($level->isGreaterOrEqual($this->getEffectiveLevel()));
428
+	} 
429 429
 
430
-    /**
431
-     * Check whether this category is enabled for the info Level.
432
-     * @return boolean
433
-     * @see LoggerLevel
434
-     */
435
-    public function isInfoEnabled()
436
-    {
437
-        $infoLevel = LoggerLevel::getLevelInfo();
438
-        if ($this->repository->isDisabled($infoLevel)) {
439
-            return false;
440
-        }
441
-        return ($infoLevel->isGreaterOrEqual($this->getEffectiveLevel()));
442
-    } 
430
+	/**
431
+	 * Check whether this category is enabled for the info Level.
432
+	 * @return boolean
433
+	 * @see LoggerLevel
434
+	 */
435
+	public function isInfoEnabled()
436
+	{
437
+		$infoLevel = LoggerLevel::getLevelInfo();
438
+		if ($this->repository->isDisabled($infoLevel)) {
439
+			return false;
440
+		}
441
+		return ($infoLevel->isGreaterOrEqual($this->getEffectiveLevel()));
442
+	} 
443 443
 
444
-    /**
445
-     * Log a localized and parameterized message.
446
-     */
447
-    public function l7dlog($priority, $key, $params, $t)
448
-    {
449
-        return;
450
-    } 
444
+	/**
445
+	 * Log a localized and parameterized message.
446
+	 */
447
+	public function l7dlog($priority, $key, $params, $t)
448
+	{
449
+		return;
450
+	} 
451 451
 
452
-    /**
453
-     * This generic form is intended to be used by wrappers.
454
-     *
455
-     * @param LoggerLevel $priority a valid level
456
-     * @param mixed $message message
457
-     * @param mixed $caller caller object or caller string id
458
-     */
459
-    public function log($priority, $message, $caller = null)
460
-    {
461
-        if ($this->repository->isDisabled($priority)) {
462
-            return;
463
-        }
464
-        if ($priority->isGreaterOrEqual($this->getEffectiveLevel())) {
465
-            $this->forcedLog($this->fqcn, $caller, $priority, $message);
466
-        }
467
-    }
452
+	/**
453
+	 * This generic form is intended to be used by wrappers.
454
+	 *
455
+	 * @param LoggerLevel $priority a valid level
456
+	 * @param mixed $message message
457
+	 * @param mixed $caller caller object or caller string id
458
+	 */
459
+	public function log($priority, $message, $caller = null)
460
+	{
461
+		if ($this->repository->isDisabled($priority)) {
462
+			return;
463
+		}
464
+		if ($priority->isGreaterOrEqual($this->getEffectiveLevel())) {
465
+			$this->forcedLog($this->fqcn, $caller, $priority, $message);
466
+		}
467
+	}
468 468
 
469
-    /**
470
-     * Remove all previously added appenders from this Category instance.
471
-     */
472
-    public function removeAllAppenders()
473
-    {
474
-        $appenderNames = array_keys($this->aai);
475
-        $enumAppenders = sizeof($appenderNames);
476
-        for ($i = 0; $i < $enumAppenders; $i++) {
477
-            $this->removeAppender($appenderNames[$i]); 
478
-        }
479
-    } 
469
+	/**
470
+	 * Remove all previously added appenders from this Category instance.
471
+	 */
472
+	public function removeAllAppenders()
473
+	{
474
+		$appenderNames = array_keys($this->aai);
475
+		$enumAppenders = sizeof($appenderNames);
476
+		for ($i = 0; $i < $enumAppenders; $i++) {
477
+			$this->removeAppender($appenderNames[$i]); 
478
+		}
479
+	} 
480 480
             
481
-    /**
482
-     * Remove the appender passed as parameter form the list of appenders.
483
-     *
484
-     * @param mixed $appender can be an appender name or a {@link LoggerAppender} object
485
-     */
486
-    public function removeAppender($appender)
487
-    {
488
-        if (is_a($appender, 'loggerappender')) {
489
-            $appender->close();
490
-            unset($this->aai[$appender->getName()]);
491
-        } elseif (is_string($appender) && isset($this->aai[$appender])) {
492
-            $this->aai[$appender]->close();
493
-            unset($this->aai[$appender]);
494
-        }
495
-    } 
481
+	/**
482
+	 * Remove the appender passed as parameter form the list of appenders.
483
+	 *
484
+	 * @param mixed $appender can be an appender name or a {@link LoggerAppender} object
485
+	 */
486
+	public function removeAppender($appender)
487
+	{
488
+		if (is_a($appender, 'loggerappender')) {
489
+			$appender->close();
490
+			unset($this->aai[$appender->getName()]);
491
+		} elseif (is_string($appender) && isset($this->aai[$appender])) {
492
+			$this->aai[$appender]->close();
493
+			unset($this->aai[$appender]);
494
+		}
495
+	} 
496 496
 
497
-    /**
498
-     * Set the additivity flag for this Category instance.
499
-     *
500
-     * @param boolean $additive
501
-     */
502
-    public function setAdditivity($additive) 
503
-    {
504
-        $this->additive = (bool)$additive;
505
-    }
497
+	/**
498
+	 * Set the additivity flag for this Category instance.
499
+	 *
500
+	 * @param boolean $additive
501
+	 */
502
+	public function setAdditivity($additive) 
503
+	{
504
+		$this->additive = (bool)$additive;
505
+	}
506 506
     
507
-    /**
508
-     * @deprecated Please use {@link setLevel()} instead.
509
-     * @see setLevel()
510
-     */
511
-    public function setPriority($priority)
512
-    {
513
-        $this->setLevel($priority);
514
-    } 
507
+	/**
508
+	 * @deprecated Please use {@link setLevel()} instead.
509
+	 * @see setLevel()
510
+	 */
511
+	public function setPriority($priority)
512
+	{
513
+		$this->setLevel($priority);
514
+	} 
515 515
 
516
-    /**
517
-     * Only the Hiearchy class can set the hiearchy of a
518
-     * category.
519
-     *
520
-     * @param LoggerHierarchy &$repository
521
-     */
522
-    public function setHierarchy(&$repository)
523
-    {
524
-        $this->repository =& $repository;
525
-    }
516
+	/**
517
+	 * Only the Hiearchy class can set the hiearchy of a
518
+	 * category.
519
+	 *
520
+	 * @param LoggerHierarchy &$repository
521
+	 */
522
+	public function setHierarchy(&$repository)
523
+	{
524
+		$this->repository =& $repository;
525
+	}
526 526
 
527
-    /**
528
-     * Set the level of this Category.
529
-     *
530
-     * @param LoggerLevel $level a level string or a level costant 
531
-     */
532
-    public function setLevel($level)
533
-    {
534
-        $this->level = $level;
535
-    } 
527
+	/**
528
+	 * Set the level of this Category.
529
+	 *
530
+	 * @param LoggerLevel $level a level string or a level costant 
531
+	 */
532
+	public function setLevel($level)
533
+	{
534
+		$this->level = $level;
535
+	} 
536 536
 
537
-    /**
538
-     * Set the resource bundle to be used with localized logging methods 
539
-     */
540
-    public function setResourceBundle($bundle)
541
-    {
542
-        return;
543
-    } 
537
+	/**
538
+	 * Set the resource bundle to be used with localized logging methods 
539
+	 */
540
+	public function setResourceBundle($bundle)
541
+	{
542
+		return;
543
+	} 
544 544
            
545
-    /**
546
-     * @deprecated use {@link LoggerManager::shutdown()} instead.
547
-     * @see LoggerManager::shutdown()
548
-     */
549
-    public function shutdown()
550
-    {
551
-        LoggerManager::shutdown();
552
-    } 
545
+	/**
546
+	 * @deprecated use {@link LoggerManager::shutdown()} instead.
547
+	 * @see LoggerManager::shutdown()
548
+	 */
549
+	public function shutdown()
550
+	{
551
+		LoggerManager::shutdown();
552
+	} 
553 553
  
554
-    /**
555
-     * Log a message with the WARN level.
556
-     *
557
-     * @param mixed $message message
558
-     * @param mixed $caller caller object or caller string id
559
-     */
560
-    public function warn($message, $caller = null)
561
-    {
562
-        $warnLevel = LoggerLevel::getLevelWarn();
563
-        if ($this->repository->isDisabled($warnLevel)) {
564
-            return;
565
-        }
566
-        if ($warnLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
567
-            $this->forcedLog($this->fqcn, $caller, $warnLevel, $message);
568
-        }
569
-    }
554
+	/**
555
+	 * Log a message with the WARN level.
556
+	 *
557
+	 * @param mixed $message message
558
+	 * @param mixed $caller caller object or caller string id
559
+	 */
560
+	public function warn($message, $caller = null)
561
+	{
562
+		$warnLevel = LoggerLevel::getLevelWarn();
563
+		if ($this->repository->isDisabled($warnLevel)) {
564
+			return;
565
+		}
566
+		if ($warnLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
567
+			$this->forcedLog($this->fqcn, $caller, $warnLevel, $message);
568
+		}
569
+	}
570 570
 
571 571
 }  
572 572
 ?>
Please login to merge, or discard this patch.
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -41,38 +41,38 @@  discard block
 block discarded – undo
41 41
      * appenders of their ancestors by default.
42 42
      * @var boolean
43 43
      */
44
-    public $additive       = true;
44
+    public $additive = true;
45 45
     
46 46
     /**
47 47
      * @var string fully qualified class name
48 48
      */  
49
-    public $fqcn           = 'LoggerCategory';
49
+    public $fqcn = 'LoggerCategory';
50 50
 
51 51
     /**
52 52
      * @var LoggerLevel The assigned level of this category.
53 53
      */
54
-    public $level          = null;
54
+    public $level = null;
55 55
     
56 56
     /**
57 57
      * @var string name of this category.
58 58
      */
59
-    public $name           = '';
59
+    public $name = '';
60 60
     
61 61
     /**
62 62
      * @var Logger The parent of this category.
63 63
      */
64
-    public $parent         = null;
64
+    public $parent = null;
65 65
 
66 66
     /**
67 67
      * @var LoggerHierarchy the object repository
68 68
      */
69
-    public $repository     = null; 
69
+    public $repository = null; 
70 70
 
71 71
     /**
72 72
      * @var array collection of appenders
73 73
      * @see LoggerAppender
74 74
      */
75
-    public $aai            = array();
75
+    public $aai = array();
76 76
     
77 77
 /* --------------------------------------------------------------------------*/
78 78
 /* --------------------------------------------------------------------------*/
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
     public function addAppender(&$newAppender)
97 97
     {
98 98
         $appenderName = $newAppender->getName();
99
-        $this->aai[$appenderName] =& $newAppender;
99
+        $this->aai[$appenderName] = & $newAppender;
100 100
     } 
101 101
             
102 102
     /**
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
         }
161 161
         if ($errorLevel->isGreaterOrEqual($this->getEffectiveLevel())) {
162 162
             $this->forcedLog($this->fqcn, $caller, $errorLevel, $message);
163
-			$this->forcedLog($this->fqcn, $caller, $errorLevel, PHP_EOL.vtlib\Functions::getBacktrace(1));
163
+			$this->forcedLog($this->fqcn, $caller, $errorLevel, PHP_EOL . vtlib\Functions::getBacktrace(1));
164 164
         }
165 165
     }
166 166
   
@@ -230,7 +230,7 @@  discard block
 block discarded – undo
230 230
         $enumAppenders = sizeof($appenderNames);
231 231
         for ($i = 0; $i < $enumAppenders; $i++) {
232 232
             $appenderName = $appenderNames[$i];
233
-            $appenders[] =& $this->aai[$appenderName];
233
+            $appenders[] = & $this->aai[$appenderName];
234 234
         }
235 235
         return $appenders; 
236 236
     }
@@ -287,8 +287,8 @@  discard block
 block discarded – undo
287 287
      */
288 288
     public function getEffectiveLevel()
289 289
     {
290
-        for($c = $this; $c !== null; $c = $c->parent) {
291
-            if($c->level !== null)
290
+        for ($c = $this; $c !== null; $c = $c->parent) {
291
+            if ($c->level !== null)
292 292
             	return $c->level;
293 293
         }
294 294
         return null;
@@ -424,7 +424,7 @@  discard block
 block discarded – undo
424 424
         if ($this->repository->isDisabled($level)) {
425 425
             return false;
426 426
         }
427
-        return (bool)($level->isGreaterOrEqual($this->getEffectiveLevel()));
427
+        return (bool) ($level->isGreaterOrEqual($this->getEffectiveLevel()));
428 428
     } 
429 429
 
430 430
     /**
@@ -501,7 +501,7 @@  discard block
 block discarded – undo
501 501
      */
502 502
     public function setAdditivity($additive) 
503 503
     {
504
-        $this->additive = (bool)$additive;
504
+        $this->additive = (bool) $additive;
505 505
     }
506 506
     
507 507
     /**
@@ -521,7 +521,7 @@  discard block
 block discarded – undo
521 521
      */
522 522
     public function setHierarchy(&$repository)
523 523
     {
524
-        $this->repository =& $repository;
524
+        $this->repository = & $repository;
525 525
     }
526 526
 
527 527
     /**
Please login to merge, or discard this patch.
libraries/log4php.debug/layouts/LoggerXmlLayout.php 2 patches
Indentation   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -50,157 +50,157 @@
 block discarded – undo
50 50
  */
51 51
 class LoggerXmlLayout extends LoggerLayout {
52 52
 
53
-    /**
54
-     * The <b>LocationInfo</b> option takes a boolean value. By default,
55
-     * it is set to false which means there will be no location
56
-     * information output by this layout. If the the option is set to
57
-     * true, then the file name and line number of the statement at the
58
-     * origin of the log statement will be output.
59
-     * @var boolean
60
-     */
61
-    public $locationInfo = true;
53
+	/**
54
+	 * The <b>LocationInfo</b> option takes a boolean value. By default,
55
+	 * it is set to false which means there will be no location
56
+	 * information output by this layout. If the the option is set to
57
+	 * true, then the file name and line number of the statement at the
58
+	 * origin of the log statement will be output.
59
+	 * @var boolean
60
+	 */
61
+	public $locationInfo = true;
62 62
   
63
-    /**
64
-     * @var boolean set the elements namespace
65
-     */
66
-    public $log4jNamespace = false;
63
+	/**
64
+	 * @var boolean set the elements namespace
65
+	 */
66
+	public $log4jNamespace = false;
67 67
     
68 68
     
69
-    /**
70
-     * @var string namespace
71
-     * @private
72
-     */
73
-    public $_namespace = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
69
+	/**
70
+	 * @var string namespace
71
+	 * @private
72
+	 */
73
+	public $_namespace = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
74 74
     
75
-    /**
76
-     * @var string namespace prefix
77
-     * @private
78
-     */
79
-    public $_namespacePrefix = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
75
+	/**
76
+	 * @var string namespace prefix
77
+	 * @private
78
+	 */
79
+	public $_namespacePrefix = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
80 80
      
81
-    /** 
82
-     * No options to activate. 
83
-     */
84
-    public function activateOptions()
85
-    {
86
-        if ($this->getLog4jNamespace()) {
87
-            $this->_namespace        = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS;
88
-            $this->_namespacePrefix  = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX;
89
-        } else {
90
-            $this->_namespace        = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
91
-            $this->_namespacePrefix  = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
92
-        }     
93
-    }
81
+	/** 
82
+	 * No options to activate. 
83
+	 */
84
+	public function activateOptions()
85
+	{
86
+		if ($this->getLog4jNamespace()) {
87
+			$this->_namespace        = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS;
88
+			$this->_namespacePrefix  = LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX;
89
+		} else {
90
+			$this->_namespace        = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS;
91
+			$this->_namespacePrefix  = LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX;
92
+		}     
93
+	}
94 94
     
95
-    /**
96
-     * @return string
97
-     */
98
-    public function getHeader()
99
-    {
100
-        return "<{$this->_namespacePrefix}:eventSet ".
101
-                    "xmlns:{$this->_namespacePrefix}=\"{$this->_namespace}\" ".
102
-                    "version=\"0.3\" ".
103
-                    "includesLocationInfo=\"".($this->getLocationInfo() ? "true" : "false")."\"".
104
-               ">\r\n";
105
-    }
106
-
107
-    /**
108
-     * Formats a {@link LoggerLoggingEvent} in conformance with the log4php.dtd.
109
-     *
110
-     * @param LoggerLoggingEvent $event
111
-     * @return string
112
-     */
113
-    public function format($event)
114
-    {
115
-        $loggerName = $event->getLoggerName();
116
-        $timeStamp  = number_format((float)($event->getTimeStamp() * 1000), 0, '', '');
117
-        $thread     = $event->getThreadName();
118
-        $level      = $event->getLevel();
119
-        $levelStr   = $level->toString();
120
-
121
-        $buf = "<{$this->_namespacePrefix}:event logger=\"{$loggerName}\" level=\"{$levelStr}\" thread=\"{$thread}\" timestamp=\"{$timeStamp}\">\r\n";
122
-        $buf .= "<{$this->_namespacePrefix}:message><![CDATA["; 
123
-        LoggerTransform::appendEscapingCDATA($buf, $event->getRenderedMessage()); 
124
-        $buf .= "]]></{$this->_namespacePrefix}:message>\r\n";        
125
-
126
-        $ndc = $event->getNDC();
127
-        if($ndc !== null) {
128
-            $buf .= "<{$this->_namespacePrefix}:NDC><![CDATA[";
129
-            LoggerTransform::appendEscapingCDATA($buf, $ndc);
130
-            $buf .= "]]></{$this->_namespacePrefix}:NDC>\r\n";       
131
-        }
132
-
133
-        if ($this->getLocationInfo()) {
134
-            $locationInfo = $event->getLocationInformation();
135
-            $buf .= "<{$this->_namespacePrefix}:locationInfo ". 
136
-                    "class=\"" . $locationInfo->getClassName() . "\" ".
137
-                    "file=\"" .  htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" ".
138
-                    "line=\"" .  $locationInfo->getLineNumber() . "\" ".
139
-                    "method=\"" . $locationInfo->getMethodName() . "\" ";
140
-            $buf .= "/>\r\n";
141
-
142
-        }
143
-
144
-        $buf .= "</{$this->_namespacePrefix}:event>\r\n\r\n";
95
+	/**
96
+	 * @return string
97
+	 */
98
+	public function getHeader()
99
+	{
100
+		return "<{$this->_namespacePrefix}:eventSet ".
101
+					"xmlns:{$this->_namespacePrefix}=\"{$this->_namespace}\" ".
102
+					"version=\"0.3\" ".
103
+					"includesLocationInfo=\"".($this->getLocationInfo() ? "true" : "false")."\"".
104
+			   ">\r\n";
105
+	}
106
+
107
+	/**
108
+	 * Formats a {@link LoggerLoggingEvent} in conformance with the log4php.dtd.
109
+	 *
110
+	 * @param LoggerLoggingEvent $event
111
+	 * @return string
112
+	 */
113
+	public function format($event)
114
+	{
115
+		$loggerName = $event->getLoggerName();
116
+		$timeStamp  = number_format((float)($event->getTimeStamp() * 1000), 0, '', '');
117
+		$thread     = $event->getThreadName();
118
+		$level      = $event->getLevel();
119
+		$levelStr   = $level->toString();
120
+
121
+		$buf = "<{$this->_namespacePrefix}:event logger=\"{$loggerName}\" level=\"{$levelStr}\" thread=\"{$thread}\" timestamp=\"{$timeStamp}\">\r\n";
122
+		$buf .= "<{$this->_namespacePrefix}:message><![CDATA["; 
123
+		LoggerTransform::appendEscapingCDATA($buf, $event->getRenderedMessage()); 
124
+		$buf .= "]]></{$this->_namespacePrefix}:message>\r\n";        
125
+
126
+		$ndc = $event->getNDC();
127
+		if($ndc !== null) {
128
+			$buf .= "<{$this->_namespacePrefix}:NDC><![CDATA[";
129
+			LoggerTransform::appendEscapingCDATA($buf, $ndc);
130
+			$buf .= "]]></{$this->_namespacePrefix}:NDC>\r\n";       
131
+		}
132
+
133
+		if ($this->getLocationInfo()) {
134
+			$locationInfo = $event->getLocationInformation();
135
+			$buf .= "<{$this->_namespacePrefix}:locationInfo ". 
136
+					"class=\"" . $locationInfo->getClassName() . "\" ".
137
+					"file=\"" .  htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" ".
138
+					"line=\"" .  $locationInfo->getLineNumber() . "\" ".
139
+					"method=\"" . $locationInfo->getMethodName() . "\" ";
140
+			$buf .= "/>\r\n";
141
+
142
+		}
143
+
144
+		$buf .= "</{$this->_namespacePrefix}:event>\r\n\r\n";
145 145
         
146
-        return $buf;
146
+		return $buf;
147 147
 
148
-    }
148
+	}
149 149
     
150
-    /**
151
-     * @return string
152
-     */
153
-    public function getFooter()
154
-    {
155
-
156
-        return "</{$this->_namespacePrefix}:eventSet>\r\n";
157
-    }
150
+	/**
151
+	 * @return string
152
+	 */
153
+	public function getFooter()
154
+	{
155
+
156
+		return "</{$this->_namespacePrefix}:eventSet>\r\n";
157
+	}
158 158
     
159
-    /**
160
-     * @return boolean
161
-     */
162
-    public function getLocationInfo()
163
-    {
164
-        return $this->locationInfo;
165
-    }
159
+	/**
160
+	 * @return boolean
161
+	 */
162
+	public function getLocationInfo()
163
+	{
164
+		return $this->locationInfo;
165
+	}
166 166
   
167
-    /**
168
-     * @return boolean
169
-     */
170
-    public function getLog4jNamespace()
171
-    {
172
-        return $this->log4jNamespace;
173
-    }
174
-
175
-    /**
176
-     * The XMLLayout prints and does not ignore exceptions. Hence the
177
-     * return value <b>false</b>.
178
-     * @return boolean
179
-     */
180
-    public function ignoresThrowable()
181
-    {
182
-        return false;
183
-    }
167
+	/**
168
+	 * @return boolean
169
+	 */
170
+	public function getLog4jNamespace()
171
+	{
172
+		return $this->log4jNamespace;
173
+	}
174
+
175
+	/**
176
+	 * The XMLLayout prints and does not ignore exceptions. Hence the
177
+	 * return value <b>false</b>.
178
+	 * @return boolean
179
+	 */
180
+	public function ignoresThrowable()
181
+	{
182
+		return false;
183
+	}
184 184
     
185
-    /**
186
-     * The {@link $locationInfo} option takes a boolean value. By default,
187
-     * it is set to false which means there will be no location
188
-     * information output by this layout. If the the option is set to
189
-     * true, then the file name and line number of the statement at the
190
-     * origin of the log statement will be output.
191
-     */
192
-    public function setLocationInfo($flag)
193
-    {
194
-        $this->locationInfo = LoggerOptionConverter::toBoolean($flag, true);
195
-    }
185
+	/**
186
+	 * The {@link $locationInfo} option takes a boolean value. By default,
187
+	 * it is set to false which means there will be no location
188
+	 * information output by this layout. If the the option is set to
189
+	 * true, then the file name and line number of the statement at the
190
+	 * origin of the log statement will be output.
191
+	 */
192
+	public function setLocationInfo($flag)
193
+	{
194
+		$this->locationInfo = LoggerOptionConverter::toBoolean($flag, true);
195
+	}
196 196
   
197
-    /**
198
-     * @param boolean
199
-     */
200
-    public function setLog4jNamespace($flag)
201
-    {
202
-        $this->log4jNamespace = LoggerOptionConverter::toBoolean($flag, true);
203
-    }
197
+	/**
198
+	 * @param boolean
199
+	 */
200
+	public function setLog4jNamespace($flag)
201
+	{
202
+		$this->log4jNamespace = LoggerOptionConverter::toBoolean($flag, true);
203
+	}
204 204
 }
205 205
 
206 206
 ?>
207 207
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -22,11 +22,11 @@  discard block
 block discarded – undo
22 22
  */
23 23
 if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
24 24
 
25
-define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX',     'log4j');
26
-define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS',            'http://jakarta.apache.org/log4j/');
25
+define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS_PREFIX', 'log4j');
26
+define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4J_NS', 'http://jakarta.apache.org/log4j/');
27 27
 
28
-define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX',   'log4php');
29
-define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS',          'http://www.vxr.it/log4php/');
28
+define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS_PREFIX', 'log4php');
29
+define('LOG4PHP_LOGGER_XML_LAYOUT_LOG4PHP_NS', 'http://www.vxr.it/log4php/');
30 30
 
31 31
 /**
32 32
  */
@@ -97,10 +97,10 @@  discard block
 block discarded – undo
97 97
      */
98 98
     public function getHeader()
99 99
     {
100
-        return "<{$this->_namespacePrefix}:eventSet ".
101
-                    "xmlns:{$this->_namespacePrefix}=\"{$this->_namespace}\" ".
102
-                    "version=\"0.3\" ".
103
-                    "includesLocationInfo=\"".($this->getLocationInfo() ? "true" : "false")."\"".
100
+        return "<{$this->_namespacePrefix}:eventSet " .
101
+                    "xmlns:{$this->_namespacePrefix}=\"{$this->_namespace}\" " .
102
+                    "version=\"0.3\" " .
103
+                    "includesLocationInfo=\"" . ($this->getLocationInfo() ? "true" : "false") . "\"" .
104 104
                ">\r\n";
105 105
     }
106 106
 
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
     public function format($event)
114 114
     {
115 115
         $loggerName = $event->getLoggerName();
116
-        $timeStamp  = number_format((float)($event->getTimeStamp() * 1000), 0, '', '');
116
+        $timeStamp  = number_format((float) ($event->getTimeStamp() * 1000), 0, '', '');
117 117
         $thread     = $event->getThreadName();
118 118
         $level      = $event->getLevel();
119 119
         $levelStr   = $level->toString();
@@ -124,7 +124,7 @@  discard block
 block discarded – undo
124 124
         $buf .= "]]></{$this->_namespacePrefix}:message>\r\n";        
125 125
 
126 126
         $ndc = $event->getNDC();
127
-        if($ndc !== null) {
127
+        if ($ndc !== null) {
128 128
             $buf .= "<{$this->_namespacePrefix}:NDC><![CDATA[";
129 129
             LoggerTransform::appendEscapingCDATA($buf, $ndc);
130 130
             $buf .= "]]></{$this->_namespacePrefix}:NDC>\r\n";       
@@ -132,10 +132,10 @@  discard block
 block discarded – undo
132 132
 
133 133
         if ($this->getLocationInfo()) {
134 134
             $locationInfo = $event->getLocationInformation();
135
-            $buf .= "<{$this->_namespacePrefix}:locationInfo ". 
136
-                    "class=\"" . $locationInfo->getClassName() . "\" ".
137
-                    "file=\"" .  htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" ".
138
-                    "line=\"" .  $locationInfo->getLineNumber() . "\" ".
135
+            $buf .= "<{$this->_namespacePrefix}:locationInfo " . 
136
+                    "class=\"" . $locationInfo->getClassName() . "\" " .
137
+                    "file=\"" . htmlentities($locationInfo->getFileName(), ENT_QUOTES) . "\" " .
138
+                    "line=\"" . $locationInfo->getLineNumber() . "\" " .
139 139
                     "method=\"" . $locationInfo->getMethodName() . "\" ";
140 140
             $buf .= "/>\r\n";
141 141
 
Please login to merge, or discard this patch.
libraries/log4php.debug/layouts/LoggerLayoutTTCC.php 2 patches
Indentation   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -23,17 +23,17 @@  discard block
 block discarded – undo
23 23
 if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
24 24
 
25 25
 if (!defined('LOG4PHP_LINE_SEP')) {
26
-    if (substr(php_uname(), 0, 7) == "Windows") { 
27
-        /**
28
-         * @ignore
29
-         */
30
-        define('LOG4PHP_LINE_SEP', "\r\n");
31
-    } else {
32
-        /**
33
-         * @ignore
34
-         */
35
-        define('LOG4PHP_LINE_SEP', "\n");
36
-    }
26
+	if (substr(php_uname(), 0, 7) == "Windows") { 
27
+		/**
28
+		 * @ignore
29
+		 */
30
+		define('LOG4PHP_LINE_SEP', "\r\n");
31
+	} else {
32
+		/**
33
+		 * @ignore
34
+		 */
35
+		define('LOG4PHP_LINE_SEP', "\n");
36
+	}
37 37
 }
38 38
  
39 39
 /**
@@ -76,165 +76,165 @@  discard block
 block discarded – undo
76 76
  */
77 77
 class LoggerLayoutTTCC extends LoggerLayout {
78 78
 
79
-    // Internal representation of options
80
-    public $threadPrinting    = true;
81
-    public $categoryPrefixing = true;
82
-    public $contextPrinting   = true;
83
-    public $microSecondsPrinting = true;
79
+	// Internal representation of options
80
+	public $threadPrinting    = true;
81
+	public $categoryPrefixing = true;
82
+	public $contextPrinting   = true;
83
+	public $microSecondsPrinting = true;
84 84
     
85
-    /**
86
-     * @var string date format. See {@link PHP_MANUAL#strftime} for details
87
-     */
88
-    public $dateFormat = '%c';
85
+	/**
86
+	 * @var string date format. See {@link PHP_MANUAL#strftime} for details
87
+	 */
88
+	public $dateFormat = '%c';
89 89
 
90
-    /**
91
-     * Constructor
92
-     *
93
-     * @param string date format
94
-     * @see dateFormat
95
-     */
96
-    public function LoggerLayoutTTCC($dateFormat = '')
97
-    {
98
-        if (!empty($dateFormat))
99
-            $this->dateFormat = $dateFormat;
100
-        return;
101
-    }
90
+	/**
91
+	 * Constructor
92
+	 *
93
+	 * @param string date format
94
+	 * @see dateFormat
95
+	 */
96
+	public function LoggerLayoutTTCC($dateFormat = '')
97
+	{
98
+		if (!empty($dateFormat))
99
+			$this->dateFormat = $dateFormat;
100
+		return;
101
+	}
102 102
 
103
-    /**
104
-     * The <b>ThreadPrinting</b> option specifies whether the name of the
105
-     * current thread is part of log output or not. This is true by default.
106
-     */
107
-    public function setThreadPrinting($threadPrinting)
108
-    {
103
+	/**
104
+	 * The <b>ThreadPrinting</b> option specifies whether the name of the
105
+	 * current thread is part of log output or not. This is true by default.
106
+	 */
107
+	public function setThreadPrinting($threadPrinting)
108
+	{
109 109
         
110
-        $this->threadPrinting = is_bool($threadPrinting) ? 
111
-            $threadPrinting : 
112
-            (bool)(strtolower($threadPrinting) == 'true'); 
113
-    }
110
+		$this->threadPrinting = is_bool($threadPrinting) ? 
111
+			$threadPrinting : 
112
+			(bool)(strtolower($threadPrinting) == 'true'); 
113
+	}
114 114
 
115
-    /**
116
-     * @return boolean Returns value of the <b>ThreadPrinting</b> option.
117
-     */
118
-    public function getThreadPrinting() {
119
-        return $this->threadPrinting;
120
-    }
115
+	/**
116
+	 * @return boolean Returns value of the <b>ThreadPrinting</b> option.
117
+	 */
118
+	public function getThreadPrinting() {
119
+		return $this->threadPrinting;
120
+	}
121 121
 
122
-    /**
123
-     * The <b>CategoryPrefixing</b> option specifies whether {@link Category}
124
-     * name is part of log output or not. This is true by default.
125
-     */
126
-    public function setCategoryPrefixing($categoryPrefixing)
127
-    {
128
-        $this->categoryPrefixing = is_bool($categoryPrefixing) ?
129
-            $categoryPrefixing :
130
-            (bool)(strtolower($categoryPrefixing) == 'true');
131
-    }
122
+	/**
123
+	 * The <b>CategoryPrefixing</b> option specifies whether {@link Category}
124
+	 * name is part of log output or not. This is true by default.
125
+	 */
126
+	public function setCategoryPrefixing($categoryPrefixing)
127
+	{
128
+		$this->categoryPrefixing = is_bool($categoryPrefixing) ?
129
+			$categoryPrefixing :
130
+			(bool)(strtolower($categoryPrefixing) == 'true');
131
+	}
132 132
 
133
-    /**
134
-     * @return boolean Returns value of the <b>CategoryPrefixing</b> option.
135
-     */
136
-    public function getCategoryPrefixing() {
137
-        return $this->categoryPrefixing;
138
-    }
133
+	/**
134
+	 * @return boolean Returns value of the <b>CategoryPrefixing</b> option.
135
+	 */
136
+	public function getCategoryPrefixing() {
137
+		return $this->categoryPrefixing;
138
+	}
139 139
 
140
-    /**
141
-     * The <b>ContextPrinting</b> option specifies log output will include
142
-     * the nested context information belonging to the current thread.
143
-     * This is true by default.
144
-     */
145
-    public function setContextPrinting($contextPrinting) {
146
-        $this->contextPrinting = is_bool($contextPrinting) ? 
147
-            $contextPrinting : 
148
-            (bool)(strtolower($contextPrinting) == 'true'); 
149
-    }
140
+	/**
141
+	 * The <b>ContextPrinting</b> option specifies log output will include
142
+	 * the nested context information belonging to the current thread.
143
+	 * This is true by default.
144
+	 */
145
+	public function setContextPrinting($contextPrinting) {
146
+		$this->contextPrinting = is_bool($contextPrinting) ? 
147
+			$contextPrinting : 
148
+			(bool)(strtolower($contextPrinting) == 'true'); 
149
+	}
150 150
 
151
-    /**
152
-     * @return boolean Returns value of the <b>ContextPrinting</b> option.
153
-     */
154
-    public function getContextPrinting()
155
-    {
156
-        return $this->contextPrinting;
157
-    }
151
+	/**
152
+	 * @return boolean Returns value of the <b>ContextPrinting</b> option.
153
+	 */
154
+	public function getContextPrinting()
155
+	{
156
+		return $this->contextPrinting;
157
+	}
158 158
     
159
-    /**
160
-     * The <b>MicroSecondsPrinting</b> option specifies if microseconds infos
161
-     * should be printed at the end of timestamp.
162
-     * This is true by default.
163
-     */
164
-    public function setMicroSecondsPrinting($microSecondsPrinting) {
165
-        $this->microSecondsPrinting = is_bool($microSecondsPrinting) ? 
166
-            $microSecondsPrinting : 
167
-            (bool)(strtolower($microSecondsPrinting) == 'true'); 
168
-    }
159
+	/**
160
+	 * The <b>MicroSecondsPrinting</b> option specifies if microseconds infos
161
+	 * should be printed at the end of timestamp.
162
+	 * This is true by default.
163
+	 */
164
+	public function setMicroSecondsPrinting($microSecondsPrinting) {
165
+		$this->microSecondsPrinting = is_bool($microSecondsPrinting) ? 
166
+			$microSecondsPrinting : 
167
+			(bool)(strtolower($microSecondsPrinting) == 'true'); 
168
+	}
169 169
 
170
-    /**
171
-     * @return boolean Returns value of the <b>MicroSecondsPrinting</b> option.
172
-     */
173
-    public function getMicroSecondsPrinting()
174
-    {
175
-        return $this->microSecondsPrinting;
176
-    }
170
+	/**
171
+	 * @return boolean Returns value of the <b>MicroSecondsPrinting</b> option.
172
+	 */
173
+	public function getMicroSecondsPrinting()
174
+	{
175
+		return $this->microSecondsPrinting;
176
+	}
177 177
     
178 178
     
179
-    public function setDateFormat($dateFormat)
180
-    {
181
-        $this->dateFormat = $dateFormat;
182
-    }
179
+	public function setDateFormat($dateFormat)
180
+	{
181
+		$this->dateFormat = $dateFormat;
182
+	}
183 183
     
184
-    /**
185
-     * @return string
186
-     */
187
-    public function getDateFormat()
188
-    {
189
-        return $this->dateFormat;
190
-    }
184
+	/**
185
+	 * @return string
186
+	 */
187
+	public function getDateFormat()
188
+	{
189
+		return $this->dateFormat;
190
+	}
191 191
 
192
-    /**
193
-     * In addition to the level of the statement and message, the
194
-     * returned string includes time, thread, category.
195
-     * <p>Time, thread, category are printed depending on options.
196
-     *
197
-     * @param LoggerLoggingEvent $event
198
-     * @return string
199
-     */
200
-    public function format($event)
201
-    {
202
-        $timeStamp = (float)$event->getTimeStamp();
203
-        $format = strftime($this->dateFormat, (int)$timeStamp);
192
+	/**
193
+	 * In addition to the level of the statement and message, the
194
+	 * returned string includes time, thread, category.
195
+	 * <p>Time, thread, category are printed depending on options.
196
+	 *
197
+	 * @param LoggerLoggingEvent $event
198
+	 * @return string
199
+	 */
200
+	public function format($event)
201
+	{
202
+		$timeStamp = (float)$event->getTimeStamp();
203
+		$format = strftime($this->dateFormat, (int)$timeStamp);
204 204
         
205
-        if ($this->microSecondsPrinting) {
206
-            $usecs = round(($timeStamp - (int)$timeStamp) * 1000);
207
-            $format .= sprintf(',%03d', $usecs);
208
-        }
205
+		if ($this->microSecondsPrinting) {
206
+			$usecs = round(($timeStamp - (int)$timeStamp) * 1000);
207
+			$format .= sprintf(',%03d', $usecs);
208
+		}
209 209
             
210
-        $format .= ' ';
210
+		$format .= ' ';
211 211
         
212
-        if ($this->threadPrinting)
213
-            $format .= '['.getmypid().'] ';
212
+		if ($this->threadPrinting)
213
+			$format .= '['.getmypid().'] ';
214 214
        
215
-        $level = $event->getLevel();
216
-        $format .= $level->toString().' ';
215
+		$level = $event->getLevel();
216
+		$format .= $level->toString().' ';
217 217
         
218
-        if($this->categoryPrefixing) {
219
-            $format .= $event->getLoggerName().' ';
220
-        }
218
+		if($this->categoryPrefixing) {
219
+			$format .= $event->getLoggerName().' ';
220
+		}
221 221
        
222
-        if($this->contextPrinting) {
223
-            $ndc = $event->getNDC();
224
-            if($ndc !== null) {
225
-    	        $format .= $ndc.' ';
226
-            }
227
-        }
222
+		if($this->contextPrinting) {
223
+			$ndc = $event->getNDC();
224
+			if($ndc !== null) {
225
+				$format .= $ndc.' ';
226
+			}
227
+		}
228 228
         
229
-        $format .= '- '.$event->getRenderedMessage();
230
-        $format .= LOG4PHP_LINE_SEP;
229
+		$format .= '- '.$event->getRenderedMessage();
230
+		$format .= LOG4PHP_LINE_SEP;
231 231
         
232
-        return $format;
233
-    }
232
+		return $format;
233
+	}
234 234
 
235
-    public function ignoresThrowable()
236
-    {
237
-        return true;
238
-    }
235
+	public function ignoresThrowable()
236
+	{
237
+		return true;
238
+	}
239 239
 }
240 240
 ?>
241 241
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +17 added lines, -21 removed lines patch added patch discarded remove patch
@@ -44,13 +44,13 @@  discard block
 block discarded – undo
44 44
  * String constant designating no time information. Current value of
45 45
  * this constant is <b>NULL</b>.
46 46
  */
47
-define ('LOG4PHP_LOGGER_LAYOUT_NULL_DATE_FORMAT',   'NULL');
47
+define('LOG4PHP_LOGGER_LAYOUT_NULL_DATE_FORMAT', 'NULL');
48 48
 
49 49
 /**
50 50
  * String constant designating relative time. Current value of
51 51
  * this constant is <b>RELATIVE</b>.
52 52
  */
53
-define ('LOG4PHP_LOGGER_LAYOUT_RELATIVE_TIME_DATE_FORMAT', 'RELATIVE');
53
+define('LOG4PHP_LOGGER_LAYOUT_RELATIVE_TIME_DATE_FORMAT', 'RELATIVE');
54 54
 
55 55
 /**
56 56
  * TTCC layout format consists of time, thread, category and nested
@@ -108,8 +108,7 @@  discard block
 block discarded – undo
108 108
     {
109 109
         
110 110
         $this->threadPrinting = is_bool($threadPrinting) ? 
111
-            $threadPrinting : 
112
-            (bool)(strtolower($threadPrinting) == 'true'); 
111
+            $threadPrinting : (bool) (strtolower($threadPrinting) == 'true'); 
113 112
     }
114 113
 
115 114
     /**
@@ -126,8 +125,7 @@  discard block
 block discarded – undo
126 125
     public function setCategoryPrefixing($categoryPrefixing)
127 126
     {
128 127
         $this->categoryPrefixing = is_bool($categoryPrefixing) ?
129
-            $categoryPrefixing :
130
-            (bool)(strtolower($categoryPrefixing) == 'true');
128
+            $categoryPrefixing : (bool) (strtolower($categoryPrefixing) == 'true');
131 129
     }
132 130
 
133 131
     /**
@@ -144,8 +142,7 @@  discard block
 block discarded – undo
144 142
      */
145 143
     public function setContextPrinting($contextPrinting) {
146 144
         $this->contextPrinting = is_bool($contextPrinting) ? 
147
-            $contextPrinting : 
148
-            (bool)(strtolower($contextPrinting) == 'true'); 
145
+            $contextPrinting : (bool) (strtolower($contextPrinting) == 'true'); 
149 146
     }
150 147
 
151 148
     /**
@@ -163,8 +160,7 @@  discard block
 block discarded – undo
163 160
      */
164 161
     public function setMicroSecondsPrinting($microSecondsPrinting) {
165 162
         $this->microSecondsPrinting = is_bool($microSecondsPrinting) ? 
166
-            $microSecondsPrinting : 
167
-            (bool)(strtolower($microSecondsPrinting) == 'true'); 
163
+            $microSecondsPrinting : (bool) (strtolower($microSecondsPrinting) == 'true'); 
168 164
     }
169 165
 
170 166
     /**
@@ -199,34 +195,34 @@  discard block
 block discarded – undo
199 195
      */
200 196
     public function format($event)
201 197
     {
202
-        $timeStamp = (float)$event->getTimeStamp();
203
-        $format = strftime($this->dateFormat, (int)$timeStamp);
198
+        $timeStamp = (float) $event->getTimeStamp();
199
+        $format = strftime($this->dateFormat, (int) $timeStamp);
204 200
         
205 201
         if ($this->microSecondsPrinting) {
206
-            $usecs = round(($timeStamp - (int)$timeStamp) * 1000);
202
+            $usecs = round(($timeStamp - (int) $timeStamp) * 1000);
207 203
             $format .= sprintf(',%03d', $usecs);
208 204
         }
209 205
             
210 206
         $format .= ' ';
211 207
         
212 208
         if ($this->threadPrinting)
213
-            $format .= '['.getmypid().'] ';
209
+            $format .= '[' . getmypid() . '] ';
214 210
        
215 211
         $level = $event->getLevel();
216
-        $format .= $level->toString().' ';
212
+        $format .= $level->toString() . ' ';
217 213
         
218
-        if($this->categoryPrefixing) {
219
-            $format .= $event->getLoggerName().' ';
214
+        if ($this->categoryPrefixing) {
215
+            $format .= $event->getLoggerName() . ' ';
220 216
         }
221 217
        
222
-        if($this->contextPrinting) {
218
+        if ($this->contextPrinting) {
223 219
             $ndc = $event->getNDC();
224
-            if($ndc !== null) {
225
-    	        $format .= $ndc.' ';
220
+            if ($ndc !== null) {
221
+    	        $format .= $ndc . ' ';
226 222
             }
227 223
         }
228 224
         
229
-        $format .= '- '.$event->getRenderedMessage();
225
+        $format .= '- ' . $event->getRenderedMessage();
230 226
         $format .= LOG4PHP_LINE_SEP;
231 227
         
232 228
         return $format;
Please login to merge, or discard this patch.
libraries/log4php.debug/layouts/LoggerLayoutHtml.php 1 patch
Indentation   +185 added lines, -185 removed lines patch added patch discarded remove patch
@@ -23,17 +23,17 @@  discard block
 block discarded – undo
23 23
 if (!defined('LOG4PHP_DIR')) define('LOG4PHP_DIR', dirname(__FILE__) . '/..');
24 24
 
25 25
 if (!defined('LOG4PHP_LINE_SEP')) {
26
-    if (substr(php_uname(), 0, 7) == "Windows") { 
27
-        /**
28
-         * @ignore
29
-         */
30
-        define('LOG4PHP_LINE_SEP', "\r\n");
31
-    } else {
32
-        /**
33
-         * @ignore
34
-         */
35
-        define('LOG4PHP_LINE_SEP', "\n");
36
-    }
26
+	if (substr(php_uname(), 0, 7) == "Windows") { 
27
+		/**
28
+		 * @ignore
29
+		 */
30
+		define('LOG4PHP_LINE_SEP', "\r\n");
31
+	} else {
32
+		/**
33
+		 * @ignore
34
+		 */
35
+		define('LOG4PHP_LINE_SEP', "\n");
36
+	}
37 37
 }
38 38
  
39 39
 /**
@@ -53,204 +53,204 @@  discard block
 block discarded – undo
53 53
  */
54 54
 class LoggerLayoutHtml extends LoggerLayout {
55 55
 
56
-    /**
57
-     * The <b>LocationInfo</b> option takes a boolean value. By
58
-     * default, it is set to false which means there will be no location
59
-     * information output by this layout. If the the option is set to
60
-     * true, then the file name and line number of the statement
61
-     * at the origin of the log statement will be output.
62
-     *
63
-     * <p>If you are embedding this layout within a {@link LoggerAppenderMail}
64
-     * or a {@link LoggerAppenderMailEvent} then make sure to set the
65
-     * <b>LocationInfo</b> option of that appender as well.
66
-     * @var boolean
67
-     */
68
-    public $locationInfo = false;
56
+	/**
57
+	 * The <b>LocationInfo</b> option takes a boolean value. By
58
+	 * default, it is set to false which means there will be no location
59
+	 * information output by this layout. If the the option is set to
60
+	 * true, then the file name and line number of the statement
61
+	 * at the origin of the log statement will be output.
62
+	 *
63
+	 * <p>If you are embedding this layout within a {@link LoggerAppenderMail}
64
+	 * or a {@link LoggerAppenderMailEvent} then make sure to set the
65
+	 * <b>LocationInfo</b> option of that appender as well.
66
+	 * @var boolean
67
+	 */
68
+	public $locationInfo = false;
69 69
     
70
-    /**
71
-     * The <b>Title</b> option takes a String value. This option sets the
72
-     * document title of the generated HTML document.
73
-     * Defaults to 'Log4php Log Messages'.
74
-     * @var string
75
-     */
76
-    public $title = "Log4php Log Messages";
70
+	/**
71
+	 * The <b>Title</b> option takes a String value. This option sets the
72
+	 * document title of the generated HTML document.
73
+	 * Defaults to 'Log4php Log Messages'.
74
+	 * @var string
75
+	 */
76
+	public $title = "Log4php Log Messages";
77 77
     
78
-    /**
79
-     * Constructor
80
-     */
81
-    public function LoggerLayoutHtml()
82
-    {
83
-        return;
84
-    }
78
+	/**
79
+	 * Constructor
80
+	 */
81
+	public function LoggerLayoutHtml()
82
+	{
83
+		return;
84
+	}
85 85
     
86
-    /**
87
-     * The <b>LocationInfo</b> option takes a boolean value. By
88
-     * default, it is set to false which means there will be no location
89
-     * information output by this layout. If the the option is set to
90
-     * true, then the file name and line number of the statement
91
-     * at the origin of the log statement will be output.
92
-     *
93
-     * <p>If you are embedding this layout within a {@link LoggerAppenderMail}
94
-     * or a {@link LoggerAppenderMailEvent} then make sure to set the
95
-     * <b>LocationInfo</b> option of that appender as well.
96
-     */
97
-    public function setLocationInfo($flag)
98
-    {
99
-        if (is_bool($flag)) {
100
-            $this->locationInfo = $flag;
101
-        } else {
102
-            $this->locationInfo = (bool)(strtolower($flag) == 'true');
103
-        }
104
-    }
86
+	/**
87
+	 * The <b>LocationInfo</b> option takes a boolean value. By
88
+	 * default, it is set to false which means there will be no location
89
+	 * information output by this layout. If the the option is set to
90
+	 * true, then the file name and line number of the statement
91
+	 * at the origin of the log statement will be output.
92
+	 *
93
+	 * <p>If you are embedding this layout within a {@link LoggerAppenderMail}
94
+	 * or a {@link LoggerAppenderMailEvent} then make sure to set the
95
+	 * <b>LocationInfo</b> option of that appender as well.
96
+	 */
97
+	public function setLocationInfo($flag)
98
+	{
99
+		if (is_bool($flag)) {
100
+			$this->locationInfo = $flag;
101
+		} else {
102
+			$this->locationInfo = (bool)(strtolower($flag) == 'true');
103
+		}
104
+	}
105 105
 
106
-    /**
107
-     * Returns the current value of the <b>LocationInfo</b> option.
108
-     */
109
-    public function getLocationInfo()
110
-    {
111
-        return $this->locationInfo;
112
-    }
106
+	/**
107
+	 * Returns the current value of the <b>LocationInfo</b> option.
108
+	 */
109
+	public function getLocationInfo()
110
+	{
111
+		return $this->locationInfo;
112
+	}
113 113
     
114
-    /**
115
-     * The <b>Title</b> option takes a String value. This option sets the
116
-     * document title of the generated HTML document.
117
-     * Defaults to 'Log4php Log Messages'.
118
-     */
119
-    public function setTitle($title)
120
-    {
121
-        $this->title = $title;
122
-    }
114
+	/**
115
+	 * The <b>Title</b> option takes a String value. This option sets the
116
+	 * document title of the generated HTML document.
117
+	 * Defaults to 'Log4php Log Messages'.
118
+	 */
119
+	public function setTitle($title)
120
+	{
121
+		$this->title = $title;
122
+	}
123 123
 
124
-    /**
125
-     * @return string Returns the current value of the <b>Title</b> option.
126
-     */
127
-    public function getTitle()
128
-    {
129
-        return $this->title;
130
-    }
124
+	/**
125
+	 * @return string Returns the current value of the <b>Title</b> option.
126
+	 */
127
+	public function getTitle()
128
+	{
129
+		return $this->title;
130
+	}
131 131
     
132
-    /**
133
-     * @return string Returns the content type output by this layout, i.e "text/html".
134
-     */
135
-    public function getContentType()
136
-    {
137
-        return "text/html";
138
-    }
132
+	/**
133
+	 * @return string Returns the content type output by this layout, i.e "text/html".
134
+	 */
135
+	public function getContentType()
136
+	{
137
+		return "text/html";
138
+	}
139 139
     
140
-    /**
141
-     * No options to activate.
142
-     */
143
-    public function activateOptions()
144
-    {
145
-        return true;
146
-    }
140
+	/**
141
+	 * No options to activate.
142
+	 */
143
+	public function activateOptions()
144
+	{
145
+		return true;
146
+	}
147 147
     
148
-    /**
149
-     * @param LoggerLoggingEvent $event
150
-     * @return string
151
-     */
152
-    public function format($event)
153
-    {
154
-        $sbuf = LOG4PHP_LINE_SEP . "<tr>" . LOG4PHP_LINE_SEP;
148
+	/**
149
+	 * @param LoggerLoggingEvent $event
150
+	 * @return string
151
+	 */
152
+	public function format($event)
153
+	{
154
+		$sbuf = LOG4PHP_LINE_SEP . "<tr>" . LOG4PHP_LINE_SEP;
155 155
     
156
-        $sbuf .= "<td>";
156
+		$sbuf .= "<td>";
157 157
         
158
-        $eventTime = (float)$event->getTimeStamp();
159
-        $eventStartTime = (float)LoggerLoggingEvent::getStartTime();
160
-        $sbuf .= number_format(($eventTime - $eventStartTime) * 1000, 0, '', '');
161
-        $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
158
+		$eventTime = (float)$event->getTimeStamp();
159
+		$eventStartTime = (float)LoggerLoggingEvent::getStartTime();
160
+		$sbuf .= number_format(($eventTime - $eventStartTime) * 1000, 0, '', '');
161
+		$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
162 162
     
163
-        $sbuf .= "<td title=\"" . $event->getThreadName() . " thread\">";
164
-        $sbuf .= $event->getThreadName();
165
-        $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
163
+		$sbuf .= "<td title=\"" . $event->getThreadName() . " thread\">";
164
+		$sbuf .= $event->getThreadName();
165
+		$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
166 166
     
167
-        $sbuf .= "<td title=\"Level\">";
167
+		$sbuf .= "<td title=\"Level\">";
168 168
         
169
-        $level = $event->getLevel();
169
+		$level = $event->getLevel();
170 170
         
171
-        if ($level->equals(LoggerLevel::getLevelDebug())) {
172
-          $sbuf .= "<font color=\"#339933\">";
173
-          $sbuf .= $level->toString();
174
-          $sbuf .= "</font>";
175
-        }elseif($level->equals(LoggerLevel::getLevelWarn())) {
176
-          $sbuf .= "<font color=\"#993300\"><strong>";
177
-          $sbuf .= $level->toString();
178
-          $sbuf .= "</strong></font>";
179
-        } else {
180
-          $sbuf .= $level->toString();
181
-        }
182
-        $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
171
+		if ($level->equals(LoggerLevel::getLevelDebug())) {
172
+		  $sbuf .= "<font color=\"#339933\">";
173
+		  $sbuf .= $level->toString();
174
+		  $sbuf .= "</font>";
175
+		}elseif($level->equals(LoggerLevel::getLevelWarn())) {
176
+		  $sbuf .= "<font color=\"#993300\"><strong>";
177
+		  $sbuf .= $level->toString();
178
+		  $sbuf .= "</strong></font>";
179
+		} else {
180
+		  $sbuf .= $level->toString();
181
+		}
182
+		$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
183 183
     
184
-        $sbuf .= "<td title=\"" . htmlentities($event->getLoggerName(), ENT_QUOTES) . " category\">";
185
-        $sbuf .= htmlentities($event->getLoggerName(), ENT_QUOTES);
186
-        $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
184
+		$sbuf .= "<td title=\"" . htmlentities($event->getLoggerName(), ENT_QUOTES) . " category\">";
185
+		$sbuf .= htmlentities($event->getLoggerName(), ENT_QUOTES);
186
+		$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
187 187
     
188
-        if ($this->locationInfo) {
189
-            $locInfo = $event->getLocationInformation();
190
-            $sbuf .= "<td>";
191
-            $sbuf .= htmlentities($locInfo->getFileName(), ENT_QUOTES). ':' . $locInfo->getLineNumber();
192
-            $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
193
-        }
188
+		if ($this->locationInfo) {
189
+			$locInfo = $event->getLocationInformation();
190
+			$sbuf .= "<td>";
191
+			$sbuf .= htmlentities($locInfo->getFileName(), ENT_QUOTES). ':' . $locInfo->getLineNumber();
192
+			$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
193
+		}
194 194
 
195
-        $sbuf .= "<td title=\"Message\">";
196
-        $sbuf .= htmlentities($event->getRenderedMessage(), ENT_QUOTES);
197
-        $sbuf .= "</td>" . LOG4PHP_LINE_SEP;
195
+		$sbuf .= "<td title=\"Message\">";
196
+		$sbuf .= htmlentities($event->getRenderedMessage(), ENT_QUOTES);
197
+		$sbuf .= "</td>" . LOG4PHP_LINE_SEP;
198 198
 
199
-        $sbuf .= "</tr>" . LOG4PHP_LINE_SEP;
199
+		$sbuf .= "</tr>" . LOG4PHP_LINE_SEP;
200 200
         
201
-        if ($event->getNDC() !== null) {
202
-            $sbuf .= "<tr><td bgcolor=\"#EEEEEE\" style=\"font-size : xx-small;\" colspan=\"6\" title=\"Nested Diagnostic Context\">";
203
-            $sbuf .= "NDC: " . htmlentities($event->getNDC(), ENT_QUOTES);
204
-            $sbuf .= "</td></tr>" . LOG4PHP_LINE_SEP;
205
-        }
201
+		if ($event->getNDC() !== null) {
202
+			$sbuf .= "<tr><td bgcolor=\"#EEEEEE\" style=\"font-size : xx-small;\" colspan=\"6\" title=\"Nested Diagnostic Context\">";
203
+			$sbuf .= "NDC: " . htmlentities($event->getNDC(), ENT_QUOTES);
204
+			$sbuf .= "</td></tr>" . LOG4PHP_LINE_SEP;
205
+		}
206 206
 
207
-        return $sbuf;
208
-    }
207
+		return $sbuf;
208
+	}
209 209
 
210
-    /**
211
-     * @return string Returns appropriate HTML headers.
212
-     */
213
-    public function getHeader()
214
-    {
215
-        $sbuf = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" . LOG4PHP_LINE_SEP;
216
-        $sbuf .= "<html>" . LOG4PHP_LINE_SEP;
217
-        $sbuf .= "<head>" . LOG4PHP_LINE_SEP;
218
-        $sbuf .= "<title>" . $this->title . "</title>" . LOG4PHP_LINE_SEP;
219
-        $sbuf .= "<style type=\"text/css\">" . LOG4PHP_LINE_SEP;
220
-        $sbuf .= "<!--" . LOG4PHP_LINE_SEP;
221
-        $sbuf .= "body, table {font-family: arial,sans-serif; font-size: x-small;}" . LOG4PHP_LINE_SEP;
222
-        $sbuf .= "th {background: #336699; color: #FFFFFF; text-align: left;}" . LOG4PHP_LINE_SEP;
223
-        $sbuf .= "-->" . LOG4PHP_LINE_SEP;
224
-        $sbuf .= "</style>" . LOG4PHP_LINE_SEP;
225
-        $sbuf .= "</head>" . LOG4PHP_LINE_SEP;
226
-        $sbuf .= "<body bgcolor=\"#FFFFFF\" topmargin=\"6\" leftmargin=\"6\">" . LOG4PHP_LINE_SEP;
227
-        $sbuf .= "<hr size=\"1\" noshade>" . LOG4PHP_LINE_SEP;
228
-        $sbuf .= "Log session start time " . strftime('%c', time()) . "<br>" . LOG4PHP_LINE_SEP;
229
-        $sbuf .= "<br>" . LOG4PHP_LINE_SEP;
230
-        $sbuf .= "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\" bordercolor=\"#224466\" width=\"100%\">" . LOG4PHP_LINE_SEP;
231
-        $sbuf .= "<tr>" . LOG4PHP_LINE_SEP;
232
-        $sbuf .= "<th>Time</th>" . LOG4PHP_LINE_SEP;
233
-        $sbuf .= "<th>Thread</th>" . LOG4PHP_LINE_SEP;
234
-        $sbuf .= "<th>Level</th>" . LOG4PHP_LINE_SEP;
235
-        $sbuf .= "<th>Category</th>" . LOG4PHP_LINE_SEP;
236
-        if ($this->locationInfo)
237
-            $sbuf .= "<th>File:Line</th>" . LOG4PHP_LINE_SEP;
238
-        $sbuf .= "<th>Message</th>" . LOG4PHP_LINE_SEP;
239
-        $sbuf .= "</tr>" . LOG4PHP_LINE_SEP;
210
+	/**
211
+	 * @return string Returns appropriate HTML headers.
212
+	 */
213
+	public function getHeader()
214
+	{
215
+		$sbuf = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">" . LOG4PHP_LINE_SEP;
216
+		$sbuf .= "<html>" . LOG4PHP_LINE_SEP;
217
+		$sbuf .= "<head>" . LOG4PHP_LINE_SEP;
218
+		$sbuf .= "<title>" . $this->title . "</title>" . LOG4PHP_LINE_SEP;
219
+		$sbuf .= "<style type=\"text/css\">" . LOG4PHP_LINE_SEP;
220
+		$sbuf .= "<!--" . LOG4PHP_LINE_SEP;
221
+		$sbuf .= "body, table {font-family: arial,sans-serif; font-size: x-small;}" . LOG4PHP_LINE_SEP;
222
+		$sbuf .= "th {background: #336699; color: #FFFFFF; text-align: left;}" . LOG4PHP_LINE_SEP;
223
+		$sbuf .= "-->" . LOG4PHP_LINE_SEP;
224
+		$sbuf .= "</style>" . LOG4PHP_LINE_SEP;
225
+		$sbuf .= "</head>" . LOG4PHP_LINE_SEP;
226
+		$sbuf .= "<body bgcolor=\"#FFFFFF\" topmargin=\"6\" leftmargin=\"6\">" . LOG4PHP_LINE_SEP;
227
+		$sbuf .= "<hr size=\"1\" noshade>" . LOG4PHP_LINE_SEP;
228
+		$sbuf .= "Log session start time " . strftime('%c', time()) . "<br>" . LOG4PHP_LINE_SEP;
229
+		$sbuf .= "<br>" . LOG4PHP_LINE_SEP;
230
+		$sbuf .= "<table cellspacing=\"0\" cellpadding=\"4\" border=\"1\" bordercolor=\"#224466\" width=\"100%\">" . LOG4PHP_LINE_SEP;
231
+		$sbuf .= "<tr>" . LOG4PHP_LINE_SEP;
232
+		$sbuf .= "<th>Time</th>" . LOG4PHP_LINE_SEP;
233
+		$sbuf .= "<th>Thread</th>" . LOG4PHP_LINE_SEP;
234
+		$sbuf .= "<th>Level</th>" . LOG4PHP_LINE_SEP;
235
+		$sbuf .= "<th>Category</th>" . LOG4PHP_LINE_SEP;
236
+		if ($this->locationInfo)
237
+			$sbuf .= "<th>File:Line</th>" . LOG4PHP_LINE_SEP;
238
+		$sbuf .= "<th>Message</th>" . LOG4PHP_LINE_SEP;
239
+		$sbuf .= "</tr>" . LOG4PHP_LINE_SEP;
240 240
 
241
-        return $sbuf;
242
-    }
241
+		return $sbuf;
242
+	}
243 243
 
244
-    /**
245
-     * @return string Returns the appropriate HTML footers.
246
-     */
247
-    public function getFooter()
248
-    {
249
-        $sbuf = "</table>" . LOG4PHP_LINE_SEP;
250
-        $sbuf .= "<br>" . LOG4PHP_LINE_SEP;
251
-        $sbuf .= "</body></html>";
244
+	/**
245
+	 * @return string Returns the appropriate HTML footers.
246
+	 */
247
+	public function getFooter()
248
+	{
249
+		$sbuf = "</table>" . LOG4PHP_LINE_SEP;
250
+		$sbuf .= "<br>" . LOG4PHP_LINE_SEP;
251
+		$sbuf .= "</body></html>";
252 252
 
253
-        return $sbuf;
254
-    }
253
+		return $sbuf;
254
+	}
255 255
 }
256 256
 ?>
257 257
\ No newline at end of file
Please login to merge, or discard this patch.
libraries/antlr/CommonTokenStream.php 1 patch
Spacing   +49 added lines, -49 removed lines patch added patch discarded remove patch
@@ -55,11 +55,11 @@  discard block
 block discarded – undo
55 55
      */
56 56
     protected $p = -1;
57 57
 
58
-	public function __construct($tokenSource, $channel=null) {
58
+	public function __construct($tokenSource, $channel = null) {
59 59
 		$this->channel = TokenConst::$DEFAULT_CHANNEL;
60 60
 		$this->tokens = array();
61 61
 		$this->tokenSource = $tokenSource;
62
-		if($channel !== null){
62
+		if ($channel !== null) {
63 63
 			$this->channel = $channel;
64 64
 		}
65 65
 	}
@@ -79,24 +79,24 @@  discard block
 block discarded – undo
79 79
 	protected function fillBuffer() {
80 80
 		$index = 0;
81 81
 		$t = $this->tokenSource->nextToken();
82
-		while ( $t!=null && $t->getType()!=CharStreamConst::$EOF ) {
82
+		while ($t != null && $t->getType() != CharStreamConst::$EOF) {
83 83
 			$discard = false;
84 84
 			// is there a channel override for token type?
85
-			if ( $this->channelOverrideMap!=null ) {
85
+			if ($this->channelOverrideMap != null) {
86 86
 				$channelI = $this->channelOverrideMap[$t->getType()];
87
-				if ( $channelI!=null ) {
87
+				if ($channelI != null) {
88 88
 					$t->setChannel($channelI);
89 89
 				}
90 90
 			}
91
-			if ( $this->discardSet!=null &&
91
+			if ($this->discardSet != null &&
92 92
 				 $this->discardSet->contains($t->getType()))
93 93
 			{
94 94
 				$discard = true;
95 95
 			}
96
-			else if ( $this->discardOffChannelTokens && $t->getChannel()!=$this->channel ) {
96
+			else if ($this->discardOffChannelTokens && $t->getChannel() != $this->channel) {
97 97
 				$discard = true;
98 98
 			}
99
-			if ( !$discard )	{
99
+			if (!$discard) {
100 100
 				$t->setTokenIndex($index);
101 101
 				$this->tokens[] = $t;
102 102
 				$index++;
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
 	 *  Walk past any token not on the channel the parser is listening to.
117 117
 	 */
118 118
 	public function consume() {
119
-		if ( $this->p<sizeof($this->tokens)) {
119
+		if ($this->p < sizeof($this->tokens)) {
120 120
             $this->p++;
121 121
 			$this->p = $this->skipOffTokenChannels($this->p); // leave p on valid token
122 122
         }
@@ -127,14 +127,14 @@  discard block
 block discarded – undo
127 127
 	 */
128 128
 	protected function skipOffTokenChannels($i) {
129 129
 		$n = sizeof($this->tokens);
130
-		while ( $i<$n && $this->tokens[$i]->getChannel()!=$this->channel ) {
130
+		while ($i < $n && $this->tokens[$i]->getChannel() != $this->channel) {
131 131
 			$i++;
132 132
 		}
133 133
 		return $i;
134 134
 	}
135 135
 
136 136
 	protected function skipOffTokenChannelsReverse($i) {
137
-		while ( $i>=0 && $this->tokens[$i]->getChannel()!=$this->channel) {
137
+		while ($i >= 0 && $this->tokens[$i]->getChannel() != $this->channel) {
138 138
 			$i--;
139 139
 		}
140 140
 		return $i;
@@ -147,17 +147,17 @@  discard block
 block discarded – undo
147 147
 	 *  channel.
148 148
 	 */
149 149
 	public function setTokenTypeChannel($ttype, $channel) {
150
-		if ( $this->channelOverrideMap==null ) {
150
+		if ($this->channelOverrideMap == null) {
151 151
 			$this->channelOverrideMap = array();
152 152
 		}
153 153
         $this->channelOverrideMap[$ttype] = $channel;
154 154
 	}
155 155
 
156 156
 	public function discardTokenType($ttype) {
157
-		if ( $this->discardSet==null ) {
157
+		if ($this->discardSet == null) {
158 158
 			$this->discardSet = new Set();
159 159
 		}
160
-        $this->discardSet.add($ttype);
160
+        $this->discardSet . add($ttype);
161 161
 	}
162 162
 
163 163
 	public function discardOffChannelTokens($discardOffChannelTokens) {
@@ -165,7 +165,7 @@  discard block
 block discarded – undo
165 165
 	}
166 166
 
167 167
 	public function getTokens() {
168
-		if ( $this->p == -1 ) {
168
+		if ($this->p == -1) {
169 169
 			$this->fillBuffer();
170 170
 		}
171 171
 		return $this->tokens;
@@ -180,35 +180,35 @@  discard block
 block discarded – undo
180 180
 	 *  method looks at both on and off channel tokens.
181 181
 	 */
182 182
 	public function getTokensOfTypeInSet($start, $stop, $types) {
183
-		if ( $p == -1 ) {
183
+		if ($p == -1) {
184 184
 			fillBuffer();
185 185
 		}
186
-		if ( $stop>=sizeof($this->tokens)) {
187
-			$stop=sizeof($this->tokens) - 1;
186
+		if ($stop >= sizeof($this->tokens)) {
187
+			$stop = sizeof($this->tokens) - 1;
188 188
 		}
189
-		if ( $start<0 ) {
190
-			$start=0;
189
+		if ($start < 0) {
190
+			$start = 0;
191 191
 		}
192
-		if ( $start>$stop ) {
192
+		if ($start > $stop) {
193 193
 			return null;
194 194
 		}
195 195
 
196 196
 		// list = tokens[start:stop]:{Token t, t.getType() in types}
197 197
 		$filteredTokens = array();
198
-		for ($i=$start; $i<=$stop; $i++) {
198
+		for ($i = $start; $i <= $stop; $i++) {
199 199
 			$t = $this->tokens[$i];
200
-			if ( $types==null || $types->member($t->getType())) {
200
+			if ($types == null || $types->member($t->getType())) {
201 201
 				$filteredTokens->add($t);
202 202
 			}
203 203
 		}
204
-		if ( sizeof($filteredTokens)==0 ) {
204
+		if (sizeof($filteredTokens) == 0) {
205 205
 			$filteredTokens = null;
206 206
 		}
207 207
 		return $filteredTokens;
208 208
 	}
209 209
 
210 210
 	public function getTokensOfTypeInArray($start, $stop, $types) {
211
-		return $this->getTokens($start, $stop,new Set(types));
211
+		return $this->getTokens($start, $stop, new Set(types));
212 212
 	}
213 213
 
214 214
 	public function getTokensofType($start, $stop, $ttype) {
@@ -219,29 +219,29 @@  discard block
 block discarded – undo
219 219
 	 *  first symbol of lookahead.
220 220
 	 */
221 221
 	public function LT($k) {
222
-		if ( $this->p == -1 ) {
222
+		if ($this->p == -1) {
223 223
 			$this->fillBuffer();
224 224
 		}
225
-		if ( $k==0 ) {
225
+		if ($k == 0) {
226 226
 			return null;
227 227
 		}
228
-		if ( $k<0 ) {
228
+		if ($k < 0) {
229 229
 			return $this->LB(-$k);
230 230
 		}
231 231
 		//System.out.print("LT(p="+p+","+k+")=");
232
-		if ( ($this->p+$k-1) >= sizeof($this->tokens)) {
232
+		if (($this->p + $k - 1) >= sizeof($this->tokens)) {
233 233
 			return TokenConst::$EOF_TOKEN;
234 234
 		}
235 235
 		//System.out.println(tokens.get(p+k-1));
236 236
 		$i = $this->p;
237 237
 		$n = 1;
238 238
 		// find k good tokens
239
-		while ( $n<$k ) {
239
+		while ($n < $k) {
240 240
 			// skip off-channel tokens
241
-			$i = $this->skipOffTokenChannels($i+1); // leave p on valid token
241
+			$i = $this->skipOffTokenChannels($i + 1); // leave p on valid token
242 242
 			$n++;
243 243
 		}
244
-		if ( $i>=sizeof($this->tokens)) {
244
+		if ($i >= sizeof($this->tokens)) {
245 245
 			return TokenConst::$EOF_TOKEN;
246 246
 		}
247 247
         return $this->tokens[$i];
@@ -250,13 +250,13 @@  discard block
 block discarded – undo
250 250
 	/** Look backwards k tokens on-channel tokens */
251 251
 	protected function LB($k) {
252 252
 		//System.out.print("LB(p="+p+","+k+") ");
253
-		if ( $this->p == -1 ) {
253
+		if ($this->p == -1) {
254 254
 			$this->fillBuffer();
255 255
 		}
256
-		if ( $k==0 ) {
256
+		if ($k == 0) {
257 257
 			return null;
258 258
 		}
259
-		if ( ($this->p-$k)<0 ) {
259
+		if (($this->p - $k) < 0) {
260 260
 			return null;
261 261
 		}
262 262
 		
@@ -264,12 +264,12 @@  discard block
 block discarded – undo
264 264
 		$i = $this->p;
265 265
 		$n = 1;
266 266
 		// find k good tokens looking backwards
267
-		while ( $n<=$k ) {
267
+		while ($n <= $k) {
268 268
 			// skip off-channel tokens
269
-			$i = $this->skipOffTokenChannelsReverse($i-1); // leave p on valid token
269
+			$i = $this->skipOffTokenChannelsReverse($i - 1); // leave p on valid token
270 270
 			$n++;
271 271
 		}
272
-		if ( $i<0 ) {
272
+		if ($i < 0) {
273 273
 			return null;
274 274
 		}
275 275
 		return $this->tokens[$i];
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
     }
289 289
 
290 290
     public function mark() {
291
-		if ( $this->p == -1 ) {
291
+		if ($this->p == -1) {
292 292
 			$this->fillBuffer();
293 293
 		}
294 294
 		$this->lastMarker = $this->index();
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
     }
309 309
 
310 310
 	public function rewind($marker = null) {
311
-		if($marker===null){
311
+		if ($marker === null) {
312 312
 			$marker = $this->lastmarker;
313 313
 		}
314 314
 		$this->seek($marker);
@@ -333,38 +333,38 @@  discard block
 block discarded – undo
333 333
 	}
334 334
 
335 335
 	public function toString() {
336
-		if ( $this->p == -1 ) {
336
+		if ($this->p == -1) {
337 337
 			$this->fillBuffer();
338 338
 		}
339
-		return $this->toStringBetween(0, sizeof($this->tokens)-1);
339
+		return $this->toStringBetween(0, sizeof($this->tokens) - 1);
340 340
 	}
341 341
 
342 342
 	public function toStringBetween($start, $stop) {
343
-		if ( $start<0 || $stop<0 ) {
343
+		if ($start < 0 || $stop < 0) {
344 344
 			return null;
345 345
 		}
346
-		if ( $this->p == -1 ) {
346
+		if ($this->p == -1) {
347 347
 			$this->fillBuffer();
348 348
 		}
349
-		if ( $stop>=sizeof($this->tokens)) {
350
-			$stop = sizeof($this->tokens)-1;
349
+		if ($stop >= sizeof($this->tokens)) {
350
+			$stop = sizeof($this->tokens) - 1;
351 351
 		}
352 352
 		$buf = "";
353 353
 		for ($i = $start; $i <= $stop; $i++) {
354 354
 			$t = $this->tokens[$i];
355
-			$buf.=$t->getText();
355
+			$buf .= $t->getText();
356 356
 		}
357 357
 		return $buf;
358 358
 	}
359 359
 
360 360
 	public function toStringBetweenTokens($start, $stop) {
361
-		if ( $start!=null && $stop!=null ) {
361
+		if ($start != null && $stop != null) {
362 362
 			return toString($this->start->getTokenIndex(), $this->stop->getTokenIndex());
363 363
 		}
364 364
 		return null;
365 365
 	}
366 366
 	
367
-	public function __toString(){
367
+	public function __toString() {
368 368
 		return $this->toString();
369 369
 	}
370 370
 }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_data.php 1 patch
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -17,52 +17,52 @@
 block discarded – undo
17 17
  */
18 18
 class Smarty_Data extends Smarty_Internal_Data
19 19
 {
20
-    /**
21
-     * Counter
22
-     *
23
-     * @var int
24
-     */
25
-    static $count = 0;
20
+	/**
21
+	 * Counter
22
+	 *
23
+	 * @var int
24
+	 */
25
+	static $count = 0;
26 26
 
27
-    /**
28
-     * Data block name
29
-     *
30
-     * @var string
31
-     */
32
-    public $dataObjectName = '';
27
+	/**
28
+	 * Data block name
29
+	 *
30
+	 * @var string
31
+	 */
32
+	public $dataObjectName = '';
33 33
 
34
-    /**
35
-     * Smarty object
36
-     *
37
-     * @var Smarty
38
-     */
39
-    public $smarty = null;
34
+	/**
35
+	 * Smarty object
36
+	 *
37
+	 * @var Smarty
38
+	 */
39
+	public $smarty = null;
40 40
 
41
-    /**
42
-     * create Smarty data object
43
-     *
44
-     * @param Smarty|array                    $_parent parent template
45
-     * @param Smarty|Smarty_Internal_Template $smarty  global smarty instance
46
-     * @param string                          $name    optional data block name
47
-     *
48
-     * @throws SmartyException
49
-     */
50
-    public function __construct($_parent = null, $smarty = null, $name = null)
51
-    {
52
-        parent::__construct();
53
-        self::$count ++;
54
-        $this->dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count);
55
-        $this->smarty = $smarty;
56
-        if (is_object($_parent)) {
57
-            // when object set up back pointer
58
-            $this->parent = $_parent;
59
-        } elseif (is_array($_parent)) {
60
-            // set up variable values
61
-            foreach ($_parent as $_key => $_val) {
62
-                $this->tpl_vars[ $_key ] = new Smarty_Variable($_val);
63
-            }
64
-        } elseif ($_parent !== null) {
65
-            throw new SmartyException("Wrong type for template variables");
66
-        }
67
-    }
41
+	/**
42
+	 * create Smarty data object
43
+	 *
44
+	 * @param Smarty|array                    $_parent parent template
45
+	 * @param Smarty|Smarty_Internal_Template $smarty  global smarty instance
46
+	 * @param string                          $name    optional data block name
47
+	 *
48
+	 * @throws SmartyException
49
+	 */
50
+	public function __construct($_parent = null, $smarty = null, $name = null)
51
+	{
52
+		parent::__construct();
53
+		self::$count ++;
54
+		$this->dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count);
55
+		$this->smarty = $smarty;
56
+		if (is_object($_parent)) {
57
+			// when object set up back pointer
58
+			$this->parent = $_parent;
59
+		} elseif (is_array($_parent)) {
60
+			// set up variable values
61
+			foreach ($_parent as $_key => $_val) {
62
+				$this->tpl_vars[ $_key ] = new Smarty_Variable($_val);
63
+			}
64
+		} elseif ($_parent !== null) {
65
+			throw new SmartyException("Wrong type for template variables");
66
+		}
67
+	}
68 68
 }
Please login to merge, or discard this patch.
libraries/Smarty/libs/sysplugins/smarty_internal_templateparser.php 2 patches
Indentation   +2781 added lines, -2781 removed lines patch added patch discarded remove patch
@@ -2,75 +2,75 @@  discard block
 block discarded – undo
2 2
 
3 3
 class TP_yyToken implements ArrayAccess
4 4
 {
5
-    public $string = '';
6
-
7
-    public $metadata = array();
8
-
9
-    public function __construct($s, $m = array())
10
-    {
11
-        if ($s instanceof TP_yyToken) {
12
-            $this->string = $s->string;
13
-            $this->metadata = $s->metadata;
14
-        } else {
15
-            $this->string = (string) $s;
16
-            if ($m instanceof TP_yyToken) {
17
-                $this->metadata = $m->metadata;
18
-            } elseif (is_array($m)) {
19
-                $this->metadata = $m;
20
-            }
21
-        }
22
-    }
23
-
24
-    public function __toString()
25
-    {
26
-        return $this->string;
27
-    }
28
-
29
-    public function offsetExists($offset)
30
-    {
31
-        return isset($this->metadata[ $offset ]);
32
-    }
33
-
34
-    public function offsetGet($offset)
35
-    {
36
-        return $this->metadata[ $offset ];
37
-    }
38
-
39
-    public function offsetSet($offset, $value)
40
-    {
41
-        if ($offset === null) {
42
-            if (isset($value[ 0 ])) {
43
-                $x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44
-                $this->metadata = array_merge($this->metadata, $x);
45
-
46
-                return;
47
-            }
48
-            $offset = count($this->metadata);
49
-        }
50
-        if ($value === null) {
51
-            return;
52
-        }
53
-        if ($value instanceof TP_yyToken) {
54
-            if ($value->metadata) {
55
-                $this->metadata[ $offset ] = $value->metadata;
56
-            }
57
-        } elseif ($value) {
58
-            $this->metadata[ $offset ] = $value;
59
-        }
60
-    }
61
-
62
-    public function offsetUnset($offset)
63
-    {
64
-        unset($this->metadata[ $offset ]);
65
-    }
5
+	public $string = '';
6
+
7
+	public $metadata = array();
8
+
9
+	public function __construct($s, $m = array())
10
+	{
11
+		if ($s instanceof TP_yyToken) {
12
+			$this->string = $s->string;
13
+			$this->metadata = $s->metadata;
14
+		} else {
15
+			$this->string = (string) $s;
16
+			if ($m instanceof TP_yyToken) {
17
+				$this->metadata = $m->metadata;
18
+			} elseif (is_array($m)) {
19
+				$this->metadata = $m;
20
+			}
21
+		}
22
+	}
23
+
24
+	public function __toString()
25
+	{
26
+		return $this->string;
27
+	}
28
+
29
+	public function offsetExists($offset)
30
+	{
31
+		return isset($this->metadata[ $offset ]);
32
+	}
33
+
34
+	public function offsetGet($offset)
35
+	{
36
+		return $this->metadata[ $offset ];
37
+	}
38
+
39
+	public function offsetSet($offset, $value)
40
+	{
41
+		if ($offset === null) {
42
+			if (isset($value[ 0 ])) {
43
+				$x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44
+				$this->metadata = array_merge($this->metadata, $x);
45
+
46
+				return;
47
+			}
48
+			$offset = count($this->metadata);
49
+		}
50
+		if ($value === null) {
51
+			return;
52
+		}
53
+		if ($value instanceof TP_yyToken) {
54
+			if ($value->metadata) {
55
+				$this->metadata[ $offset ] = $value->metadata;
56
+			}
57
+		} elseif ($value) {
58
+			$this->metadata[ $offset ] = $value;
59
+		}
60
+	}
61
+
62
+	public function offsetUnset($offset)
63
+	{
64
+		unset($this->metadata[ $offset ]);
65
+	}
66 66
 }
67 67
 
68 68
 class TP_yyStackEntry
69 69
 {
70
-    public $stateno;       /* The state-number */
71
-    public $major;         /* The major token value.  This is the code
70
+	public $stateno;       /* The state-number */
71
+	public $major;         /* The major token value.  This is the code
72 72
                      ** number for the token at this stack level */
73
-    public $minor; /* The user-supplied minor token value.  This
73
+	public $minor; /* The user-supplied minor token value.  This
74 74
                      ** is the value of the token  */
75 75
 }
76 76
 
@@ -88,2790 +88,2790 @@  discard block
 block discarded – undo
88 88
  */
89 89
 class Smarty_Internal_Templateparser
90 90
 {
91
-    #line 23 "../smarty/lexer/smarty_internal_templateparser.y"
92
-
93
-    const Err1 = "Security error: Call to private object member not allowed";
94
-
95
-    const Err2 = "Security error: Call to dynamic object member not allowed";
96
-
97
-    const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
98
-
99
-    /**
100
-     * result status
101
-     *
102
-     * @var bool
103
-     */
104
-    public $successful = true;
105
-
106
-    /**
107
-     * return value
108
-     *
109
-     * @var mixed
110
-     */
111
-    public $retvalue = 0;
112
-
113
-    /**
114
-     * @var
115
-     */
116
-    public $yymajor;
117
-
118
-    /**
119
-     * last index of array variable
120
-     *
121
-     * @var mixed
122
-     */
123
-    public $last_index;
124
-
125
-    /**
126
-     * last variable name
127
-     *
128
-     * @var string
129
-     */
130
-    public $last_variable;
131
-
132
-    /**
133
-     * root parse tree buffer
134
-     *
135
-     * @var Smarty_Internal_ParseTree
136
-     */
137
-    public $root_buffer;
138
-
139
-    /**
140
-     * current parse tree object
141
-     *
142
-     * @var Smarty_Internal_ParseTree
143
-     */
144
-    public $current_buffer;
145
-
146
-    /**
147
-     * lexer object
148
-     *
149
-     * @var Smarty_Internal_Templatelexer
150
-     */
151
-    public $lex;
152
-
153
-    /**
154
-     * internal error flag
155
-     *
156
-     * @var bool
157
-     */
158
-    private $internalError = false;
159
-
160
-    /**
161
-     * {strip} status
162
-     *
163
-     * @var bool
164
-     */
165
-    public $strip = false;
166
-
167
-    /**
168
-     * compiler object
169
-     *
170
-     * @var Smarty_Internal_TemplateCompilerBase
171
-     */
172
-    public $compiler = null;
173
-
174
-    /**
175
-     * smarty object
176
-     *
177
-     * @var Smarty
178
-     */
179
-    public $smarty = null;
180
-
181
-    /**
182
-     * template object
183
-     *
184
-     * @var Smarty_Internal_Template
185
-     */
186
-    public $template = null;
187
-
188
-    /**
189
-     * block nesting level
190
-     *
191
-     * @var int
192
-     */
193
-    public $block_nesting_level = 0;
194
-
195
-    /**
196
-     * security object
197
-     *
198
-     * @var Smarty_Security
199
-     */
200
-    public $security = null;
201
-
202
-    /**
203
-     * template prefix array
204
-     *
205
-     * @var \Smarty_Internal_ParseTree[]
206
-     */
207
-    public $template_prefix = array();
208
-
209
-    /**
210
-     * security object
211
-     *
212
-     * @var \Smarty_Internal_ParseTree[]
213
-     */
214
-    public $template_postfix = array();
215
-
216
-    /**
217
-     * constructor
218
-     *
219
-     * @param Smarty_Internal_Templatelexer        $lex
220
-     * @param Smarty_Internal_TemplateCompilerBase $compiler
221
-     */
222
-    public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
223
-    {
224
-        $this->lex = $lex;
225
-        $this->compiler = $compiler;
226
-        $this->template = $this->compiler->template;
227
-        $this->smarty = $this->template->smarty;
228
-        $this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
229
-        $this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
230
-    }
91
+	#line 23 "../smarty/lexer/smarty_internal_templateparser.y"
92
+
93
+	const Err1 = "Security error: Call to private object member not allowed";
94
+
95
+	const Err2 = "Security error: Call to dynamic object member not allowed";
96
+
97
+	const Err3 = "PHP in template not allowed. Use SmartyBC to enable it";
98
+
99
+	/**
100
+	 * result status
101
+	 *
102
+	 * @var bool
103
+	 */
104
+	public $successful = true;
105
+
106
+	/**
107
+	 * return value
108
+	 *
109
+	 * @var mixed
110
+	 */
111
+	public $retvalue = 0;
112
+
113
+	/**
114
+	 * @var
115
+	 */
116
+	public $yymajor;
117
+
118
+	/**
119
+	 * last index of array variable
120
+	 *
121
+	 * @var mixed
122
+	 */
123
+	public $last_index;
124
+
125
+	/**
126
+	 * last variable name
127
+	 *
128
+	 * @var string
129
+	 */
130
+	public $last_variable;
131
+
132
+	/**
133
+	 * root parse tree buffer
134
+	 *
135
+	 * @var Smarty_Internal_ParseTree
136
+	 */
137
+	public $root_buffer;
138
+
139
+	/**
140
+	 * current parse tree object
141
+	 *
142
+	 * @var Smarty_Internal_ParseTree
143
+	 */
144
+	public $current_buffer;
145
+
146
+	/**
147
+	 * lexer object
148
+	 *
149
+	 * @var Smarty_Internal_Templatelexer
150
+	 */
151
+	public $lex;
152
+
153
+	/**
154
+	 * internal error flag
155
+	 *
156
+	 * @var bool
157
+	 */
158
+	private $internalError = false;
159
+
160
+	/**
161
+	 * {strip} status
162
+	 *
163
+	 * @var bool
164
+	 */
165
+	public $strip = false;
166
+
167
+	/**
168
+	 * compiler object
169
+	 *
170
+	 * @var Smarty_Internal_TemplateCompilerBase
171
+	 */
172
+	public $compiler = null;
173
+
174
+	/**
175
+	 * smarty object
176
+	 *
177
+	 * @var Smarty
178
+	 */
179
+	public $smarty = null;
180
+
181
+	/**
182
+	 * template object
183
+	 *
184
+	 * @var Smarty_Internal_Template
185
+	 */
186
+	public $template = null;
187
+
188
+	/**
189
+	 * block nesting level
190
+	 *
191
+	 * @var int
192
+	 */
193
+	public $block_nesting_level = 0;
194
+
195
+	/**
196
+	 * security object
197
+	 *
198
+	 * @var Smarty_Security
199
+	 */
200
+	public $security = null;
201
+
202
+	/**
203
+	 * template prefix array
204
+	 *
205
+	 * @var \Smarty_Internal_ParseTree[]
206
+	 */
207
+	public $template_prefix = array();
208
+
209
+	/**
210
+	 * security object
211
+	 *
212
+	 * @var \Smarty_Internal_ParseTree[]
213
+	 */
214
+	public $template_postfix = array();
215
+
216
+	/**
217
+	 * constructor
218
+	 *
219
+	 * @param Smarty_Internal_Templatelexer        $lex
220
+	 * @param Smarty_Internal_TemplateCompilerBase $compiler
221
+	 */
222
+	public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
223
+	{
224
+		$this->lex = $lex;
225
+		$this->compiler = $compiler;
226
+		$this->template = $this->compiler->template;
227
+		$this->smarty = $this->template->smarty;
228
+		$this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
229
+		$this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
230
+	}
231 231
 
232
-    /**
233
-     * insert PHP code in current buffer
234
-     *
235
-     * @param string $code
236
-     */
237
-    public function insertPhpCode($code)
238
-    {
239
-        $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
240
-    }
232
+	/**
233
+	 * insert PHP code in current buffer
234
+	 *
235
+	 * @param string $code
236
+	 */
237
+	public function insertPhpCode($code)
238
+	{
239
+		$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
240
+	}
241 241
 
242
-    /**
243
-     *  merge PHP code with prefix code and return parse tree tag object
244
-     *
245
-     * @param string $code
246
-     *
247
-     * @return Smarty_Internal_ParseTree_Tag
248
-     */
249
-    public function mergePrefixCode($code)
250
-    {
251
-        $tmp = '';
252
-        foreach ($this->compiler->prefix_code as $preCode) {
253
-            $tmp .= $preCode;
254
-        }
255
-        $this->compiler->prefix_code = array();
256
-        $tmp .= $code;
257
-        return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
258
-    }
242
+	/**
243
+	 *  merge PHP code with prefix code and return parse tree tag object
244
+	 *
245
+	 * @param string $code
246
+	 *
247
+	 * @return Smarty_Internal_ParseTree_Tag
248
+	 */
249
+	public function mergePrefixCode($code)
250
+	{
251
+		$tmp = '';
252
+		foreach ($this->compiler->prefix_code as $preCode) {
253
+			$tmp .= $preCode;
254
+		}
255
+		$this->compiler->prefix_code = array();
256
+		$tmp .= $code;
257
+		return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
258
+	}
259 259
 
260
-    const TP_VERT = 1;
260
+	const TP_VERT = 1;
261 261
 
262
-    const TP_COLON = 2;
262
+	const TP_COLON = 2;
263 263
 
264
-    const TP_PHP = 3;
264
+	const TP_PHP = 3;
265 265
 
266
-    const TP_NOCACHE = 4;
266
+	const TP_NOCACHE = 4;
267 267
 
268
-    const TP_TEXT = 5;
268
+	const TP_TEXT = 5;
269 269
 
270
-    const TP_STRIPON = 6;
270
+	const TP_STRIPON = 6;
271 271
 
272
-    const TP_STRIPOFF = 7;
272
+	const TP_STRIPOFF = 7;
273 273
 
274
-    const TP_LITERALSTART = 8;
274
+	const TP_LITERALSTART = 8;
275 275
 
276
-    const TP_LITERALEND = 9;
276
+	const TP_LITERALEND = 9;
277 277
 
278
-    const TP_LITERAL = 10;
278
+	const TP_LITERAL = 10;
279 279
 
280
-    const TP_RDEL = 11;
280
+	const TP_RDEL = 11;
281 281
 
282
-    const TP_SIMPELOUTPUT = 12;
282
+	const TP_SIMPELOUTPUT = 12;
283 283
 
284
-    const TP_LDEL = 13;
284
+	const TP_LDEL = 13;
285 285
 
286
-    const TP_DOLLARID = 14;
286
+	const TP_DOLLARID = 14;
287 287
 
288
-    const TP_EQUAL = 15;
288
+	const TP_EQUAL = 15;
289 289
 
290
-    const TP_SIMPLETAG = 16;
290
+	const TP_SIMPLETAG = 16;
291 291
 
292
-    const TP_ID = 17;
292
+	const TP_ID = 17;
293 293
 
294
-    const TP_PTR = 18;
294
+	const TP_PTR = 18;
295 295
 
296
-    const TP_LDELMAKENOCACHE = 19;
296
+	const TP_LDELMAKENOCACHE = 19;
297 297
 
298
-    const TP_LDELIF = 20;
298
+	const TP_LDELIF = 20;
299 299
 
300
-    const TP_LDELFOR = 21;
300
+	const TP_LDELFOR = 21;
301 301
 
302
-    const TP_SEMICOLON = 22;
302
+	const TP_SEMICOLON = 22;
303 303
 
304
-    const TP_INCDEC = 23;
304
+	const TP_INCDEC = 23;
305 305
 
306
-    const TP_TO = 24;
306
+	const TP_TO = 24;
307 307
 
308
-    const TP_STEP = 25;
308
+	const TP_STEP = 25;
309 309
 
310
-    const TP_LDELFOREACH = 26;
310
+	const TP_LDELFOREACH = 26;
311 311
 
312
-    const TP_SPACE = 27;
312
+	const TP_SPACE = 27;
313 313
 
314
-    const TP_AS = 28;
314
+	const TP_AS = 28;
315 315
 
316
-    const TP_APTR = 29;
316
+	const TP_APTR = 29;
317 317
 
318
-    const TP_LDELSETFILTER = 30;
318
+	const TP_LDELSETFILTER = 30;
319 319
 
320
-    const TP_SMARTYBLOCKCHILDPARENT = 31;
320
+	const TP_SMARTYBLOCKCHILDPARENT = 31;
321 321
 
322
-    const TP_CLOSETAG = 32;
322
+	const TP_CLOSETAG = 32;
323 323
 
324
-    const TP_LDELSLASH = 33;
324
+	const TP_LDELSLASH = 33;
325 325
 
326
-    const TP_ATTR = 34;
326
+	const TP_ATTR = 34;
327 327
 
328
-    const TP_INTEGER = 35;
328
+	const TP_INTEGER = 35;
329 329
 
330
-    const TP_COMMA = 36;
330
+	const TP_COMMA = 36;
331 331
 
332
-    const TP_OPENP = 37;
332
+	const TP_OPENP = 37;
333 333
 
334
-    const TP_CLOSEP = 38;
334
+	const TP_CLOSEP = 38;
335 335
 
336
-    const TP_MATH = 39;
336
+	const TP_MATH = 39;
337 337
 
338
-    const TP_UNIMATH = 40;
338
+	const TP_UNIMATH = 40;
339 339
 
340
-    const TP_ISIN = 41;
340
+	const TP_ISIN = 41;
341 341
 
342
-    const TP_QMARK = 42;
342
+	const TP_QMARK = 42;
343 343
 
344
-    const TP_NOT = 43;
344
+	const TP_NOT = 43;
345 345
 
346
-    const TP_TYPECAST = 44;
346
+	const TP_TYPECAST = 44;
347 347
 
348
-    const TP_HEX = 45;
348
+	const TP_HEX = 45;
349 349
 
350
-    const TP_DOT = 46;
350
+	const TP_DOT = 46;
351 351
 
352
-    const TP_INSTANCEOF = 47;
352
+	const TP_INSTANCEOF = 47;
353 353
 
354
-    const TP_SINGLEQUOTESTRING = 48;
354
+	const TP_SINGLEQUOTESTRING = 48;
355 355
 
356
-    const TP_DOUBLECOLON = 49;
356
+	const TP_DOUBLECOLON = 49;
357 357
 
358
-    const TP_NAMESPACE = 50;
358
+	const TP_NAMESPACE = 50;
359 359
 
360
-    const TP_AT = 51;
360
+	const TP_AT = 51;
361 361
 
362
-    const TP_HATCH = 52;
362
+	const TP_HATCH = 52;
363 363
 
364
-    const TP_OPENB = 53;
364
+	const TP_OPENB = 53;
365 365
 
366
-    const TP_CLOSEB = 54;
366
+	const TP_CLOSEB = 54;
367 367
 
368
-    const TP_DOLLAR = 55;
368
+	const TP_DOLLAR = 55;
369 369
 
370
-    const TP_LOGOP = 56;
370
+	const TP_LOGOP = 56;
371 371
 
372
-    const TP_SLOGOP = 57;
372
+	const TP_SLOGOP = 57;
373 373
 
374
-    const TP_TLOGOP = 58;
374
+	const TP_TLOGOP = 58;
375 375
 
376
-    const TP_SINGLECOND = 59;
376
+	const TP_SINGLECOND = 59;
377 377
 
378
-    const TP_QUOTE = 60;
378
+	const TP_QUOTE = 60;
379 379
 
380
-    const TP_BACKTICK = 61;
380
+	const TP_BACKTICK = 61;
381 381
 
382
-    const YY_NO_ACTION = 534;
382
+	const YY_NO_ACTION = 534;
383 383
 
384
-    const YY_ACCEPT_ACTION = 533;
384
+	const YY_ACCEPT_ACTION = 533;
385 385
 
386
-    const YY_ERROR_ACTION = 532;
386
+	const YY_ERROR_ACTION = 532;
387 387
 
388
-    const YY_SZ_ACTTAB = 2017;
388
+	const YY_SZ_ACTTAB = 2017;
389 389
 
390
-    static public $yy_action = array(269, 8, 133, 295, 335, 80, 282, 219, 7, 84, 128, 178, 255, 276, 113, 102, 13, 83,
391
-                                     227, 286, 305, 220, 36, 223, 283, 21, 32, 297, 41, 14, 90, 40, 44, 260, 213, 231,
392
-                                     250, 235, 210, 128, 81, 1, 298, 296, 102, 269, 8, 132, 79, 335, 196, 184, 219, 7,
393
-                                     84, 26, 297, 461, 101, 113, 39, 24, 278, 227, 461, 305, 220, 171, 206, 222, 21,
394
-                                     230, 201, 41, 104, 192, 40, 44, 260, 213, 18, 236, 241, 210, 251, 81, 1, 316, 296,
395
-                                     114, 269, 8, 135, 79, 335, 205, 302, 219, 7, 84, 116, 107, 477, 477, 113, 33, 197,
396
-                                     477, 227, 266, 305, 220, 326, 223, 31, 21, 29, 215, 41, 311, 78, 40, 44, 260, 213,
397
-                                     296, 250, 256, 210, 190, 81, 1, 3, 296, 307, 269, 8, 134, 79, 335, 205, 302, 219,
398
-                                     7, 84, 232, 18, 296, 294, 113, 334, 85, 323, 227, 136, 305, 220, 328, 223, 29, 21,
399
-                                     183, 101, 41, 234, 78, 40, 44, 260, 213, 137, 250, 314, 210, 139, 81, 1, 10, 296,
400
-                                     101, 269, 8, 135, 79, 335, 195, 154, 219, 7, 84, 322, 232, 81, 114, 113, 296, 329,
401
-                                     94, 227, 315, 305, 220, 326, 212, 120, 21, 168, 215, 41, 281, 114, 40, 44, 260,
402
-                                     213, 296, 250, 222, 210, 265, 81, 1, 104, 296, 211, 269, 8, 135, 79, 335, 193, 302,
403
-                                     219, 7, 84, 242, 239, 249, 217, 113, 11, 215, 289, 227, 136, 305, 220, 228, 223,
404
-                                     222, 21, 238, 149, 41, 104, 78, 40, 44, 260, 213, 461, 250, 329, 210, 6, 81, 1,
405
-                                     461, 296, 2, 269, 8, 136, 79, 335, 205, 158, 219, 7, 84, 190, 211, 81, 101, 113,
406
-                                     296, 329, 93, 227, 12, 305, 220, 18, 223, 244, 34, 268, 448, 41, 281, 449, 40, 44,
407
-                                     260, 213, 191, 250, 36, 210, 448, 81, 1, 449, 296, 14, 269, 8, 135, 79, 335, 205,
408
-                                     15, 219, 7, 84, 186, 293, 152, 14, 113, 16, 214, 5, 227, 165, 305, 220, 329, 194,
409
-                                     20, 21, 140, 101, 41, 115, 448, 40, 44, 260, 213, 281, 250, 303, 210, 264, 81, 1,
410
-                                     448, 296, 169, 269, 8, 131, 79, 335, 205, 176, 219, 7, 84, 137, 28, 296, 310, 113,
411
-                                     185, 293, 10, 227, 275, 305, 220, 296, 223, 175, 4, 281, 143, 41, 144, 192, 40, 44,
412
-                                     260, 213, 35, 250, 329, 210, 329, 81, 1, 270, 296, 308, 269, 8, 135, 79, 335, 198,
413
-                                     121, 219, 7, 84, 190, 292, 17, 232, 113, 166, 284, 281, 227, 141, 305, 220, 211,
414
-                                     223, 319, 21, 299, 211, 41, 329, 211, 40, 44, 260, 213, 258, 250, 363, 210, 221,
415
-                                     81, 1, 281, 296, 6, 269, 8, 136, 79, 335, 205, 177, 219, 7, 84, 167, 211, 159, 22,
416
-                                     113, 104, 211, 156, 227, 300, 305, 220, 329, 223, 274, 34, 359, 329, 41, 172, 192,
417
-                                     40, 44, 260, 213, 95, 250, 318, 210, 329, 81, 273, 36, 296, 257, 292, 17, 181, 79,
418
-                                     14, 284, 309, 277, 254, 262, 263, 259, 178, 211, 25, 36, 269, 8, 187, 331, 335,
419
-                                     261, 14, 219, 7, 84, 192, 303, 211, 38, 113, 237, 321, 180, 227, 267, 305, 220,
420
-                                     153, 121, 312, 179, 192, 272, 108, 215, 209, 211, 118, 69, 112, 43, 42, 37, 248,
421
-                                     102, 86, 189, 252, 279, 182, 293, 150, 271, 204, 317, 176, 297, 288, 287, 285, 280,
422
-                                     329, 281, 312, 174, 87, 202, 330, 215, 209, 170, 118, 69, 112, 43, 42, 37, 138,
423
-                                     102, 192, 402, 252, 279, 38, 216, 88, 271, 204, 317, 211, 297, 288, 287, 285, 280,
424
-                                     310, 402, 105, 253, 404, 164, 332, 312, 402, 211, 89, 448, 215, 209, 305, 129, 61,
425
-                                     106, 163, 238, 404, 142, 102, 448, 305, 252, 279, 404, 305, 305, 271, 204, 317,
426
-                                     305, 297, 312, 155, 305, 305, 305, 215, 209, 211, 129, 73, 112, 211, 43, 42, 37,
427
-                                     102, 305, 404, 252, 279, 305, 292, 17, 271, 204, 317, 284, 297, 305, 288, 287, 285,
428
-                                     280, 404, 203, 305, 477, 477, 312, 305, 404, 477, 305, 215, 209, 305, 129, 73, 112,
429
-                                     43, 42, 37, 305, 102, 305, 305, 252, 279, 305, 305, 224, 271, 204, 317, 324, 297,
430
-                                     288, 287, 285, 280, 305, 305, 208, 312, 305, 477, 305, 305, 215, 209, 211, 129, 50,
431
-                                     106, 305, 117, 305, 305, 102, 148, 401, 252, 279, 92, 325, 448, 271, 204, 317, 329,
432
-                                     297, 269, 9, 327, 218, 335, 401, 448, 219, 7, 84, 305, 320, 401, 305, 113, 325,
433
-                                     192, 305, 227, 305, 305, 220, 269, 9, 327, 305, 335, 305, 305, 219, 7, 84, 305, 43,
434
-                                     42, 37, 113, 305, 305, 305, 227, 305, 305, 220, 305, 305, 305, 305, 291, 27, 288,
435
-                                     287, 285, 280, 305, 305, 305, 312, 305, 305, 305, 305, 215, 209, 305, 129, 73, 112,
436
-                                     211, 305, 290, 27, 102, 305, 305, 252, 279, 305, 369, 305, 271, 204, 317, 305, 297,
437
-                                     225, 305, 312, 305, 211, 305, 207, 215, 209, 36, 129, 54, 112, 305, 188, 305, 14,
438
-                                     102, 145, 448, 252, 279, 91, 305, 305, 271, 204, 317, 329, 297, 312, 448, 292, 17,
439
-                                     305, 215, 209, 284, 129, 65, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305,
440
-                                     305, 305, 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 99, 67,
441
-                                     112, 305, 305, 229, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317,
442
-                                     312, 297, 211, 305, 305, 215, 209, 305, 129, 45, 112, 305, 246, 305, 305, 102, 162,
443
-                                     305, 252, 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215,
444
-                                     209, 305, 129, 56, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305,
445
-                                     271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 96, 55, 112, 305,
446
-                                     305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297,
447
-                                     211, 305, 305, 215, 97, 305, 82, 47, 103, 305, 247, 305, 305, 102, 151, 305, 252,
448
-                                     279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305,
449
-                                     129, 71, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204,
450
-                                     317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 59, 112, 305, 305, 305,
451
-                                     305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305,
452
-                                     305, 215, 209, 305, 129, 58, 112, 305, 305, 305, 305, 102, 160, 305, 252, 279, 184,
453
-                                     305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 53,
454
-                                     112, 226, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305,
455
-                                     297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 60, 112, 305, 305, 305, 305, 102,
456
-                                     305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215,
457
-                                     209, 305, 100, 64, 112, 305, 305, 305, 305, 102, 146, 305, 252, 279, 184, 305, 305,
458
-                                     271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 61, 112, 245,
459
-                                     43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
460
-                                     288, 287, 285, 280, 215, 200, 305, 129, 63, 112, 305, 305, 305, 305, 102, 305, 305,
461
-                                     252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215, 209, 305,
462
-                                     111, 51, 112, 305, 305, 305, 305, 102, 147, 305, 252, 279, 184, 305, 305, 271, 204,
463
-                                     317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 49, 112, 305, 43, 42, 37,
464
-                                     102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 288, 287,
465
-                                     285, 280, 215, 209, 305, 129, 75, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279,
466
-                                     305, 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 76, 112,
467
-                                     305, 305, 305, 305, 102, 161, 305, 252, 279, 184, 305, 305, 271, 204, 317, 329,
468
-                                     297, 312, 39, 24, 278, 305, 215, 98, 305, 82, 46, 103, 305, 305, 305, 305, 102,
469
-                                     192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305,
470
-                                     305, 215, 209, 305, 129, 70, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305,
471
-                                     305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 57, 112, 305,
472
-                                     305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297,
473
-                                     312, 305, 305, 305, 305, 215, 199, 305, 109, 62, 112, 305, 305, 305, 305, 102, 305,
474
-                                     305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305,
475
-                                     215, 209, 305, 129, 72, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305,
476
-                                     305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 77, 112, 305, 305,
477
-                                     305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
478
-                                     305, 305, 305, 305, 215, 209, 305, 129, 68, 112, 305, 305, 305, 305, 102, 305, 305,
479
-                                     252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305, 215,
480
-                                     209, 305, 129, 74, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305,
481
-                                     271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 48, 112, 305, 305, 305,
482
-                                     305, 102, 305, 305, 252, 279, 414, 414, 305, 271, 204, 317, 305, 297, 312, 305,
483
-                                     305, 305, 305, 215, 209, 305, 129, 66, 112, 305, 305, 305, 305, 102, 305, 305, 252,
484
-                                     279, 211, 305, 305, 271, 204, 317, 305, 297, 448, 305, 414, 414, 414, 533, 52, 243,
485
-                                     239, 249, 217, 305, 448, 215, 305, 305, 30, 305, 36, 414, 414, 414, 414, 305, 233,
486
-                                     14, 305, 305, 305, 305, 43, 42, 37, 305, 477, 477, 312, 23, 305, 477, 461, 215,
487
-                                     209, 211, 127, 305, 112, 288, 287, 285, 280, 102, 305, 301, 357, 313, 305, 292, 17,
488
-                                     271, 204, 317, 284, 297, 305, 305, 302, 305, 461, 36, 36, 461, 36, 477, 157, 461,
489
-                                     14, 14, 305, 14, 305, 43, 42, 37, 305, 305, 305, 312, 305, 211, 78, 305, 215, 209,
490
-                                     305, 130, 305, 112, 288, 287, 285, 280, 102, 305, 305, 305, 240, 305, 292, 17, 271,
491
-                                     204, 317, 284, 297, 36, 305, 305, 305, 305, 305, 305, 14, 36, 305, 173, 312, 43,
492
-                                     42, 37, 14, 215, 209, 305, 122, 305, 112, 305, 305, 305, 305, 102, 304, 305, 288,
493
-                                     287, 285, 280, 305, 271, 204, 317, 305, 297, 302, 305, 312, 305, 36, 305, 305, 215,
494
-                                     209, 305, 123, 14, 112, 312, 305, 305, 305, 102, 215, 209, 305, 124, 305, 112, 78,
495
-                                     271, 204, 317, 102, 297, 305, 305, 305, 305, 305, 305, 271, 204, 317, 312, 297,
496
-                                     305, 305, 305, 215, 209, 305, 119, 305, 112, 305, 305, 305, 305, 102, 305, 305,
497
-                                     233, 305, 305, 305, 305, 271, 204, 317, 305, 297, 477, 477, 312, 32, 305, 477, 461,
498
-                                     215, 209, 305, 126, 305, 112, 305, 305, 305, 305, 102, 305, 305, 233, 305, 305,
499
-                                     305, 305, 271, 204, 317, 305, 297, 477, 477, 305, 305, 461, 477, 461, 461, 312,
500
-                                     477, 19, 461, 211, 215, 209, 305, 125, 305, 112, 305, 477, 477, 305, 102, 305, 477,
501
-                                     461, 305, 305, 305, 305, 271, 204, 317, 461, 297, 305, 461, 305, 477, 305, 461,
502
-                                     333, 305, 211, 305, 305, 305, 305, 305, 43, 42, 37, 305, 461, 305, 305, 461, 305,
503
-                                     477, 305, 461, 305, 305, 233, 110, 305, 288, 287, 285, 280, 305, 306, 305, 477,
504
-                                     477, 305, 305, 305, 477, 461, 305, 43, 42, 37, 477, 477, 305, 305, 305, 477, 461,
505
-                                     305, 305, 305, 305, 305, 305, 305, 288, 287, 285, 280, 305, 305, 305, 305, 305,
506
-                                     461, 305, 305, 461, 408, 477, 305, 461, 305, 305, 305, 461, 305, 305, 461, 408,
507
-                                     477, 408, 461, 305, 408, 305, 305, 305, 305, 305, 305, 408, 305, 408, 305, 408,
508
-                                     305, 305, 305, 305, 305, 305, 305, 232,);
509
-
510
-    static public $yy_lookahead = array(12, 13, 14, 17, 16, 17, 72, 19, 20, 21, 76, 8, 9, 10, 26, 81, 22, 17, 30, 31,
511
-                                        32, 33, 27, 35, 90, 37, 15, 93, 40, 34, 36, 43, 44, 45, 46, 72, 48, 51, 50, 76,
512
-                                        52, 53, 98, 55, 81, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 15, 93, 46, 18, 26,
513
-                                        86, 87, 88, 30, 53, 32, 33, 94, 35, 76, 37, 78, 79, 40, 81, 101, 43, 44, 45, 46,
514
-                                        36, 48, 38, 50, 14, 52, 53, 54, 55, 49, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21,
515
-                                        17, 81, 12, 13, 26, 13, 14, 17, 30, 17, 32, 33, 66, 35, 15, 37, 15, 71, 40, 99,
516
-                                        47, 43, 44, 45, 46, 55, 48, 35, 50, 101, 52, 53, 36, 55, 61, 12, 13, 14, 60, 16,
517
-                                        17, 23, 19, 20, 21, 46, 36, 55, 38, 26, 54, 105, 106, 30, 14, 32, 33, 17, 35,
518
-                                        15, 37, 14, 18, 40, 17, 47, 43, 44, 45, 46, 46, 48, 54, 50, 14, 52, 53, 53, 55,
519
-                                        18, 12, 13, 14, 60, 16, 17, 73, 19, 20, 21, 50, 46, 52, 49, 26, 55, 83, 37, 30,
520
-                                        54, 32, 33, 66, 35, 17, 37, 94, 71, 40, 96, 49, 43, 44, 45, 46, 55, 48, 76, 50,
521
-                                        78, 52, 53, 81, 55, 1, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21, 65, 66, 67, 68,
522
-                                        26, 13, 71, 106, 30, 14, 32, 33, 17, 35, 76, 37, 78, 73, 40, 81, 47, 43, 44, 45,
523
-                                        46, 46, 48, 83, 50, 37, 52, 53, 53, 55, 37, 12, 13, 14, 60, 16, 17, 73, 19, 20,
524
-                                        21, 101, 1, 52, 18, 26, 55, 83, 94, 30, 29, 32, 33, 36, 35, 38, 37, 17, 37, 40,
525
-                                        96, 37, 43, 44, 45, 46, 17, 48, 27, 50, 49, 52, 53, 49, 55, 34, 12, 13, 14, 60,
526
-                                        16, 17, 27, 19, 20, 21, 97, 98, 73, 34, 26, 13, 14, 37, 30, 17, 32, 33, 83, 35,
527
-                                        42, 37, 14, 18, 40, 49, 37, 43, 44, 45, 46, 96, 48, 102, 50, 35, 52, 53, 49, 55,
528
-                                        52, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 46, 15, 55, 95, 26, 97, 98, 53, 30,
529
-                                        23, 32, 33, 55, 35, 94, 37, 96, 73, 40, 73, 101, 43, 44, 45, 46, 24, 48, 83, 50,
530
-                                        83, 52, 53, 17, 55, 92, 12, 13, 14, 60, 16, 17, 99, 19, 20, 21, 101, 12, 13, 46,
531
-                                        26, 94, 17, 96, 30, 73, 32, 33, 1, 35, 54, 37, 17, 1, 40, 83, 1, 43, 44, 45, 46,
532
-                                        38, 48, 11, 50, 18, 52, 53, 96, 55, 37, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21,
533
-                                        76, 1, 73, 29, 26, 81, 1, 73, 30, 17, 32, 33, 83, 35, 35, 37, 11, 83, 40, 73,
534
-                                        101, 43, 44, 45, 46, 82, 48, 54, 50, 83, 52, 67, 27, 55, 70, 12, 13, 77, 60, 34,
535
-                                        17, 14, 3, 4, 5, 6, 7, 8, 1, 2, 27, 12, 13, 77, 54, 16, 5, 34, 19, 20, 21, 101,
536
-                                        102, 1, 2, 26, 17, 92, 82, 30, 11, 32, 33, 52, 99, 66, 82, 101, 17, 80, 71, 72,
537
-                                        1, 74, 75, 76, 39, 40, 41, 83, 81, 81, 11, 84, 85, 97, 98, 73, 89, 90, 91, 77,
538
-                                        93, 56, 57, 58, 59, 83, 96, 66, 94, 81, 103, 104, 71, 72, 94, 74, 75, 76, 39,
539
-                                        40, 41, 81, 81, 101, 11, 84, 85, 2, 15, 81, 89, 90, 91, 1, 93, 56, 57, 58, 59,
540
-                                        95, 27, 69, 9, 11, 94, 104, 66, 34, 1, 81, 37, 71, 72, 107, 74, 75, 76, 94, 78,
541
-                                        27, 28, 81, 49, 107, 84, 85, 34, 107, 107, 89, 90, 91, 107, 93, 66, 28, 107,
542
-                                        107, 107, 71, 72, 1, 74, 75, 76, 1, 39, 40, 41, 81, 107, 11, 84, 85, 107, 12,
543
-                                        13, 89, 90, 91, 17, 93, 107, 56, 57, 58, 59, 27, 100, 107, 12, 13, 66, 107, 34,
544
-                                        17, 107, 71, 72, 107, 74, 75, 76, 39, 40, 41, 107, 81, 107, 107, 84, 85, 107,
545
-                                        107, 51, 89, 90, 91, 54, 93, 56, 57, 58, 59, 107, 107, 100, 66, 107, 51, 107,
546
-                                        107, 71, 72, 1, 74, 75, 76, 107, 78, 107, 107, 81, 73, 11, 84, 85, 77, 5, 37,
547
-                                        89, 90, 91, 83, 93, 12, 13, 14, 46, 16, 27, 49, 19, 20, 21, 107, 54, 34, 107,
548
-                                        26, 5, 101, 107, 30, 107, 32, 33, 12, 13, 14, 107, 16, 107, 107, 19, 20, 21,
549
-                                        107, 39, 40, 41, 26, 107, 107, 107, 30, 107, 32, 33, 107, 107, 107, 107, 60, 61,
550
-                                        56, 57, 58, 59, 107, 107, 107, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76,
551
-                                        1, 107, 60, 61, 81, 107, 107, 84, 85, 107, 11, 107, 89, 90, 91, 107, 93, 18,
552
-                                        107, 66, 107, 1, 107, 100, 71, 72, 27, 74, 75, 76, 107, 11, 107, 34, 81, 73, 37,
553
-                                        84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 49, 12, 13, 107, 71, 72, 17, 74,
554
-                                        75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107,
555
-                                        93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 51, 107, 81, 107,
556
-                                        107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74,
557
-                                        75, 76, 107, 11, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83,
558
-                                        93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107,
559
-                                        84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74,
560
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
561
-                                        93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107, 11, 107, 107, 81, 73, 107, 84,
562
-                                        85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75,
563
-                                        76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
564
-                                        66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
565
-                                        84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76,
566
-                                        107, 107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66,
567
-                                        86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38, 39, 40, 41, 81, 101, 107, 84, 85,
568
-                                        107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
569
-                                        107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1,
570
-                                        107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85, 77,
571
-                                        107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38,
572
-                                        39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56,
573
-                                        57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
574
-                                        107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107,
575
-                                        107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86,
576
-                                        87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85,
577
-                                        107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
578
-                                        107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93,
579
-                                        107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85,
580
-                                        77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76,
581
-                                        107, 107, 107, 107, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
582
-                                        66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107,
583
-                                        107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74,
584
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
585
-                                        107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107,
586
-                                        81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107,
587
-                                        107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107,
588
-                                        107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107,
589
-                                        107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
590
-                                        107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84,
591
-                                        85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
592
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
593
-                                        93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
594
-                                        84, 85, 1, 2, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
595
-                                        75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 1, 107, 107, 89, 90, 91, 107,
596
-                                        93, 37, 107, 39, 40, 41, 63, 64, 65, 66, 67, 68, 107, 49, 71, 107, 107, 25, 107,
597
-                                        27, 56, 57, 58, 59, 107, 2, 34, 107, 107, 107, 107, 39, 40, 41, 107, 12, 13, 66,
598
-                                        15, 107, 17, 18, 71, 72, 1, 74, 107, 76, 56, 57, 58, 59, 81, 107, 11, 11, 85,
599
-                                        107, 12, 13, 89, 90, 91, 17, 93, 107, 107, 23, 107, 46, 27, 27, 49, 27, 51, 29,
600
-                                        53, 34, 34, 107, 34, 107, 39, 40, 41, 107, 107, 107, 66, 107, 1, 47, 107, 71,
601
-                                        72, 107, 74, 107, 76, 56, 57, 58, 59, 81, 107, 107, 107, 85, 107, 12, 13, 89,
602
-                                        90, 91, 17, 93, 27, 107, 107, 107, 107, 107, 107, 34, 27, 107, 29, 66, 39, 40,
603
-                                        41, 34, 71, 72, 107, 74, 107, 76, 107, 107, 107, 107, 81, 11, 107, 56, 57, 58,
604
-                                        59, 107, 89, 90, 91, 107, 93, 23, 107, 66, 107, 27, 107, 107, 71, 72, 107, 74,
605
-                                        34, 76, 66, 107, 107, 107, 81, 71, 72, 107, 74, 107, 76, 47, 89, 90, 91, 81, 93,
606
-                                        107, 107, 107, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107,
607
-                                        74, 107, 76, 107, 107, 107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90,
608
-                                        91, 107, 93, 12, 13, 66, 15, 107, 17, 18, 71, 72, 107, 74, 107, 76, 107, 107,
609
-                                        107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90, 91, 107, 93, 12, 13, 107,
610
-                                        107, 46, 17, 18, 49, 66, 51, 2, 53, 1, 71, 72, 107, 74, 107, 76, 107, 12, 13,
611
-                                        107, 81, 107, 17, 18, 107, 107, 107, 107, 89, 90, 91, 46, 93, 107, 49, 107, 51,
612
-                                        107, 53, 54, 107, 1, 107, 107, 107, 107, 107, 39, 40, 41, 107, 46, 107, 107, 49,
613
-                                        107, 51, 107, 53, 107, 107, 2, 22, 107, 56, 57, 58, 59, 107, 61, 107, 12, 13,
614
-                                        107, 107, 107, 17, 18, 107, 39, 40, 41, 12, 13, 107, 107, 107, 17, 18, 107, 107,
615
-                                        107, 107, 107, 107, 107, 56, 57, 58, 59, 107, 107, 107, 107, 107, 46, 107, 107,
616
-                                        49, 11, 51, 107, 53, 107, 107, 107, 46, 107, 107, 49, 22, 51, 24, 53, 107, 27,
617
-                                        107, 107, 107, 107, 107, 107, 34, 107, 36, 107, 38, 107, 107, 107, 107, 107,
618
-                                        107, 107, 46,);
619
-
620
-    const YY_SHIFT_USE_DFLT = - 15;
621
-
622
-    const YY_SHIFT_MAX = 238;
623
-
624
-    static public $yy_shift_ofst = array(499, 393, 78, 393, 348, 78, 78, 348, - 12, - 12, 33, 78, 78, 78, 78, 168, 78,
625
-                                         78, 78, 213, 123, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 303, 78, 78, 78,
626
-                                         168, 258, 258, 438, 438, 438, 438, 438, 438, 1609, 1660, 1706, 1706, 1706,
627
-                                         1706, 1706, 499, 1912, 1153, 609, 541, 507, 989, 907, 825, 1071, 646, 1880,
628
-                                         1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 731,
629
-                                         731, 140, 725, 804, 230, 465, 280, 160, 747, 1714, 1663, 483, 483, 160, 280,
630
-                                         280, 324, 160, 522, 594, 1661, 1749, 642, 715, 317, 842, 40, 404, 3, 144, 404,
631
-                                         - 5, 460, 327, 431, 161, 294, 147, 147, 426, - 5, 434, 223, 223, 265, 223, 223,
632
-                                         223, 223, 223, 223, 265, 223, - 15, 1827, 1857, 1640, 1877, 1931, 1942, 92,
633
-                                         645, 11, 90, - 5, 70, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, 214,
634
-                                         - 5, 70, - 5, 70, - 5, - 5, - 5, - 5, - 5, 124, 124, 227, 124, 356, 124, 214,
635
-                                         124, 124, - 5, 70, 124, 124, 223, 223, 595, 587, 587, 223, 265, 232, 223, 265,
636
-                                         265, 223, - 15, - 15, - 15, - 15, - 15, 1581, 1970, 575, 694, 660, 260, 118,
637
-                                         73, - 6, 96, 256, 295, 308, 145, 44, 110, 208, 263, - 14, 99, 439, 232, 519,
638
-                                         521, 511, 509, 487, 83, 187, 101, 372, 279, 0, 297, 288, 481, 452, 371, 307,
639
-                                         319, 385, 412, 414, 433, 375, 402,);
640
-
641
-    const YY_REDUCE_USE_DFLT = - 67;
642
-
643
-    const YY_REDUCE_MAX = 192;
644
-
645
-    static public $yy_reduce_ofst = array(1560, 469, 608, 503, 542, 570, 728, 643, 922, 1278, 1360, 1060, 950, 1032,
646
-                                          1086, 896, 868, 1004, 786, 1414, 1332, 1114, 1524, 1168, 1224, 1250, 1196,
647
-                                          1142, 1306, 1470, 1496, 1388, 1442, 978, 758, 840, 814, 1588, 1639, 1745,
648
-                                          1719, 1678, 1708, 1775, 1811, 1259, 931, 931, 1013, 1095, 849, 1177, 170,
649
-                                          - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26,
650
-                                          - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 66,
651
-                                          46, 652, - 37, 484, 767, - 7, 136, 351, 113, 203, 254, 141, 314, 179, 278,
652
-                                          173, 420, 289, 394, 394, 289, 289, 20, 290, 228, 290, 424, 228, 326, 406, 289,
653
-                                          384, 289, 228, 316, 312, 435, 379, 389, 289, 289, 436, 458, 289, 289, 289,
654
-                                          289, 289, 289, 228, 289, 289, 476, 476, 476, 476, 476, 476, 502, 472, 476,
655
-                                          476, 466, 470, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 482, 466,
656
-                                          490, 466, 510, 466, 466, 466, 466, 466, 506, 506, 512, 506, 459, 506, 525,
657
-                                          506, 506, 466, 530, 506, 506, 28, 28, 534, 250, 250, 28, - 56, 193, 28, - 56,
658
-                                          - 56, 28, 112, - 27, 454, 403, 446,);
659
-
660
-    static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
661
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
662
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
663
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
664
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
665
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
666
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
667
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
668
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
669
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
670
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
671
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
672
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
673
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
674
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
675
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
676
-                                                  44, 45, 46, 48, 50, 52, 53, 55, 60,),
677
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
678
-                                                  44, 45, 46, 48, 50, 52, 53, 55, 60,),
679
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
680
-                                                  45, 46, 48, 50, 52, 53, 54, 55, 60,),
681
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
682
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
683
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
684
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
685
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
686
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
687
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
688
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
689
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
690
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
691
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
692
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
693
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
694
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
695
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
696
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
697
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
698
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
699
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
700
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
701
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
702
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
703
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
704
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
705
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
706
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
707
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
708
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
709
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
710
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
711
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
712
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
713
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
714
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
715
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
716
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
717
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
718
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
719
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
720
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
721
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
722
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
723
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
724
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
725
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
726
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
727
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
728
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
729
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
730
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
731
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
732
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
733
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
734
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
735
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
736
-                                                  45, 46, 48, 50, 52, 53, 55, 60,),
737
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
738
-                                                  45, 46, 48, 50, 52, 55, 60,),
739
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
740
-                                                  45, 46, 48, 50, 52, 55, 60,),
741
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
742
-                                                  45, 46, 48, 50, 52, 55, 60,),
743
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
744
-                                                  45, 46, 48, 50, 52, 55, 60,),
745
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
746
-                                                  45, 46, 48, 50, 52, 55, 60,),
747
-                                            array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
748
-                                                  45, 46, 48, 50, 52, 55, 60,),
749
-                                            array(1, 25, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
750
-                                            array(1, 11, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
751
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
752
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
753
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
754
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
755
-                                            array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
756
-                                            array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
757
-                                            array(1, 22, 39, 40, 41, 56, 57, 58, 59,),
758
-                                            array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
759
-                                            array(1, 28, 39, 40, 41, 56, 57, 58, 59,),
760
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
761
-                                            array(1, 2, 39, 40, 41, 56, 57, 58, 59,),
762
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
763
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
764
-                                            array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
765
-                                            array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
766
-                                            array(1, 39, 40, 41, 54, 56, 57, 58, 59,),
767
-                                            array(1, 39, 40, 41, 56, 57, 58, 59, 61,),
768
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
769
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
770
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
771
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
772
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
773
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
774
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
775
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
776
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
777
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
778
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,),
779
-                                            array(1, 39, 40, 41, 56, 57, 58, 59,), array(39, 40, 41, 56, 57, 58, 59,),
780
-                                            array(39, 40, 41, 56, 57, 58, 59,), array(14, 17, 50, 52, 55,),
781
-                                            array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
782
-                                            array(1, 11, 18, 27, 34, 37, 49,), array(14, 17, 52, 55,),
783
-                                            array(1, 11, 27, 34,), array(1, 27, 34,), array(14, 37, 55,),
784
-                                            array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
785
-                                            array(12, 13, 17, 27, 29, 34,), array(12, 13, 17, 27, 29, 34,),
786
-                                            array(12, 13, 17, 27, 34,), array(12, 13, 17, 27, 34,), array(14, 37, 55,),
787
-                                            array(1, 27, 34,), array(1, 27, 34,), array(18, 46, 53,),
788
-                                            array(14, 37, 55,), array(1, 2,), array(1, 11, 27, 28, 34,),
789
-                                            array(11, 23, 27, 34, 47,), array(11, 23, 27, 34, 47,),
790
-                                            array(1, 11, 27, 34,), array(1, 11, 27, 34,), array(13, 14, 17, 55,),
791
-                                            array(12, 13, 17, 51,), array(15, 18, 49,), array(12, 13, 17,),
792
-                                            array(8, 9, 10,), array(15, 18, 49,), array(12, 13, 17,), array(27, 34,),
793
-                                            array(1, 54,), array(14, 55,), array(1, 11,), array(18, 49,),
794
-                                            array(27, 34,), array(14, 17,), array(14, 17,), array(1, 18,),
795
-                                            array(27, 34,), array(1, 29,), array(1,), array(1,), array(18,), array(1,),
796
-                                            array(1,), array(1,), array(1,), array(1,), array(1,), array(18,),
797
-                                            array(1,), array(), array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
798
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53, 54,),
799
-                                            array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
800
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
801
-                                            array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
802
-                                            array(12, 13, 17, 18, 46, 49, 51, 53,), array(13, 14, 17, 35, 55,),
803
-                                            array(12, 13, 17, 51,), array(15, 46, 53,), array(12, 13, 17,),
804
-                                            array(27, 34,), array(14, 55,), array(27, 34,), array(27, 34,),
805
-                                            array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
806
-                                            array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
807
-                                            array(46, 53,), array(27, 34,), array(14, 55,), array(27, 34,),
808
-                                            array(14, 55,), array(27, 34,), array(27, 34,), array(27, 34,),
809
-                                            array(27, 34,), array(27, 34,), array(46, 53,), array(46, 53,),
810
-                                            array(13, 37,), array(46, 53,), array(15, 23,), array(46, 53,),
811
-                                            array(46, 53,), array(46, 53,), array(46, 53,), array(27, 34,),
812
-                                            array(14, 55,), array(46, 53,), array(46, 53,), array(1,), array(1,),
813
-                                            array(9,), array(2,), array(2,), array(1,), array(18,), array(37,),
814
-                                            array(1,), array(18,), array(18,), array(1,), array(), array(), array(),
815
-                                            array(), array(), array(1, 2, 37, 39, 40, 41, 49, 56, 57, 58, 59,),
816
-                                            array(11, 22, 24, 27, 34, 36, 38, 46,), array(11, 15, 27, 34, 37, 49,),
817
-                                            array(37, 46, 49, 54,), array(12, 13, 17, 51,), array(29, 37, 49,),
818
-                                            array(23, 47, 54,), array(23, 47, 61,), array(22, 36,), array(36, 54,),
819
-                                            array(36, 38,), array(37, 49,), array(37, 49,), array(46, 54,),
820
-                                            array(36, 38,), array(36, 38,), array(23, 47,), array(37, 49,),
821
-                                            array(17, 51,), array(15, 46,), array(35,), array(37,), array(11,),
822
-                                            array(17,), array(5,), array(17,), array(14,), array(17,), array(17,),
823
-                                            array(15,), array(46,), array(17,), array(17,), array(42,), array(17,),
824
-                                            array(52,), array(17,), array(24,), array(52,), array(35,), array(17,),
825
-                                            array(37,), array(17,), array(54,), array(54,), array(38,), array(),
826
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
827
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
828
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
829
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
830
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
831
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
832
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
833
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
834
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
835
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
836
-                                            array(), array(), array(), array(), array(), array(), array(), array(),
837
-                                            array(), array(), array(), array(), array(), array(), array(), array(),);
838
-
839
-    static public $yy_default = array(339, 517, 496, 532, 532, 496, 496, 532, 532, 532, 532, 532, 532, 532, 532, 532,
840
-                                      532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
841
-                                      532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 398, 532, 361,
842
-                                      398, 398, 374, 364, 336, 532, 532, 403, 532, 532, 532, 532, 532, 532, 532, 532,
843
-                                      400, 494, 518, 403, 409, 520, 379, 519, 405, 495, 410, 420, 425, 424, 532, 532,
844
-                                      436, 532, 412, 398, 532, 532, 398, 398, 398, 398, 532, 398, 398, 508, 532, 388,
845
-                                      412, 426, 426, 412, 412, 532, 461, 451, 461, 532, 451, 461, 398, 412, 532, 412,
846
-                                      451, 398, 532, 532, 392, 376, 412, 419, 394, 505, 427, 416, 428, 429, 415, 423,
847
-                                      451, 412, 503, 450, 450, 450, 450, 450, 450, 532, 463, 477, 461, 384, 532, 372,
848
-                                      383, 371, 366, 365, 368, 370, 360, 362, 385, 454, 386, 532, 358, 532, 387, 377,
849
-                                      382, 381, 375, 457, 486, 461, 487, 532, 489, 456, 455, 488, 378, 532, 458, 459,
850
-                                      445, 393, 352, 497, 498, 389, 506, 461, 418, 509, 483, 395, 461, 461, 502, 502,
851
-                                      502, 436, 432, 436, 436, 462, 436, 426, 426, 532, 532, 532, 532, 436, 432, 532,
852
-                                      532, 426, 446, 532, 432, 532, 477, 532, 532, 344, 532, 532, 532, 532, 532, 432,
853
-                                      532, 532, 438, 532, 532, 532, 406, 532, 434, 532, 507, 532, 441, 532, 532, 340,
854
-                                      504, 492, 338, 337, 491, 438, 467, 482, 396, 341, 441, 477, 413, 349, 343, 350,
855
-                                      466, 351, 411, 348, 431, 346, 345, 347, 433, 407, 465, 355, 464, 356, 414, 437,
856
-                                      399, 353, 435, 380, 354, 342, 421, 417, 513, 479, 440, 439, 480, 512, 390, 511,
857
-                                      510, 523, 522, 521, 481, 484, 493, 500, 478, 453, 485, 499, 452, 529, 430, 501,
858
-                                      528, 391, 526, 525, 443, 373, 460, 490, 444, 422, 473, 471, 476, 442, 470, 469,
859
-                                      468, 447, 449, 524, 475, 531, 530, 527, 448, 397, 515, 474, 516, 472, 514, 367,);
860
-
861
-    const YYNOCODE = 108;
862
-
863
-    const YYSTACKDEPTH = 500;
864
-
865
-    const YYNSTATE = 336;
866
-
867
-    const YYNRULE = 196;
868
-
869
-    const YYERRORSYMBOL = 62;
870
-
871
-    const YYERRSYMDT = 'yy0';
872
-
873
-    const YYFALLBACK = 0;
874
-
875
-    public static $yyFallback = array();
876
-
877
-    public function Trace($TraceFILE, $zTracePrompt)
878
-    {
879
-        if (!$TraceFILE) {
880
-            $zTracePrompt = 0;
881
-        } elseif (!$zTracePrompt) {
882
-            $TraceFILE = 0;
883
-        }
884
-        $this->yyTraceFILE = $TraceFILE;
885
-        $this->yyTracePrompt = $zTracePrompt;
886
-    }
887
-
888
-    public function PrintTrace()
889
-    {
890
-        $this->yyTraceFILE = fopen('php://output', 'w');
891
-        $this->yyTracePrompt = '<br>';
892
-    }
893
-
894
-    public $yyTraceFILE;
895
-
896
-    public $yyTracePrompt;
897
-
898
-    public $yyidx;                    /* Index of top element in stack */
899
-    public $yyerrcnt;                 /* Shifts left before out of the error */
900
-    public $yystack = array();  /* The parser's stack */
901
-
902
-    public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903
-                                'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
904
-                                'SIMPLETAG', 'ID', 'PTR', 'LDELMAKENOCACHE', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC',
905
-                                'TO', 'STEP', 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
906
-                                'SMARTYBLOCKCHILDPARENT', 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
907
-                                'CLOSEP', 'MATH', 'UNIMATH', 'ISIN', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT',
908
-                                'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB',
909
-                                'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK',
910
-                                'error', 'start', 'template', 'template_element', 'smartytag', 'literal',
911
-                                'text_content', 'literal_elements', 'literal_element', 'tag', 'variable', 'attributes',
912
-                                'value', 'expr', 'varindexed', 'modifierlist', 'statement', 'statements', 'foraction',
913
-                                'varvar', 'modparameters', 'attribute', 'ternary', 'array', 'tlop', 'lop', 'scond',
914
-                                'function', 'ns1', 'doublequoted_with_quotes', 'static_class_access', 'object',
915
-                                'arrayindex', 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method',
916
-                                'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted',
917
-                                'doublequotedcontent',);
918
-
919
-    public static $yyRuleName = array('start ::= template', 'template ::= template_element',
920
-                                      'template ::= template template_element', 'template ::=',
921
-                                      'template_element ::= smartytag', 'template_element ::= literal',
922
-                                      'template_element ::= PHP', 'template_element ::= NOCACHE',
923
-                                      'template_element ::= text_content', 'text_content ::= TEXT',
924
-                                      'text_content ::= text_content TEXT', 'template_element ::= STRIPON',
925
-                                      'template_element ::= STRIPOFF', 'literal ::= LITERALSTART LITERALEND',
926
-                                      'literal ::= LITERALSTART literal_elements LITERALEND',
927
-                                      'literal_elements ::= literal_elements literal_element', 'literal_elements ::=',
928
-                                      'literal_element ::= literal', 'literal_element ::= LITERAL',
929
-                                      'smartytag ::= tag RDEL', 'smartytag ::= SIMPELOUTPUT', 'tag ::= LDEL variable',
930
-                                      'tag ::= LDEL variable attributes', 'tag ::= LDEL value',
931
-                                      'tag ::= LDEL value attributes', 'tag ::= LDEL expr',
932
-                                      'tag ::= LDEL expr attributes', 'tag ::= LDEL DOLLARID EQUAL value',
933
-                                      'tag ::= LDEL DOLLARID EQUAL expr', 'tag ::= LDEL DOLLARID EQUAL expr attributes',
934
-                                      'tag ::= LDEL varindexed EQUAL expr attributes', 'smartytag ::= SIMPLETAG',
935
-                                      'tag ::= LDEL ID attributes', 'tag ::= LDEL ID',
936
-                                      'tag ::= LDEL ID modifierlist attributes', 'tag ::= LDEL ID PTR ID attributes',
937
-                                      'tag ::= LDEL ID PTR ID modifierlist attributes',
938
-                                      'tag ::= LDELMAKENOCACHE DOLLARID', 'tag ::= LDELIF expr',
939
-                                      'tag ::= LDELIF expr attributes', 'tag ::= LDELIF statement',
940
-                                      'tag ::= LDELIF statement attributes',
941
-                                      'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
942
-                                      'foraction ::= EQUAL expr', 'foraction ::= INCDEC',
943
-                                      'tag ::= LDELFOR statement TO expr attributes',
944
-                                      'tag ::= LDELFOR statement TO expr STEP expr attributes',
945
-                                      'tag ::= LDELFOREACH attributes',
946
-                                      'tag ::= LDELFOREACH SPACE value AS varvar attributes',
947
-                                      'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes',
948
-                                      'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
949
-                                      'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
950
-                                      'tag ::= LDELSETFILTER ID modparameters',
951
-                                      'tag ::= LDELSETFILTER ID modparameters modifierlist',
952
-                                      'tag ::= LDEL SMARTYBLOCKCHILDPARENT', 'smartytag ::= CLOSETAG',
953
-                                      'tag ::= LDELSLASH ID', 'tag ::= LDELSLASH ID modifierlist',
954
-                                      'tag ::= LDELSLASH ID PTR ID', 'tag ::= LDELSLASH ID PTR ID modifierlist',
955
-                                      'attributes ::= attributes attribute', 'attributes ::= attribute',
956
-                                      'attributes ::=', 'attribute ::= SPACE ID EQUAL ID', 'attribute ::= ATTR expr',
957
-                                      'attribute ::= ATTR value', 'attribute ::= SPACE ID', 'attribute ::= SPACE expr',
958
-                                      'attribute ::= SPACE value', 'attribute ::= SPACE INTEGER EQUAL expr',
959
-                                      'statements ::= statement', 'statements ::= statements COMMA statement',
960
-                                      'statement ::= DOLLARID EQUAL INTEGER', 'statement ::= DOLLARID EQUAL expr',
961
-                                      'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP',
962
-                                      'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID',
963
-                                      'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array',
964
-                                      'expr ::= expr modifierlist', 'expr ::= expr tlop value',
965
-                                      'expr ::= expr lop expr', 'expr ::= expr scond', 'expr ::= expr ISIN array',
966
-                                      'expr ::= expr ISIN value',
967
-                                      'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
968
-                                      'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable',
969
-                                      'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value',
970
-                                      'value ::= variable INCDEC', 'value ::= HEX', 'value ::= INTEGER',
971
-                                      'value ::= INTEGER DOT INTEGER', 'value ::= INTEGER DOT', 'value ::= DOT INTEGER',
972
-                                      'value ::= ID', 'value ::= function', 'value ::= OPENP expr CLOSEP',
973
-                                      'value ::= variable INSTANCEOF ns1', 'value ::= variable INSTANCEOF variable',
974
-                                      'value ::= SINGLEQUOTESTRING', 'value ::= doublequoted_with_quotes',
975
-                                      'value ::= varindexed DOUBLECOLON static_class_access', 'value ::= smartytag',
976
-                                      'value ::= value modifierlist', 'value ::= NAMESPACE',
977
-                                      'value ::= ns1 DOUBLECOLON static_class_access', 'ns1 ::= ID',
978
-                                      'ns1 ::= NAMESPACE', 'variable ::= DOLLARID', 'variable ::= varindexed',
979
-                                      'variable ::= varvar AT ID', 'variable ::= object', 'variable ::= HATCH ID HATCH',
980
-                                      'variable ::= HATCH ID HATCH arrayindex', 'variable ::= HATCH variable HATCH',
981
-                                      'variable ::= HATCH variable HATCH arrayindex',
982
-                                      'varindexed ::= DOLLARID arrayindex', 'varindexed ::= varvar arrayindex',
983
-                                      'arrayindex ::= arrayindex indexdef', 'arrayindex ::=',
984
-                                      'indexdef ::= DOT DOLLARID', 'indexdef ::= DOT varvar',
985
-                                      'indexdef ::= DOT varvar AT ID', 'indexdef ::= DOT ID',
986
-                                      'indexdef ::= DOT INTEGER', 'indexdef ::= DOT LDEL expr RDEL',
987
-                                      'indexdef ::= OPENB ID CLOSEB', 'indexdef ::= OPENB ID DOT ID CLOSEB',
988
-                                      'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
989
-                                      'indexdef ::= OPENB INTEGER CLOSEB', 'indexdef ::= OPENB DOLLARID CLOSEB',
990
-                                      'indexdef ::= OPENB variable CLOSEB', 'indexdef ::= OPENB value CLOSEB',
991
-                                      'indexdef ::= OPENB expr CLOSEB', 'indexdef ::= OPENB CLOSEB',
992
-                                      'varvar ::= DOLLARID', 'varvar ::= DOLLAR', 'varvar ::= varvar varvarele',
993
-                                      'varvarele ::= ID', 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL',
994
-                                      'object ::= varindexed objectchain', 'objectchain ::= objectelement',
995
-                                      'objectchain ::= objectchain objectelement',
996
-                                      'objectelement ::= PTR ID arrayindex', 'objectelement ::= PTR varvar arrayindex',
997
-                                      'objectelement ::= PTR LDEL expr RDEL arrayindex',
998
-                                      'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
999
-                                      'objectelement ::= PTR method', 'function ::= ns1 OPENP params CLOSEP',
1000
-                                      'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP',
1001
-                                      'params ::= params COMMA expr', 'params ::= expr', 'params ::=',
1002
-                                      'modifierlist ::= modifierlist modifier modparameters',
1003
-                                      'modifierlist ::= modifier modparameters', 'modifier ::= VERT AT ID',
1004
-                                      'modifier ::= VERT ID', 'modparameters ::= modparameters modparameter',
1005
-                                      'modparameters ::=', 'modparameter ::= COLON value',
1006
-                                      'modparameter ::= COLON array', 'static_class_access ::= method',
1007
-                                      'static_class_access ::= method objectchain', 'static_class_access ::= ID',
1008
-                                      'static_class_access ::= DOLLARID arrayindex',
1009
-                                      'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP',
1010
-                                      'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND',
1011
-                                      'array ::= OPENB arrayelements CLOSEB', 'arrayelements ::= arrayelement',
1012
-                                      'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=',
1013
-                                      'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr',
1014
-                                      'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE',
1015
-                                      'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
1016
-                                      'doublequoted ::= doublequoted doublequotedcontent',
1017
-                                      'doublequoted ::= doublequotedcontent',
1018
-                                      'doublequotedcontent ::= BACKTICK variable BACKTICK',
1019
-                                      'doublequotedcontent ::= BACKTICK expr BACKTICK',
1020
-                                      'doublequotedcontent ::= DOLLARID', 'doublequotedcontent ::= LDEL variable RDEL',
1021
-                                      'doublequotedcontent ::= LDEL expr RDEL', 'doublequotedcontent ::= smartytag',
1022
-                                      'doublequotedcontent ::= TEXT',);
1023
-
1024
-    public function tokenName($tokenType)
1025
-    {
1026
-        if ($tokenType === 0) {
1027
-            return 'End of Input';
1028
-        }
1029
-        if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1030
-            return $this->yyTokenName[ $tokenType ];
1031
-        } else {
1032
-            return "Unknown";
1033
-        }
1034
-    }
1035
-
1036
-    public static function yy_destructor($yymajor, $yypminor)
1037
-    {
1038
-        switch ($yymajor) {
1039
-            default:
1040
-                break;   /* If no destructor action specified: do nothing */
1041
-        }
1042
-    }
1043
-
1044
-    public function yy_pop_parser_stack()
1045
-    {
1046
-        if (empty($this->yystack)) {
1047
-            return;
1048
-        }
1049
-        $yytos = array_pop($this->yystack);
1050
-        if ($this->yyTraceFILE && $this->yyidx >= 0) {
1051
-            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1052
-        }
1053
-        $yymajor = $yytos->major;
1054
-        self::yy_destructor($yymajor, $yytos->minor);
1055
-        $this->yyidx --;
1056
-
1057
-        return $yymajor;
1058
-    }
1059
-
1060
-    public function __destruct()
1061
-    {
1062
-        while ($this->yystack !== Array()) {
1063
-            $this->yy_pop_parser_stack();
1064
-        }
1065
-        if (is_resource($this->yyTraceFILE)) {
1066
-            fclose($this->yyTraceFILE);
1067
-        }
1068
-    }
1069
-
1070
-    public function yy_get_expected_tokens($token)
1071
-    {
1072
-        static $res3 = array();
1073
-        static $res4 = array();
1074
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1075
-        $expected = self::$yyExpectedTokens[ $state ];
1076
-        if (isset($res3[ $state ][ $token ])) {
1077
-            if ($res3[ $state ][ $token ]) {
1078
-                return $expected;
1079
-            }
1080
-        } else {
1081
-            if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1082
-                return $expected;
1083
-            }
1084
-        }
1085
-        $stack = $this->yystack;
1086
-        $yyidx = $this->yyidx;
1087
-        do {
1088
-            $yyact = $this->yy_find_shift_action($token);
1089
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1090
-                // reduce action
1091
-                $done = 0;
1092
-                do {
1093
-                    if ($done ++ == 100) {
1094
-                        $this->yyidx = $yyidx;
1095
-                        $this->yystack = $stack;
1096
-                        // too much recursion prevents proper detection
1097
-                        // so give up
1098
-                        return array_unique($expected);
1099
-                    }
1100
-                    $yyruleno = $yyact - self::YYNSTATE;
1101
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1102
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1103
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1104
-                    if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1105
-                        $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1106
-                        if (isset($res4[ $nextstate ][ $token ])) {
1107
-                            if ($res4[ $nextstate ][ $token ]) {
1108
-                                $this->yyidx = $yyidx;
1109
-                                $this->yystack = $stack;
1110
-                                return array_unique($expected);
1111
-                            }
1112
-                        } else {
1113
-                            if ($res4[ $nextstate ][ $token ] =
1114
-                                in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1115
-                            ) {
1116
-                                $this->yyidx = $yyidx;
1117
-                                $this->yystack = $stack;
1118
-                                return array_unique($expected);
1119
-                            }
1120
-                        }
1121
-                    }
1122
-                    if ($nextstate < self::YYNSTATE) {
1123
-                        // we need to shift a non-terminal
1124
-                        $this->yyidx ++;
1125
-                        $x = new TP_yyStackEntry;
1126
-                        $x->stateno = $nextstate;
1127
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1128
-                        $this->yystack[ $this->yyidx ] = $x;
1129
-                        continue 2;
1130
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1131
-                        $this->yyidx = $yyidx;
1132
-                        $this->yystack = $stack;
1133
-                        // the last token was just ignored, we can't accept
1134
-                        // by ignoring input, this is in essence ignoring a
1135
-                        // syntax error!
1136
-                        return array_unique($expected);
1137
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
1138
-                        $this->yyidx = $yyidx;
1139
-                        $this->yystack = $stack;
1140
-                        // input accepted, but not shifted (I guess)
1141
-                        return $expected;
1142
-                    } else {
1143
-                        $yyact = $nextstate;
1144
-                    }
1145
-                }
1146
-                while (true);
1147
-            }
1148
-            break;
1149
-        }
1150
-        while (true);
1151
-        $this->yyidx = $yyidx;
1152
-        $this->yystack = $stack;
1153
-
1154
-        return array_unique($expected);
1155
-    }
1156
-
1157
-    public function yy_is_expected_token($token)
1158
-    {
1159
-        static $res = array();
1160
-        static $res2 = array();
1161
-        if ($token === 0) {
1162
-            return true; // 0 is not part of this
1163
-        }
1164
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1165
-        if (isset($res[ $state ][ $token ])) {
1166
-            if ($res[ $state ][ $token ]) {
1167
-                return true;
1168
-            }
1169
-        } else {
1170
-            if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1171
-                return true;
1172
-            }
1173
-        }
1174
-        $stack = $this->yystack;
1175
-        $yyidx = $this->yyidx;
1176
-        do {
1177
-            $yyact = $this->yy_find_shift_action($token);
1178
-            if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1179
-                // reduce action
1180
-                $done = 0;
1181
-                do {
1182
-                    if ($done ++ == 100) {
1183
-                        $this->yyidx = $yyidx;
1184
-                        $this->yystack = $stack;
1185
-                        // too much recursion prevents proper detection
1186
-                        // so give up
1187
-                        return true;
1188
-                    }
1189
-                    $yyruleno = $yyact - self::YYNSTATE;
1190
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1191
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1192
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1193
-                    if (isset($res2[ $nextstate ][ $token ])) {
1194
-                        if ($res2[ $nextstate ][ $token ]) {
1195
-                            $this->yyidx = $yyidx;
1196
-                            $this->yystack = $stack;
1197
-                            return true;
1198
-                        }
1199
-                    } else {
1200
-                        if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1201
-                                                             in_array($token, self::$yyExpectedTokens[ $nextstate ],
1202
-                                                                      true))
1203
-                        ) {
1204
-                            $this->yyidx = $yyidx;
1205
-                            $this->yystack = $stack;
1206
-                            return true;
1207
-                        }
1208
-                    }
1209
-                    if ($nextstate < self::YYNSTATE) {
1210
-                        // we need to shift a non-terminal
1211
-                        $this->yyidx ++;
1212
-                        $x = new TP_yyStackEntry;
1213
-                        $x->stateno = $nextstate;
1214
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1215
-                        $this->yystack[ $this->yyidx ] = $x;
1216
-                        continue 2;
1217
-                    } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1218
-                        $this->yyidx = $yyidx;
1219
-                        $this->yystack = $stack;
1220
-                        if (!$token) {
1221
-                            // end of input: this is valid
1222
-                            return true;
1223
-                        }
1224
-                        // the last token was just ignored, we can't accept
1225
-                        // by ignoring input, this is in essence ignoring a
1226
-                        // syntax error!
1227
-                        return false;
1228
-                    } elseif ($nextstate === self::YY_NO_ACTION) {
1229
-                        $this->yyidx = $yyidx;
1230
-                        $this->yystack = $stack;
1231
-                        // input accepted, but not shifted (I guess)
1232
-                        return true;
1233
-                    } else {
1234
-                        $yyact = $nextstate;
1235
-                    }
1236
-                }
1237
-                while (true);
1238
-            }
1239
-            break;
1240
-        }
1241
-        while (true);
1242
-        $this->yyidx = $yyidx;
1243
-        $this->yystack = $stack;
1244
-
1245
-        return true;
1246
-    }
1247
-
1248
-    public function yy_find_shift_action($iLookAhead)
1249
-    {
1250
-        $stateno = $this->yystack[ $this->yyidx ]->stateno;
1251
-
1252
-        /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
1253
-        if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1254
-            // no shift actions
1255
-            return self::$yy_default[ $stateno ];
1256
-        }
1257
-        $i = self::$yy_shift_ofst[ $stateno ];
1258
-        if ($i === self::YY_SHIFT_USE_DFLT) {
1259
-            return self::$yy_default[ $stateno ];
1260
-        }
1261
-        if ($iLookAhead == self::YYNOCODE) {
1262
-            return self::YY_NO_ACTION;
1263
-        }
1264
-        $i += $iLookAhead;
1265
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1266
-            if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) &&
1267
-                ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1268
-            ) {
1269
-                if ($this->yyTraceFILE) {
1270
-                    fwrite($this->yyTraceFILE,
1271
-                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1272
-                           $this->yyTokenName[ $iFallback ] . "\n");
1273
-                }
1274
-
1275
-                return $this->yy_find_shift_action($iFallback);
1276
-            }
1277
-
1278
-            return self::$yy_default[ $stateno ];
1279
-        } else {
1280
-            return self::$yy_action[ $i ];
1281
-        }
1282
-    }
1283
-
1284
-    public function yy_find_reduce_action($stateno, $iLookAhead)
1285
-    {
1286
-        /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1287
-
1288
-        if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
-            return self::$yy_default[ $stateno ];
1290
-        }
1291
-        $i = self::$yy_reduce_ofst[ $stateno ];
1292
-        if ($i == self::YY_REDUCE_USE_DFLT) {
1293
-            return self::$yy_default[ $stateno ];
1294
-        }
1295
-        if ($iLookAhead == self::YYNOCODE) {
1296
-            return self::YY_NO_ACTION;
1297
-        }
1298
-        $i += $iLookAhead;
1299
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
-            return self::$yy_default[ $stateno ];
1301
-        } else {
1302
-            return self::$yy_action[ $i ];
1303
-        }
1304
-    }
1305
-
1306
-    public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307
-    {
1308
-        $this->yyidx ++;
1309
-        if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
-            $this->yyidx --;
1311
-            if ($this->yyTraceFILE) {
1312
-                fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313
-            }
1314
-            while ($this->yyidx >= 0) {
1315
-                $this->yy_pop_parser_stack();
1316
-            }
1317
-            #line 207 "../smarty/lexer/smarty_internal_templateparser.y"
1318
-
1319
-            $this->internalError = true;
1320
-            $this->compiler->trigger_template_error("Stack overflow in template parser");
1321
-
1322
-            return;
1323
-        }
1324
-        $yytos = new TP_yyStackEntry;
1325
-        $yytos->stateno = $yyNewState;
1326
-        $yytos->major = $yyMajor;
1327
-        $yytos->minor = $yypMinor;
1328
-        $this->yystack[] = $yytos;
1329
-        if ($this->yyTraceFILE && $this->yyidx > 0) {
1330
-            fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331
-            fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
-            for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
-                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1334
-            }
1335
-            fwrite($this->yyTraceFILE, "\n");
1336
-        }
1337
-    }
1338
-
1339
-    public static $yyRuleInfo = array(array(0 => 63, 1 => 1), array(0 => 64, 1 => 1), array(0 => 64, 1 => 2),
1340
-                                      array(0 => 64, 1 => 0), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1341
-                                      array(0 => 65, 1 => 1), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1342
-                                      array(0 => 68, 1 => 1), array(0 => 68, 1 => 2), array(0 => 65, 1 => 1),
1343
-                                      array(0 => 65, 1 => 1), array(0 => 67, 1 => 2), array(0 => 67, 1 => 3),
1344
-                                      array(0 => 69, 1 => 2), array(0 => 69, 1 => 0), array(0 => 70, 1 => 1),
1345
-                                      array(0 => 70, 1 => 1), array(0 => 66, 1 => 2), array(0 => 66, 1 => 1),
1346
-                                      array(0 => 71, 1 => 2), array(0 => 71, 1 => 3), array(0 => 71, 1 => 2),
1347
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1348
-                                      array(0 => 71, 1 => 4), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1349
-                                      array(0 => 71, 1 => 5), array(0 => 66, 1 => 1), array(0 => 71, 1 => 3),
1350
-                                      array(0 => 71, 1 => 2), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1351
-                                      array(0 => 71, 1 => 6), array(0 => 71, 1 => 2), array(0 => 71, 1 => 2),
1352
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1353
-                                      array(0 => 71, 1 => 8), array(0 => 80, 1 => 2), array(0 => 80, 1 => 1),
1354
-                                      array(0 => 71, 1 => 5), array(0 => 71, 1 => 7), array(0 => 71, 1 => 2),
1355
-                                      array(0 => 71, 1 => 6), array(0 => 71, 1 => 8), array(0 => 71, 1 => 6),
1356
-                                      array(0 => 71, 1 => 8), array(0 => 71, 1 => 3), array(0 => 71, 1 => 4),
1357
-                                      array(0 => 71, 1 => 2), array(0 => 66, 1 => 1), array(0 => 71, 1 => 2),
1358
-                                      array(0 => 71, 1 => 3), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1359
-                                      array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 0),
1360
-                                      array(0 => 83, 1 => 4), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1361
-                                      array(0 => 83, 1 => 2), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1362
-                                      array(0 => 83, 1 => 4), array(0 => 79, 1 => 1), array(0 => 79, 1 => 3),
1363
-                                      array(0 => 78, 1 => 3), array(0 => 78, 1 => 3), array(0 => 78, 1 => 3),
1364
-                                      array(0 => 78, 1 => 3), array(0 => 75, 1 => 1), array(0 => 75, 1 => 1),
1365
-                                      array(0 => 75, 1 => 3), array(0 => 75, 1 => 3), array(0 => 75, 1 => 3),
1366
-                                      array(0 => 75, 1 => 1), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1367
-                                      array(0 => 75, 1 => 3), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1368
-                                      array(0 => 75, 1 => 3), array(0 => 84, 1 => 7), array(0 => 84, 1 => 7),
1369
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 2),
1370
-                                      array(0 => 74, 1 => 2), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1371
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), array(0 => 74, 1 => 2),
1372
-                                      array(0 => 74, 1 => 2), array(0 => 74, 1 => 1), array(0 => 74, 1 => 1),
1373
-                                      array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3),
1374
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 1), array(0 => 74, 1 => 3),
1375
-                                      array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1376
-                                      array(0 => 74, 1 => 3), array(0 => 90, 1 => 1), array(0 => 90, 1 => 1),
1377
-                                      array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), array(0 => 72, 1 => 3),
1378
-                                      array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 72, 1 => 4),
1379
-                                      array(0 => 72, 1 => 3), array(0 => 72, 1 => 4), array(0 => 76, 1 => 2),
1380
-                                      array(0 => 76, 1 => 2), array(0 => 94, 1 => 2), array(0 => 94, 1 => 0),
1381
-                                      array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1382
-                                      array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1383
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 5), array(0 => 95, 1 => 3),
1384
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 3),
1385
-                                      array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 2),
1386
-                                      array(0 => 81, 1 => 1), array(0 => 81, 1 => 1), array(0 => 81, 1 => 2),
1387
-                                      array(0 => 96, 1 => 1), array(0 => 96, 1 => 1), array(0 => 96, 1 => 3),
1388
-                                      array(0 => 93, 1 => 2), array(0 => 97, 1 => 1), array(0 => 97, 1 => 2),
1389
-                                      array(0 => 98, 1 => 3), array(0 => 98, 1 => 3), array(0 => 98, 1 => 5),
1390
-                                      array(0 => 98, 1 => 6), array(0 => 98, 1 => 2), array(0 => 89, 1 => 4),
1391
-                                      array(0 => 99, 1 => 4), array(0 => 99, 1 => 4), array(0 => 100, 1 => 3),
1392
-                                      array(0 => 100, 1 => 1), array(0 => 100, 1 => 0), array(0 => 77, 1 => 3),
1393
-                                      array(0 => 77, 1 => 2), array(0 => 101, 1 => 3), array(0 => 101, 1 => 2),
1394
-                                      array(0 => 82, 1 => 2), array(0 => 82, 1 => 0), array(0 => 102, 1 => 2),
1395
-                                      array(0 => 102, 1 => 2), array(0 => 92, 1 => 1), array(0 => 92, 1 => 2),
1396
-                                      array(0 => 92, 1 => 1), array(0 => 92, 1 => 2), array(0 => 92, 1 => 3),
1397
-                                      array(0 => 87, 1 => 1), array(0 => 87, 1 => 1), array(0 => 86, 1 => 1),
1398
-                                      array(0 => 88, 1 => 1), array(0 => 85, 1 => 3), array(0 => 103, 1 => 1),
1399
-                                      array(0 => 103, 1 => 3), array(0 => 103, 1 => 0), array(0 => 104, 1 => 3),
1400
-                                      array(0 => 104, 1 => 3), array(0 => 104, 1 => 1), array(0 => 91, 1 => 2),
1401
-                                      array(0 => 91, 1 => 3), array(0 => 105, 1 => 2), array(0 => 105, 1 => 1),
1402
-                                      array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1403
-                                      array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1404
-                                      array(0 => 106, 1 => 1),);
1405
-
1406
-    public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 17 => 9,
1407
-                                       18 => 9, 44 => 9, 67 => 9, 68 => 9, 76 => 9, 77 => 9, 81 => 9, 90 => 9, 95 => 9,
1408
-                                       96 => 9, 101 => 9, 105 => 9, 106 => 9, 110 => 9, 112 => 9, 117 => 9, 179 => 9,
1409
-                                       184 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 75 => 14,
1410
-                                       15 => 15, 91 => 15, 93 => 15, 94 => 15, 124 => 15, 19 => 19, 20 => 20, 21 => 21,
1411
-                                       23 => 21, 25 => 21, 22 => 22, 24 => 22, 26 => 22, 27 => 27, 28 => 27, 29 => 29,
1412
-                                       30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37,
1413
-                                       38 => 38, 39 => 39, 41 => 39, 40 => 40, 42 => 42, 43 => 43, 45 => 45, 46 => 46,
1414
-                                       47 => 47, 48 => 48, 50 => 48, 49 => 49, 51 => 49, 52 => 52, 53 => 53, 54 => 54,
1415
-                                       55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 70 => 61,
1416
-                                       159 => 61, 163 => 61, 167 => 61, 168 => 61, 62 => 62, 160 => 62, 166 => 62,
1417
-                                       63 => 63, 64 => 64, 65 => 64, 66 => 66, 144 => 66, 69 => 69, 71 => 71, 72 => 72,
1418
-                                       73 => 72, 74 => 74, 78 => 78, 79 => 79, 80 => 79, 82 => 82, 109 => 82, 83 => 83,
1419
-                                       84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 88, 89 => 89, 92 => 92, 97 => 97,
1420
-                                       98 => 98, 99 => 99, 100 => 100, 102 => 102, 103 => 103, 104 => 103, 107 => 107,
1421
-                                       108 => 108, 111 => 111, 113 => 113, 114 => 114, 115 => 115, 116 => 116,
1422
-                                       118 => 118, 119 => 119, 120 => 120, 121 => 121, 122 => 122, 123 => 123,
1423
-                                       125 => 125, 181 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129,
1424
-                                       130 => 130, 131 => 131, 139 => 131, 132 => 132, 133 => 133, 134 => 134,
1425
-                                       135 => 134, 137 => 134, 138 => 134, 136 => 136, 140 => 140, 141 => 141,
1426
-                                       142 => 142, 185 => 142, 143 => 143, 145 => 145, 146 => 146, 147 => 147,
1427
-                                       148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153,
1428
-                                       154 => 154, 155 => 155, 156 => 156, 157 => 157, 158 => 158, 161 => 161,
1429
-                                       162 => 162, 164 => 164, 165 => 165, 169 => 169, 170 => 170, 171 => 171,
1430
-                                       172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177,
1431
-                                       178 => 178, 180 => 180, 182 => 182, 183 => 183, 186 => 186, 187 => 187,
1432
-                                       188 => 188, 189 => 189, 190 => 189, 192 => 189, 191 => 191, 193 => 193,
1433
-                                       194 => 194, 195 => 195,);
1434
-
1435
-    #line 218 "../smarty/lexer/smarty_internal_templateparser.y"
1436
-    public function yy_r0()
1437
-    {
1438
-        $this->root_buffer->prepend_array($this, $this->template_prefix);
1439
-        $this->root_buffer->append_array($this, $this->template_postfix);
1440
-        $this->_retvalue = $this->root_buffer->to_smarty_php($this);
1441
-    }
1442
-
1443
-    #line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444
-    public function yy_r1()
1445
-    {
1446
-        if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1447
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1448
-        }
1449
-    }
1450
-
1451
-    #line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452
-    public function yy_r2()
1453
-    {
1454
-        if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1455
-            // because of possible code injection
1456
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1457
-        }
1458
-    }
1459
-
1460
-    #line 249 "../smarty/lexer/smarty_internal_templateparser.y"
1461
-    public function yy_r4()
1462
-    {
1463
-        if ($this->compiler->has_code) {
1464
-            $this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1465
-        } else {
1466
-            $this->_retvalue = null;
1467
-        }
1468
-        $this->compiler->has_variable_string = false;
1469
-        $this->block_nesting_level = count($this->compiler->_tag_stack);
1470
-    }
1471
-
1472
-    #line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473
-    public function yy_r5()
1474
-    {
1475
-        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1476
-    }
1477
-
1478
-    #line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479
-    public function yy_r6()
1480
-    {
1481
-        $code = $this->compiler->compileTag('private_php',
1482
-                                            array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1483
-                                                  array('type' => $this->lex->phpType)), array());
1484
-        if ($this->compiler->has_code && !empty($code)) {
1485
-            $tmp = '';
1486
-            foreach ($this->compiler->prefix_code as $code) {
1487
-                $tmp .= $code;
1488
-            }
1489
-            $this->compiler->prefix_code = array();
1490
-            $this->_retvalue =
1491
-                new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true));
1492
-        } else {
1493
-            $this->_retvalue = null;
1494
-        }
1495
-    }
1496
-
1497
-    #line 275 "../smarty/lexer/smarty_internal_templateparser.y"
1498
-    public function yy_r7()
1499
-    {
1500
-        $this->compiler->tag_nocache = true;
1501
-        $save = $this->template->compiled->has_nocache_code;
1502
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this,
1503
-                                                             $this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx + 0]->minor}';?>\n",
1504
-                                                                                                 true));
1505
-        $this->template->compiled->has_nocache_code = $save;
1506
-    }
1507
-
1508
-    #line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509
-    public function yy_r8()
1510
-    {
1511
-        $this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1512
-    }
1513
-
1514
-    #line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515
-    public function yy_r9()
1516
-    {
1517
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1518
-    }
1519
-
1520
-    #line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521
-    public function yy_r10()
1522
-    {
1523
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1524
-    }
1525
-
1526
-    #line 295 "../smarty/lexer/smarty_internal_templateparser.y"
1527
-    public function yy_r11()
1528
-    {
1529
-        $this->strip = true;
1530
-    }
1531
-
1532
-    #line 299 "../smarty/lexer/smarty_internal_templateparser.y"
1533
-    public function yy_r12()
1534
-    {
1535
-        $this->strip = false;
1536
-    }
1537
-
1538
-    #line 304 "../smarty/lexer/smarty_internal_templateparser.y"
1539
-    public function yy_r13()
1540
-    {
1541
-        $this->_retvalue = '';
1542
-    }
1543
-
1544
-    #line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545
-    public function yy_r14()
1546
-    {
1547
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1548
-    }
1549
-
1550
-    #line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551
-    public function yy_r15()
1552
-    {
1553
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1554
-    }
1555
-
1556
-    #line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557
-    public function yy_r19()
1558
-    {
1559
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1560
-    }
1561
-
1562
-    #line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563
-    public function yy_r20()
1564
-    {
1565
-        $var =
1566
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567
-                 ' $');
1568
-        if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570
-                                                           array('value' => $this->compiler->compileVariable('\'' .
1571
-                                                                                                             $match[ 1 ] .
1572
-                                                                                                             '\'')));
1573
-        } else {
1574
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1575
-                                                           array('value' => $this->compiler->compileVariable('\'' .
1576
-                                                                                                             $var .
1577
-                                                                                                             '\'')));
1578
-        }
1579
-    }
1580
-
1581
-    #line 344 "../smarty/lexer/smarty_internal_templateparser.y"
1582
-    public function yy_r21()
1583
-    {
1584
-        $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
-                                                       array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1586
-    }
1587
-
1588
-    #line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589
-    public function yy_r22()
1590
-    {
1591
-        $this->_retvalue =
1592
-            $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
-                                        array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1594
-    }
1595
-
1596
-    #line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597
-    public function yy_r27()
1598
-    {
1599
-        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
-                                                                                                        0 ]->minor),
1601
-                                                                       array('var' => '\'' .
1602
-                                                                                      substr($this->yystack[ $this->yyidx +
1603
-                                                                                                             - 2 ]->minor,
1604
-                                                                                             1) . '\'')));
1605
-    }
1606
-
1607
-    #line 379 "../smarty/lexer/smarty_internal_templateparser.y"
1608
-    public function yy_r29()
1609
-    {
1610
-        $this->_retvalue = $this->compiler->compileTag('assign',
1611
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
-                                                                                                          - 1 ]->minor),
1613
-                                                                         array('var' => '\'' .
1614
-                                                                                        substr($this->yystack[ $this->yyidx +
1615
-                                                                                                               - 3 ]->minor,
1616
-                                                                                               1) . '\'')),
1617
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor));
1618
-    }
1619
-
1620
-    #line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621
-    public function yy_r30()
1622
-    {
1623
-        $this->_retvalue = $this->compiler->compileTag('assign',
1624
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
-                                                                                                          - 1 ]->minor),
1626
-                                                                         array('var' => $this->yystack[ $this->yyidx +
1627
-                                                                                                        - 3 ]->minor[ 'var' ])),
1628
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
-                                                       array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
-                                                                                                        - 3 ]->minor[ 'smarty_internal_index' ]));
1631
-    }
1632
-
1633
-    #line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634
-    public function yy_r31()
1635
-    {
1636
-        $tag =
1637
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638
-        if ($tag == 'strip') {
1639
-            $this->strip = true;
1640
-            $this->_retvalue = null;;
1641
-        } else {
1642
-            if (defined($tag)) {
1643
-                if ($this->security) {
1644
-                    $this->security->isTrustedConstant($tag, $this->compiler);
1645
-                }
1646
-                $this->_retvalue =
1647
-                    $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648
-            } else {
1649
-                if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
-                    $this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1651
-                } else {
1652
-                    $this->_retvalue = $this->compiler->compileTag($tag, array());
1653
-                }
1654
-            }
1655
-        }
1656
-    }
1657
-
1658
-    #line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659
-    public function yy_r32()
1660
-    {
1661
-        if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1662
-            if ($this->security) {
1663
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1664
-            }
1665
-            $this->_retvalue =
1666
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
-                                            array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1668
-        } else {
1669
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor);
1671
-        }
1672
-    }
1673
-
1674
-    #line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675
-    public function yy_r33()
1676
-    {
1677
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1678
-            if ($this->security) {
1679
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1680
-            }
1681
-            $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
-                                                           array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1683
-        } else {
1684
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1685
-        }
1686
-    }
1687
-
1688
-    #line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689
-    public function yy_r34()
1690
-    {
1691
-        if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1692
-            if ($this->security) {
1693
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1694
-            }
1695
-            $this->_retvalue =
1696
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
-                                            array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
-                                                  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1699
-        } else {
1700
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor,
1702
-                                                           array('modifierlist' => $this->yystack[ $this->yyidx +
1703
-                                                                                                   - 1 ]->minor));
1704
-        }
1705
-    }
1706
-
1707
-    #line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708
-    public function yy_r35()
1709
-    {
1710
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1712
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1713
-                                                                                                - 1 ]->minor));
1714
-    }
1715
-
1716
-    #line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717
-    public function yy_r36()
1718
-    {
1719
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1721
-                                                       array('modifierlist' => $this->yystack[ $this->yyidx +
1722
-                                                                                               - 1 ]->minor,
1723
-                                                             'object_method' => $this->yystack[ $this->yyidx +
1724
-                                                                                                - 2 ]->minor));
1725
-    }
1726
-
1727
-    #line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728
-    public function yy_r37()
1729
-    {
1730
-        $this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
-                                                                                            substr($this->yystack[ $this->yyidx +
1732
-                                                                                                                   0 ]->minor,
1733
-                                                                                                   1) . '\'')));
1734
-    }
1735
-
1736
-    #line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737
-    public function yy_r38()
1738
-    {
1739
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1740
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1742
-                                                                                               0 ]->minor));
1743
-    }
1744
-
1745
-    #line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746
-    public function yy_r39()
1747
-    {
1748
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1749
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1751
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1752
-                                                                                               - 1 ]->minor));
1753
-    }
1754
-
1755
-    #line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756
-    public function yy_r40()
1757
-    {
1758
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1759
-        $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1761
-                                                                                               0 ]->minor));
1762
-    }
1763
-
1764
-    #line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765
-    public function yy_r42()
1766
-    {
1767
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1769
-                                                                                                                 - 6 ]->minor),
1770
-                                                                                array('ifexp' => $this->yystack[ $this->yyidx +
1771
-                                                                                                                 - 4 ]->minor),
1772
-                                                                                array('var' => $this->yystack[ $this->yyidx +
1773
-                                                                                                               - 2 ]->minor),
1774
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1775
-                                                                                                                - 1 ]->minor))),
1776
-                                                       1);
1777
-    }
1778
-
1779
-    #line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780
-    public function yy_r43()
1781
-    {
1782
-        $this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1783
-    }
1784
-
1785
-    #line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786
-    public function yy_r45()
1787
-    {
1788
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1790
-                                                                                                                 - 3 ]->minor),
1791
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1792
-                                                                                                              - 1 ]->minor))),
1793
-                                                       0);
1794
-    }
1795
-
1796
-    #line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797
-    public function yy_r46()
1798
-    {
1799
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1801
-                                                                                                                 - 5 ]->minor),
1802
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1803
-                                                                                                              - 3 ]->minor),
1804
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1805
-                                                                                                                - 1 ]->minor))),
1806
-                                                       0);
1807
-    }
1808
-
1809
-    #line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810
-    public function yy_r47()
1811
-    {
1812
-        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1813
-    }
1814
-
1815
-    #line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816
-    public function yy_r48()
1817
-    {
1818
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1820
-                                                                                                                    - 3 ]->minor),
1821
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1822
-                                                                                                                    - 1 ]->minor))));
1823
-    }
1824
-
1825
-    #line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826
-    public function yy_r49()
1827
-    {
1828
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1830
-                                                                                                                    - 5 ]->minor),
1831
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1832
-                                                                                                                    - 1 ]->minor),
1833
-                                                                                    array('key' => $this->yystack[ $this->yyidx +
1834
-                                                                                                                   - 3 ]->minor))));
1835
-    }
1836
-
1837
-    #line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838
-    public function yy_r52()
1839
-    {
1840
-        $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
-                                                       array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
-                                                                                                                        - 1 ]->minor),
1843
-                                                                                                  $this->yystack[ $this->yyidx +
1844
-                                                                                                                  0 ]->minor))));
1845
-    }
1846
-
1847
-    #line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848
-    public function yy_r53()
1849
-    {
1850
-        $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
-                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
-                                                                                                                                    - 2 ]->minor),
1853
-                                                                                                              $this->yystack[ $this->yyidx +
1854
-                                                                                                                              - 1 ]->minor)),
1855
-                                                                                            $this->yystack[ $this->yyidx +
1856
-                                                                                                            0 ]->minor)));
1857
-    }
1858
-
1859
-    #line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860
-    public function yy_r54()
1861
-    {
1862
-        $j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1864
-            // {$smarty.block.child}
1865
-            $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866
-        } else {
1867
-            // {$smarty.block.parent}
1868
-            $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
1869
-        }
1870
-    }
1871
-
1872
-    #line 546 "../smarty/lexer/smarty_internal_templateparser.y"
1873
-    public function yy_r55()
1874
-    {
1875
-        $tag =
1876
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877
-                 ' /');
1878
-        if ($tag == 'strip') {
1879
-            $this->strip = false;
1880
-            $this->_retvalue = null;
1881
-        } else {
1882
-            $this->_retvalue = $this->compiler->compileTag($tag . 'close', array());
1883
-        }
1884
-    }
1885
-
1886
-    #line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887
-    public function yy_r56()
1888
-    {
1889
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1890
-    }
1891
-
1892
-    #line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893
-    public function yy_r57()
1894
-    {
1895
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
-                                                       array('modifier_list' => $this->yystack[ $this->yyidx +
1897
-                                                                                                0 ]->minor));
1898
-    }
1899
-
1900
-    #line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901
-    public function yy_r58()
1902
-    {
1903
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1905
-                                                                                                0 ]->minor));
1906
-    }
1907
-
1908
-    #line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909
-    public function yy_r59()
1910
-    {
1911
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1913
-                                                                                                - 1 ]->minor,
1914
-                                                             'modifier_list' => $this->yystack[ $this->yyidx +
1915
-                                                                                                0 ]->minor));
1916
-    }
1917
-
1918
-    #line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919
-    public function yy_r60()
1920
-    {
1921
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
-        $this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1923
-    }
1924
-
1925
-    #line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926
-    public function yy_r61()
1927
-    {
1928
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1929
-    }
1930
-
1931
-    #line 587 "../smarty/lexer/smarty_internal_templateparser.y"
1932
-    public function yy_r62()
1933
-    {
1934
-        $this->_retvalue = array();
1935
-    }
1936
-
1937
-    #line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938
-    public function yy_r63()
1939
-    {
1940
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1941
-            if ($this->security) {
1942
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1943
-            }
1944
-            $this->_retvalue =
1945
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1946
-        } else {
1947
-            $this->_retvalue =
1948
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1949
-                                                                     '\'');
1950
-        }
1951
-    }
1952
-
1953
-    #line 603 "../smarty/lexer/smarty_internal_templateparser.y"
1954
-    public function yy_r64()
1955
-    {
1956
-        $this->_retvalue =
1957
-            array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
-                                                                                                   0 ]->minor);
1959
-    }
1960
-
1961
-    #line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962
-    public function yy_r66()
1963
-    {
1964
-        $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1965
-    }
1966
-
1967
-    #line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968
-    public function yy_r69()
1969
-    {
1970
-        $this->_retvalue =
1971
-            array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1972
-    }
1973
-
1974
-    #line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975
-    public function yy_r71()
1976
-    {
1977
-        $this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1979
-    }
1980
-
1981
-    #line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982
-    public function yy_r72()
1983
-    {
1984
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1986
-    }
1987
-
1988
-    #line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989
-    public function yy_r74()
1990
-    {
1991
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1993
-    }
1994
-
1995
-    #line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996
-    public function yy_r78()
1997
-    {
1998
-        $this->_retvalue =
1999
-            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
-            $this->yystack[ $this->yyidx + 0 ]->minor . '\')';
2001
-    }
2002
-
2003
-    #line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004
-    public function yy_r79()
2005
-    {
2006
-        $this->_retvalue =
2007
-            $this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2009
-    }
2010
-
2011
-    #line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012
-    public function yy_r82()
2013
-    {
2014
-        $this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
-                                                       array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
-                                                             'modifierlist' => $this->yystack[ $this->yyidx +
2017
-                                                                                               0 ]->minor));
2018
-    }
2019
-
2020
-    #line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021
-    public function yy_r83()
2022
-    {
2023
-        $this->_retvalue =
2024
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2026
-    }
2027
-
2028
-    #line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029
-    public function yy_r84()
2030
-    {
2031
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2033
-    }
2034
-
2035
-    #line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036
-    public function yy_r85()
2037
-    {
2038
-        $this->_retvalue =
2039
-            $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2040
-    }
2041
-
2042
-    #line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043
-    public function yy_r86()
2044
-    {
2045
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2047
-    }
2048
-
2049
-    #line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050
-    public function yy_r87()
2051
-    {
2052
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2054
-    }
2055
-
2056
-    #line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057
-    public function yy_r88()
2058
-    {
2059
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
-                                                                                                                  substr($this->yystack[ $this->yyidx +
2061
-                                                                                                                                         - 2 ]->minor,
2062
-                                                                                                                         1) .
2063
-                                                                                                                  '\'') .
2064
-                           ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2065
-    }
2066
-
2067
-    #line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068
-    public function yy_r89()
2069
-    {
2070
-        $this->_retvalue =
2071
-            $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2073
-    }
2074
-
2075
-    #line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076
-    public function yy_r92()
2077
-    {
2078
-        $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2079
-    }
2080
-
2081
-    #line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082
-    public function yy_r97()
2083
-    {
2084
-        $this->_retvalue =
2085
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2086
-    }
2087
-
2088
-    #line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089
-    public function yy_r98()
2090
-    {
2091
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2092
-    }
2093
-
2094
-    #line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095
-    public function yy_r99()
2096
-    {
2097
-        $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2098
-    }
2099
-
2100
-    #line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101
-    public function yy_r100()
2102
-    {
2103
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2104
-            if ($this->security) {
2105
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2106
-            }
2107
-            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2108
-        } else {
2109
-            $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2110
-        }
2111
-    }
2112
-
2113
-    #line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114
-    public function yy_r102()
2115
-    {
2116
-        $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2117
-    }
2118
-
2119
-    #line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120
-    public function yy_r103()
2121
-    {
2122
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2124
-    }
2125
-
2126
-    #line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127
-    public function yy_r107()
2128
-    {
2129
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2130
-        if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2131
-            $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132
-                                              $this->compiler->compileTag('private_special_variable', array(),
2133
-                                                                          $this->yystack[ $this->yyidx +
2134
-                                                                                          - 2 ]->minor[ 'smarty_internal_index' ]) .
2135
-                                              ';?>');
2136
-        } else {
2137
-            $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
-                                              $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
-                                                                                               - 2 ]->minor[ 'var' ]) .
2140
-                                              $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2141
-                                              ';?>');
2142
-        }
2143
-        $this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
-                           $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2145
-    }
2146
-
2147
-    #line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148
-    public function yy_r108()
2149
-    {
2150
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2151
-        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2152
-        $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153
-        $this->_retvalue = $prefixVar;
2154
-    }
2155
-
2156
-    #line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157
-    public function yy_r111()
2158
-    {
2159
-        if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2160
-            (!$this->security ||
2161
-             $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2163
-        ) {
2164
-            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2165
-                $this->_retvalue =
2166
-                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
-                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2168
-            } else {
2169
-                $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2172
-            }
2173
-        } else {
2174
-            $this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2175
-                                                    "' is undefined or not allowed by security setting");
2176
-        }
2177
-    }
2178
-
2179
-    #line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180
-    public function yy_r113()
2181
-    {
2182
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2183
-    }
2184
-
2185
-    #line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186
-    public function yy_r114()
2187
-    {
2188
-        $this->_retvalue =
2189
-            $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2190
-    }
2191
-
2192
-    #line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193
-    public function yy_r115()
2194
-    {
2195
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2196
-            $smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
-                                                      $this->yystack[ $this->yyidx +
2198
-                                                                      0 ]->minor[ 'smarty_internal_index' ]);
2199
-            $this->_retvalue = $smarty_var;
2200
-        } else {
2201
-            // used for array reset,next,prev,end,current
2202
-            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
-            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
-                               $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2206
-        }
2207
-    }
2208
-
2209
-    #line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210
-    public function yy_r116()
2211
-    {
2212
-        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2214
-    }
2215
-
2216
-    #line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217
-    public function yy_r118()
2218
-    {
2219
-        $this->_retvalue =
2220
-            $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2221
-    }
2222
-
2223
-    #line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224
-    public function yy_r119()
2225
-    {
2226
-        $this->_retvalue = '(is_array($tmp = ' .
2227
-                           $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2228
-                                                                  "'") . ') ? $tmp' .
2229
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2230
-    }
2231
-
2232
-    #line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233
-    public function yy_r120()
2234
-    {
2235
-        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2236
-    }
2237
-
2238
-    #line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239
-    public function yy_r121()
2240
-    {
2241
-        $this->_retvalue =
2242
-            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
-            ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2244
-    }
2245
-
2246
-    #line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247
-    public function yy_r122()
2248
-    {
2249
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2251
-    }
2252
-
2253
-    #line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254
-    public function yy_r123()
2255
-    {
2256
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2258
-    }
2259
-
2260
-    #line 929 "../smarty/lexer/smarty_internal_templateparser.y"
2261
-    public function yy_r125()
2262
-    {
2263
-        return;
2264
-    }
2265
-
2266
-    #line 935 "../smarty/lexer/smarty_internal_templateparser.y"
2267
-    public function yy_r126()
2268
-    {
2269
-        $this->_retvalue =
2270
-            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2271
-            ']';
2272
-    }
2273
-
2274
-    #line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275
-    public function yy_r127()
2276
-    {
2277
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2278
-    }
2279
-
2280
-    #line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281
-    public function yy_r128()
2282
-    {
2283
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2285
-    }
2286
-
2287
-    #line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288
-    public function yy_r129()
2289
-    {
2290
-        $this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2291
-    }
2292
-
2293
-    #line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294
-    public function yy_r130()
2295
-    {
2296
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2297
-    }
2298
-
2299
-    #line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300
-    public function yy_r131()
2301
-    {
2302
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2303
-    }
2304
-
2305
-    #line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306
-    public function yy_r132()
2307
-    {
2308
-        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
-                                                                                                  $this->yystack[ $this->yyidx +
2310
-                                                                                                                  - 1 ]->minor .
2311
-                                                                                                  '\'][\'index\']') .
2312
-                           ']';
2313
-    }
2314
-
2315
-    #line 964 "../smarty/lexer/smarty_internal_templateparser.y"
2316
-    public function yy_r133()
2317
-    {
2318
-        $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
-                                                                                                  $this->yystack[ $this->yyidx +
2320
-                                                                                                                  - 3 ]->minor .
2321
-                                                                                                  '\'][\'' .
2322
-                                                                                                  $this->yystack[ $this->yyidx +
2323
-                                                                                                                  - 1 ]->minor .
2324
-                                                                                                  '\']') . ']';
2325
-    }
2326
-
2327
-    #line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328
-    public function yy_r134()
2329
-    {
2330
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2331
-    }
2332
-
2333
-    #line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334
-    public function yy_r136()
2335
-    {
2336
-        $this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
-                                                                  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
-                                                                         1) . '\'') . ']';;
2339
-    }
2340
-
2341
-    #line 989 "../smarty/lexer/smarty_internal_templateparser.y"
2342
-    public function yy_r140()
2343
-    {
2344
-        $this->_retvalue = '[]';
2345
-    }
2346
-
2347
-    #line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348
-    public function yy_r141()
2349
-    {
2350
-        $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2351
-    }
2352
-
2353
-    #line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
2354
-    public function yy_r142()
2355
-    {
2356
-        $this->_retvalue = "''";
2357
-    }
2358
-
2359
-    #line 1008 "../smarty/lexer/smarty_internal_templateparser.y"
2360
-    public function yy_r143()
2361
-    {
2362
-        $this->_retvalue =
2363
-            $this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2364
-    }
2365
-
2366
-    #line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367
-    public function yy_r145()
2368
-    {
2369
-        $var =
2370
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371
-                 ' $');
2372
-        $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373
-    }
2374
-
2375
-    #line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376
-    public function yy_r146()
2377
-    {
2378
-        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2379
-    }
2380
-
2381
-    #line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382
-    public function yy_r147()
2383
-    {
2384
-        if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2385
-            $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
-                                                           $this->yystack[ $this->yyidx +
2387
-                                                                           - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2389
-        } else {
2390
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
-                               $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2393
-        }
2394
-    }
2395
-
2396
-    #line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397
-    public function yy_r148()
2398
-    {
2399
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2400
-    }
2401
-
2402
-    #line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403
-    public function yy_r149()
2404
-    {
2405
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2406
-    }
2407
-
2408
-    #line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409
-    public function yy_r150()
2410
-    {
2411
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2412
-            $this->compiler->trigger_template_error(self::Err1);
2413
-        }
2414
-        $this->_retvalue =
2415
-            '->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2416
-    }
2417
-
2418
-    #line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
2419
-    public function yy_r151()
2420
-    {
2421
-        if ($this->security) {
2422
-            $this->compiler->trigger_template_error(self::Err2);
2423
-        }
2424
-        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
-                           $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2426
-    }
2427
-
2428
-    #line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
2429
-    public function yy_r152()
2430
-    {
2431
-        if ($this->security) {
2432
-            $this->compiler->trigger_template_error(self::Err2);
2433
-        }
2434
-        $this->_retvalue =
2435
-            '->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2436
-    }
2437
-
2438
-    #line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
2439
-    public function yy_r153()
2440
-    {
2441
-        if ($this->security) {
2442
-            $this->compiler->trigger_template_error(self::Err2);
2443
-        }
2444
-        $this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
-                           $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2446
-                           '}';
2447
-    }
2448
-
2449
-    #line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450
-    public function yy_r154()
2451
-    {
2452
-        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2453
-    }
2454
-
2455
-    #line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456
-    public function yy_r155()
2457
-    {
2458
-        if (!$this->security ||
2459
-            $this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2460
-        ) {
2461
-            if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
-                is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2465
-            ) {
2466
-                $func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2467
-                if ($func_name == 'isset') {
2468
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2469
-                        $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470
-                    }
2471
-                    $par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2472
-                    if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473
-                                    strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474
-                    ) {
2475
-                        $prefixVar = $this->compiler->getNewPrefixVariable();
2476
-                        $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' .
2477
-                                                          str_replace(')', ', false)', $par) . ';?>');
2478
-                        $isset_par = $prefixVar;
2479
-                    } else {
2480
-                        $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481
-                    }
2482
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2483
-                } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2485
-                        $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486
-                    }
2487
-                    if ($func_name == 'empty') {
2488
-                        $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
-                                                                          $this->yystack[ $this->yyidx +
2490
-                                                                                          - 1 ]->minor[ 0 ]) . ')';
2491
-                    } else {
2492
-                        $this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2493
-                    }
2494
-                } else {
2495
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
-                                       implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2497
-                }
2498
-            } else {
2499
-                $this->compiler->trigger_template_error("unknown function \"" .
2500
-                                                        $this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2501
-            }
2502
-        }
2503
-    }
2504
-
2505
-    #line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506
-    public function yy_r156()
2507
-    {
2508
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2509
-            $this->compiler->trigger_template_error(self::Err1);
2510
-        }
2511
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
-                           implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2513
-    }
2514
-
2515
-    #line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
2516
-    public function yy_r157()
2517
-    {
2518
-        if ($this->security) {
2519
-            $this->compiler->trigger_template_error(self::Err2);
2520
-        }
2521
-        $prefixVar = $this->compiler->getNewPrefixVariable();
2522
-        $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
-                                                                                                      substr($this->yystack[ $this->yyidx +
2524
-                                                                                                                             - 3 ]->minor,
2525
-                                                                                                             1) .
2526
-                                                                                                      '\'') . ';?>');
2527
-        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2528
-    }
2529
-
2530
-    #line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531
-    public function yy_r158()
2532
-    {
2533
-        $this->_retvalue =
2534
-            array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2535
-    }
2536
-
2537
-    #line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538
-    public function yy_r161()
2539
-    {
2540
-        $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
-                                       array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor)));
2543
-    }
2544
-
2545
-    #line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546
-    public function yy_r162()
2547
-    {
2548
-        $this->_retvalue =
2549
-            array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2550
-    }
2551
-
2552
-    #line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553
-    public function yy_r164()
2554
-    {
2555
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2556
-    }
2557
-
2558
-    #line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559
-    public function yy_r165()
2560
-    {
2561
-        $this->_retvalue =
2562
-            array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2563
-    }
2564
-
2565
-    #line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566
-    public function yy_r169()
2567
-    {
2568
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2569
-    }
2570
-
2571
-    #line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572
-    public function yy_r170()
2573
-    {
2574
-        $this->_retvalue =
2575
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2576
-    }
2577
-
2578
-    #line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579
-    public function yy_r171()
2580
-    {
2581
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2582
-    }
2583
-
2584
-    #line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585
-    public function yy_r172()
2586
-    {
2587
-        $this->_retvalue =
2588
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2589
-    }
2590
-
2591
-    #line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592
-    public function yy_r173()
2593
-    {
2594
-        $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
-                                 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
-                                 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2597
-    }
2598
-
2599
-    #line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600
-    public function yy_r174()
2601
-    {
2602
-        $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2603
-    }
2604
-
2605
-    #line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
2606
-    public function yy_r175()
2607
-    {
2608
-        static $lops =
2609
-            array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610
-                  'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611
-                  'xor' => ' xor ',);
2612
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
-        $this->_retvalue = $lops[ $op ];
2614
-    }
2615
-
2616
-    #line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
2617
-    public function yy_r176()
2618
-    {
2619
-        static $tlops =
2620
-            array('isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
2621
-                  'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
2622
-                  'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623
-                  'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624
-                  'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
-        $this->_retvalue = $tlops[ $op ];
2627
-    }
2628
-
2629
-    #line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
2630
-    public function yy_r177()
2631
-    {
2632
-        static $scond =
2633
-            array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
-        $op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
-        $this->_retvalue = $scond[ $op ];
2636
-    }
2637
-
2638
-    #line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639
-    public function yy_r178()
2640
-    {
2641
-        $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2642
-    }
2643
-
2644
-    #line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645
-    public function yy_r180()
2646
-    {
2647
-        $this->_retvalue =
2648
-            $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2649
-    }
2650
-
2651
-    #line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652
-    public function yy_r182()
2653
-    {
2654
-        $this->_retvalue =
2655
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2656
-    }
2657
-
2658
-    #line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659
-    public function yy_r183()
2660
-    {
2661
-        $this->_retvalue =
2662
-            '\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2663
-    }
2664
-
2665
-    #line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666
-    public function yy_r186()
2667
-    {
2668
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2669
-    }
2670
-
2671
-    #line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672
-    public function yy_r187()
2673
-    {
2674
-        $this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2676
-    }
2677
-
2678
-    #line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679
-    public function yy_r188()
2680
-    {
2681
-        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2682
-    }
2683
-
2684
-    #line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685
-    public function yy_r189()
2686
-    {
2687
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2688
-    }
2689
-
2690
-    #line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691
-    public function yy_r191()
2692
-    {
2693
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
-                                                              substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2695
-                                                              '\']->value');
2696
-    }
2697
-
2698
-    #line 1340 "../smarty/lexer/smarty_internal_templateparser.y"
2699
-    public function yy_r193()
2700
-    {
2701
-        $this->_retvalue =
2702
-            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2703
-    }
2704
-
2705
-    #line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706
-    public function yy_r194()
2707
-    {
2708
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2709
-    }
2710
-
2711
-    #line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712
-    public function yy_r195()
2713
-    {
2714
-        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2715
-    }
2716
-
2717
-    private $_retvalue;
2718
-
2719
-    public function yy_reduce($yyruleno)
2720
-    {
2721
-        if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) {
2722
-            fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2723
-                    self::$yyRuleName[ $yyruleno ]);
2724
-        }
2725
-
2726
-        $this->_retvalue = $yy_lefthand_side = null;
2727
-        if (isset(self::$yyReduceMap[ $yyruleno ])) {
2728
-            // call the action
2729
-            $this->_retvalue = null;
2730
-            $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2731
-            $yy_lefthand_side = $this->_retvalue;
2732
-        }
2733
-        $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2734
-        $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2735
-        $this->yyidx -= $yysize;
2736
-        for ($i = $yysize; $i; $i --) {
2737
-            // pop all of the right-hand side parameters
2738
-            array_pop($this->yystack);
2739
-        }
2740
-        $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2741
-        if ($yyact < self::YYNSTATE) {
2742
-            if (!$this->yyTraceFILE && $yysize) {
2743
-                $this->yyidx ++;
2744
-                $x = new TP_yyStackEntry;
2745
-                $x->stateno = $yyact;
2746
-                $x->major = $yygoto;
2747
-                $x->minor = $yy_lefthand_side;
2748
-                $this->yystack[ $this->yyidx ] = $x;
2749
-            } else {
2750
-                $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2751
-            }
2752
-        } elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2753
-            $this->yy_accept();
2754
-        }
2755
-    }
2756
-
2757
-    public function yy_parse_failed()
2758
-    {
2759
-        if ($this->yyTraceFILE) {
2760
-            fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
2761
-        }
2762
-        while ($this->yyidx >= 0) {
2763
-            $this->yy_pop_parser_stack();
2764
-        }
2765
-    }
2766
-
2767
-    public function yy_syntax_error($yymajor, $TOKEN)
2768
-    {
2769
-        #line 200 "../smarty/lexer/smarty_internal_templateparser.y"
2770
-
2771
-        $this->internalError = true;
2772
-        $this->yymajor = $yymajor;
2773
-        $this->compiler->trigger_template_error();
2774
-    }
2775
-
2776
-    public function yy_accept()
2777
-    {
2778
-        if ($this->yyTraceFILE) {
2779
-            fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
2780
-        }
2781
-        while ($this->yyidx >= 0) {
2782
-            $this->yy_pop_parser_stack();
2783
-        }
2784
-        #line 193 "../smarty/lexer/smarty_internal_templateparser.y"
2785
-
2786
-        $this->successful = !$this->internalError;
2787
-        $this->internalError = false;
2788
-        $this->retvalue = $this->_retvalue;
2789
-    }
2790
-
2791
-    public function doParse($yymajor, $yytokenvalue)
2792
-    {
2793
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
2794
-
2795
-        if ($this->yyidx === null || $this->yyidx < 0) {
2796
-            $this->yyidx = 0;
2797
-            $this->yyerrcnt = - 1;
2798
-            $x = new TP_yyStackEntry;
2799
-            $x->stateno = 0;
2800
-            $x->major = 0;
2801
-            $this->yystack = array();
2802
-            $this->yystack[] = $x;
2803
-        }
2804
-        $yyendofinput = ($yymajor == 0);
2805
-
2806
-        if ($this->yyTraceFILE) {
2807
-            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2808
-        }
2809
-
2810
-        do {
2811
-            $yyact = $this->yy_find_shift_action($yymajor);
2812
-            if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) {
2813
-                // force a syntax error
2814
-                $yyact = self::YY_ERROR_ACTION;
2815
-            }
2816
-            if ($yyact < self::YYNSTATE) {
2817
-                $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2818
-                $this->yyerrcnt --;
2819
-                if ($yyendofinput && $this->yyidx >= 0) {
2820
-                    $yymajor = 0;
2821
-                } else {
2822
-                    $yymajor = self::YYNOCODE;
2823
-                }
2824
-            } elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2825
-                $this->yy_reduce($yyact - self::YYNSTATE);
2826
-            } elseif ($yyact == self::YY_ERROR_ACTION) {
2827
-                if ($this->yyTraceFILE) {
2828
-                    fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt);
2829
-                }
2830
-                if (self::YYERRORSYMBOL) {
2831
-                    if ($this->yyerrcnt < 0) {
2832
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
2833
-                    }
2834
-                    $yymx = $this->yystack[ $this->yyidx ]->major;
2835
-                    if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2836
-                        if ($this->yyTraceFILE) {
2837
-                            fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2838
-                                    $this->yyTokenName[ $yymajor ]);
2839
-                        }
2840
-                        $this->yy_destructor($yymajor, $yytokenvalue);
2841
-                        $yymajor = self::YYNOCODE;
2842
-                    } else {
2843
-                        while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL &&
2844
-                               ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) {
2845
-                            $this->yy_pop_parser_stack();
2846
-                        }
2847
-                        if ($this->yyidx < 0 || $yymajor == 0) {
2848
-                            $this->yy_destructor($yymajor, $yytokenvalue);
2849
-                            $this->yy_parse_failed();
2850
-                            $yymajor = self::YYNOCODE;
2851
-                        } elseif ($yymx != self::YYERRORSYMBOL) {
2852
-                            $u2 = 0;
2853
-                            $this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2854
-                        }
2855
-                    }
2856
-                    $this->yyerrcnt = 3;
2857
-                    $yyerrorhit = 1;
2858
-                } else {
2859
-                    if ($this->yyerrcnt <= 0) {
2860
-                        $this->yy_syntax_error($yymajor, $yytokenvalue);
2861
-                    }
2862
-                    $this->yyerrcnt = 3;
2863
-                    $this->yy_destructor($yymajor, $yytokenvalue);
2864
-                    if ($yyendofinput) {
2865
-                        $this->yy_parse_failed();
2866
-                    }
2867
-                    $yymajor = self::YYNOCODE;
2868
-                }
2869
-            } else {
2870
-                $this->yy_accept();
2871
-                $yymajor = self::YYNOCODE;
2872
-            }
2873
-        }
2874
-        while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2875
-    }
390
+	static public $yy_action = array(269, 8, 133, 295, 335, 80, 282, 219, 7, 84, 128, 178, 255, 276, 113, 102, 13, 83,
391
+									 227, 286, 305, 220, 36, 223, 283, 21, 32, 297, 41, 14, 90, 40, 44, 260, 213, 231,
392
+									 250, 235, 210, 128, 81, 1, 298, 296, 102, 269, 8, 132, 79, 335, 196, 184, 219, 7,
393
+									 84, 26, 297, 461, 101, 113, 39, 24, 278, 227, 461, 305, 220, 171, 206, 222, 21,
394
+									 230, 201, 41, 104, 192, 40, 44, 260, 213, 18, 236, 241, 210, 251, 81, 1, 316, 296,
395
+									 114, 269, 8, 135, 79, 335, 205, 302, 219, 7, 84, 116, 107, 477, 477, 113, 33, 197,
396
+									 477, 227, 266, 305, 220, 326, 223, 31, 21, 29, 215, 41, 311, 78, 40, 44, 260, 213,
397
+									 296, 250, 256, 210, 190, 81, 1, 3, 296, 307, 269, 8, 134, 79, 335, 205, 302, 219,
398
+									 7, 84, 232, 18, 296, 294, 113, 334, 85, 323, 227, 136, 305, 220, 328, 223, 29, 21,
399
+									 183, 101, 41, 234, 78, 40, 44, 260, 213, 137, 250, 314, 210, 139, 81, 1, 10, 296,
400
+									 101, 269, 8, 135, 79, 335, 195, 154, 219, 7, 84, 322, 232, 81, 114, 113, 296, 329,
401
+									 94, 227, 315, 305, 220, 326, 212, 120, 21, 168, 215, 41, 281, 114, 40, 44, 260,
402
+									 213, 296, 250, 222, 210, 265, 81, 1, 104, 296, 211, 269, 8, 135, 79, 335, 193, 302,
403
+									 219, 7, 84, 242, 239, 249, 217, 113, 11, 215, 289, 227, 136, 305, 220, 228, 223,
404
+									 222, 21, 238, 149, 41, 104, 78, 40, 44, 260, 213, 461, 250, 329, 210, 6, 81, 1,
405
+									 461, 296, 2, 269, 8, 136, 79, 335, 205, 158, 219, 7, 84, 190, 211, 81, 101, 113,
406
+									 296, 329, 93, 227, 12, 305, 220, 18, 223, 244, 34, 268, 448, 41, 281, 449, 40, 44,
407
+									 260, 213, 191, 250, 36, 210, 448, 81, 1, 449, 296, 14, 269, 8, 135, 79, 335, 205,
408
+									 15, 219, 7, 84, 186, 293, 152, 14, 113, 16, 214, 5, 227, 165, 305, 220, 329, 194,
409
+									 20, 21, 140, 101, 41, 115, 448, 40, 44, 260, 213, 281, 250, 303, 210, 264, 81, 1,
410
+									 448, 296, 169, 269, 8, 131, 79, 335, 205, 176, 219, 7, 84, 137, 28, 296, 310, 113,
411
+									 185, 293, 10, 227, 275, 305, 220, 296, 223, 175, 4, 281, 143, 41, 144, 192, 40, 44,
412
+									 260, 213, 35, 250, 329, 210, 329, 81, 1, 270, 296, 308, 269, 8, 135, 79, 335, 198,
413
+									 121, 219, 7, 84, 190, 292, 17, 232, 113, 166, 284, 281, 227, 141, 305, 220, 211,
414
+									 223, 319, 21, 299, 211, 41, 329, 211, 40, 44, 260, 213, 258, 250, 363, 210, 221,
415
+									 81, 1, 281, 296, 6, 269, 8, 136, 79, 335, 205, 177, 219, 7, 84, 167, 211, 159, 22,
416
+									 113, 104, 211, 156, 227, 300, 305, 220, 329, 223, 274, 34, 359, 329, 41, 172, 192,
417
+									 40, 44, 260, 213, 95, 250, 318, 210, 329, 81, 273, 36, 296, 257, 292, 17, 181, 79,
418
+									 14, 284, 309, 277, 254, 262, 263, 259, 178, 211, 25, 36, 269, 8, 187, 331, 335,
419
+									 261, 14, 219, 7, 84, 192, 303, 211, 38, 113, 237, 321, 180, 227, 267, 305, 220,
420
+									 153, 121, 312, 179, 192, 272, 108, 215, 209, 211, 118, 69, 112, 43, 42, 37, 248,
421
+									 102, 86, 189, 252, 279, 182, 293, 150, 271, 204, 317, 176, 297, 288, 287, 285, 280,
422
+									 329, 281, 312, 174, 87, 202, 330, 215, 209, 170, 118, 69, 112, 43, 42, 37, 138,
423
+									 102, 192, 402, 252, 279, 38, 216, 88, 271, 204, 317, 211, 297, 288, 287, 285, 280,
424
+									 310, 402, 105, 253, 404, 164, 332, 312, 402, 211, 89, 448, 215, 209, 305, 129, 61,
425
+									 106, 163, 238, 404, 142, 102, 448, 305, 252, 279, 404, 305, 305, 271, 204, 317,
426
+									 305, 297, 312, 155, 305, 305, 305, 215, 209, 211, 129, 73, 112, 211, 43, 42, 37,
427
+									 102, 305, 404, 252, 279, 305, 292, 17, 271, 204, 317, 284, 297, 305, 288, 287, 285,
428
+									 280, 404, 203, 305, 477, 477, 312, 305, 404, 477, 305, 215, 209, 305, 129, 73, 112,
429
+									 43, 42, 37, 305, 102, 305, 305, 252, 279, 305, 305, 224, 271, 204, 317, 324, 297,
430
+									 288, 287, 285, 280, 305, 305, 208, 312, 305, 477, 305, 305, 215, 209, 211, 129, 50,
431
+									 106, 305, 117, 305, 305, 102, 148, 401, 252, 279, 92, 325, 448, 271, 204, 317, 329,
432
+									 297, 269, 9, 327, 218, 335, 401, 448, 219, 7, 84, 305, 320, 401, 305, 113, 325,
433
+									 192, 305, 227, 305, 305, 220, 269, 9, 327, 305, 335, 305, 305, 219, 7, 84, 305, 43,
434
+									 42, 37, 113, 305, 305, 305, 227, 305, 305, 220, 305, 305, 305, 305, 291, 27, 288,
435
+									 287, 285, 280, 305, 305, 305, 312, 305, 305, 305, 305, 215, 209, 305, 129, 73, 112,
436
+									 211, 305, 290, 27, 102, 305, 305, 252, 279, 305, 369, 305, 271, 204, 317, 305, 297,
437
+									 225, 305, 312, 305, 211, 305, 207, 215, 209, 36, 129, 54, 112, 305, 188, 305, 14,
438
+									 102, 145, 448, 252, 279, 91, 305, 305, 271, 204, 317, 329, 297, 312, 448, 292, 17,
439
+									 305, 215, 209, 284, 129, 65, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305,
440
+									 305, 305, 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 99, 67,
441
+									 112, 305, 305, 229, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317,
442
+									 312, 297, 211, 305, 305, 215, 209, 305, 129, 45, 112, 305, 246, 305, 305, 102, 162,
443
+									 305, 252, 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215,
444
+									 209, 305, 129, 56, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305,
445
+									 271, 204, 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 96, 55, 112, 305,
446
+									 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297,
447
+									 211, 305, 305, 215, 97, 305, 82, 47, 103, 305, 247, 305, 305, 102, 151, 305, 252,
448
+									 279, 184, 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305,
449
+									 129, 71, 112, 305, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204,
450
+									 317, 305, 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 59, 112, 305, 305, 305,
451
+									 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305,
452
+									 305, 215, 209, 305, 129, 58, 112, 305, 305, 305, 305, 102, 160, 305, 252, 279, 184,
453
+									 305, 305, 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 53,
454
+									 112, 226, 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305,
455
+									 297, 312, 288, 287, 285, 280, 215, 209, 305, 129, 60, 112, 305, 305, 305, 305, 102,
456
+									 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215,
457
+									 209, 305, 100, 64, 112, 305, 305, 305, 305, 102, 146, 305, 252, 279, 184, 305, 305,
458
+									 271, 204, 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 61, 112, 245,
459
+									 43, 42, 37, 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
460
+									 288, 287, 285, 280, 215, 200, 305, 129, 63, 112, 305, 305, 305, 305, 102, 305, 305,
461
+									 252, 279, 305, 305, 305, 271, 204, 317, 312, 297, 211, 305, 305, 215, 209, 305,
462
+									 111, 51, 112, 305, 305, 305, 305, 102, 147, 305, 252, 279, 184, 305, 305, 271, 204,
463
+									 317, 329, 297, 312, 39, 24, 278, 305, 215, 209, 305, 129, 49, 112, 305, 43, 42, 37,
464
+									 102, 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 288, 287,
465
+									 285, 280, 215, 209, 305, 129, 75, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279,
466
+									 305, 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 76, 112,
467
+									 305, 305, 305, 305, 102, 161, 305, 252, 279, 184, 305, 305, 271, 204, 317, 329,
468
+									 297, 312, 39, 24, 278, 305, 215, 98, 305, 82, 46, 103, 305, 305, 305, 305, 102,
469
+									 192, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305,
470
+									 305, 215, 209, 305, 129, 70, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305,
471
+									 305, 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 57, 112, 305,
472
+									 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297,
473
+									 312, 305, 305, 305, 305, 215, 199, 305, 109, 62, 112, 305, 305, 305, 305, 102, 305,
474
+									 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305,
475
+									 215, 209, 305, 129, 72, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305,
476
+									 305, 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 77, 112, 305, 305,
477
+									 305, 305, 102, 305, 305, 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312,
478
+									 305, 305, 305, 305, 215, 209, 305, 129, 68, 112, 305, 305, 305, 305, 102, 305, 305,
479
+									 252, 279, 305, 305, 305, 271, 204, 317, 305, 297, 312, 305, 305, 305, 305, 215,
480
+									 209, 305, 129, 74, 112, 305, 305, 305, 305, 102, 305, 305, 252, 279, 305, 305, 305,
481
+									 271, 204, 317, 312, 297, 305, 305, 305, 215, 209, 305, 129, 48, 112, 305, 305, 305,
482
+									 305, 102, 305, 305, 252, 279, 414, 414, 305, 271, 204, 317, 305, 297, 312, 305,
483
+									 305, 305, 305, 215, 209, 305, 129, 66, 112, 305, 305, 305, 305, 102, 305, 305, 252,
484
+									 279, 211, 305, 305, 271, 204, 317, 305, 297, 448, 305, 414, 414, 414, 533, 52, 243,
485
+									 239, 249, 217, 305, 448, 215, 305, 305, 30, 305, 36, 414, 414, 414, 414, 305, 233,
486
+									 14, 305, 305, 305, 305, 43, 42, 37, 305, 477, 477, 312, 23, 305, 477, 461, 215,
487
+									 209, 211, 127, 305, 112, 288, 287, 285, 280, 102, 305, 301, 357, 313, 305, 292, 17,
488
+									 271, 204, 317, 284, 297, 305, 305, 302, 305, 461, 36, 36, 461, 36, 477, 157, 461,
489
+									 14, 14, 305, 14, 305, 43, 42, 37, 305, 305, 305, 312, 305, 211, 78, 305, 215, 209,
490
+									 305, 130, 305, 112, 288, 287, 285, 280, 102, 305, 305, 305, 240, 305, 292, 17, 271,
491
+									 204, 317, 284, 297, 36, 305, 305, 305, 305, 305, 305, 14, 36, 305, 173, 312, 43,
492
+									 42, 37, 14, 215, 209, 305, 122, 305, 112, 305, 305, 305, 305, 102, 304, 305, 288,
493
+									 287, 285, 280, 305, 271, 204, 317, 305, 297, 302, 305, 312, 305, 36, 305, 305, 215,
494
+									 209, 305, 123, 14, 112, 312, 305, 305, 305, 102, 215, 209, 305, 124, 305, 112, 78,
495
+									 271, 204, 317, 102, 297, 305, 305, 305, 305, 305, 305, 271, 204, 317, 312, 297,
496
+									 305, 305, 305, 215, 209, 305, 119, 305, 112, 305, 305, 305, 305, 102, 305, 305,
497
+									 233, 305, 305, 305, 305, 271, 204, 317, 305, 297, 477, 477, 312, 32, 305, 477, 461,
498
+									 215, 209, 305, 126, 305, 112, 305, 305, 305, 305, 102, 305, 305, 233, 305, 305,
499
+									 305, 305, 271, 204, 317, 305, 297, 477, 477, 305, 305, 461, 477, 461, 461, 312,
500
+									 477, 19, 461, 211, 215, 209, 305, 125, 305, 112, 305, 477, 477, 305, 102, 305, 477,
501
+									 461, 305, 305, 305, 305, 271, 204, 317, 461, 297, 305, 461, 305, 477, 305, 461,
502
+									 333, 305, 211, 305, 305, 305, 305, 305, 43, 42, 37, 305, 461, 305, 305, 461, 305,
503
+									 477, 305, 461, 305, 305, 233, 110, 305, 288, 287, 285, 280, 305, 306, 305, 477,
504
+									 477, 305, 305, 305, 477, 461, 305, 43, 42, 37, 477, 477, 305, 305, 305, 477, 461,
505
+									 305, 305, 305, 305, 305, 305, 305, 288, 287, 285, 280, 305, 305, 305, 305, 305,
506
+									 461, 305, 305, 461, 408, 477, 305, 461, 305, 305, 305, 461, 305, 305, 461, 408,
507
+									 477, 408, 461, 305, 408, 305, 305, 305, 305, 305, 305, 408, 305, 408, 305, 408,
508
+									 305, 305, 305, 305, 305, 305, 305, 232,);
509
+
510
+	static public $yy_lookahead = array(12, 13, 14, 17, 16, 17, 72, 19, 20, 21, 76, 8, 9, 10, 26, 81, 22, 17, 30, 31,
511
+										32, 33, 27, 35, 90, 37, 15, 93, 40, 34, 36, 43, 44, 45, 46, 72, 48, 51, 50, 76,
512
+										52, 53, 98, 55, 81, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 15, 93, 46, 18, 26,
513
+										86, 87, 88, 30, 53, 32, 33, 94, 35, 76, 37, 78, 79, 40, 81, 101, 43, 44, 45, 46,
514
+										36, 48, 38, 50, 14, 52, 53, 54, 55, 49, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21,
515
+										17, 81, 12, 13, 26, 13, 14, 17, 30, 17, 32, 33, 66, 35, 15, 37, 15, 71, 40, 99,
516
+										47, 43, 44, 45, 46, 55, 48, 35, 50, 101, 52, 53, 36, 55, 61, 12, 13, 14, 60, 16,
517
+										17, 23, 19, 20, 21, 46, 36, 55, 38, 26, 54, 105, 106, 30, 14, 32, 33, 17, 35,
518
+										15, 37, 14, 18, 40, 17, 47, 43, 44, 45, 46, 46, 48, 54, 50, 14, 52, 53, 53, 55,
519
+										18, 12, 13, 14, 60, 16, 17, 73, 19, 20, 21, 50, 46, 52, 49, 26, 55, 83, 37, 30,
520
+										54, 32, 33, 66, 35, 17, 37, 94, 71, 40, 96, 49, 43, 44, 45, 46, 55, 48, 76, 50,
521
+										78, 52, 53, 81, 55, 1, 12, 13, 14, 60, 16, 17, 23, 19, 20, 21, 65, 66, 67, 68,
522
+										26, 13, 71, 106, 30, 14, 32, 33, 17, 35, 76, 37, 78, 73, 40, 81, 47, 43, 44, 45,
523
+										46, 46, 48, 83, 50, 37, 52, 53, 53, 55, 37, 12, 13, 14, 60, 16, 17, 73, 19, 20,
524
+										21, 101, 1, 52, 18, 26, 55, 83, 94, 30, 29, 32, 33, 36, 35, 38, 37, 17, 37, 40,
525
+										96, 37, 43, 44, 45, 46, 17, 48, 27, 50, 49, 52, 53, 49, 55, 34, 12, 13, 14, 60,
526
+										16, 17, 27, 19, 20, 21, 97, 98, 73, 34, 26, 13, 14, 37, 30, 17, 32, 33, 83, 35,
527
+										42, 37, 14, 18, 40, 49, 37, 43, 44, 45, 46, 96, 48, 102, 50, 35, 52, 53, 49, 55,
528
+										52, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21, 46, 15, 55, 95, 26, 97, 98, 53, 30,
529
+										23, 32, 33, 55, 35, 94, 37, 96, 73, 40, 73, 101, 43, 44, 45, 46, 24, 48, 83, 50,
530
+										83, 52, 53, 17, 55, 92, 12, 13, 14, 60, 16, 17, 99, 19, 20, 21, 101, 12, 13, 46,
531
+										26, 94, 17, 96, 30, 73, 32, 33, 1, 35, 54, 37, 17, 1, 40, 83, 1, 43, 44, 45, 46,
532
+										38, 48, 11, 50, 18, 52, 53, 96, 55, 37, 12, 13, 14, 60, 16, 17, 77, 19, 20, 21,
533
+										76, 1, 73, 29, 26, 81, 1, 73, 30, 17, 32, 33, 83, 35, 35, 37, 11, 83, 40, 73,
534
+										101, 43, 44, 45, 46, 82, 48, 54, 50, 83, 52, 67, 27, 55, 70, 12, 13, 77, 60, 34,
535
+										17, 14, 3, 4, 5, 6, 7, 8, 1, 2, 27, 12, 13, 77, 54, 16, 5, 34, 19, 20, 21, 101,
536
+										102, 1, 2, 26, 17, 92, 82, 30, 11, 32, 33, 52, 99, 66, 82, 101, 17, 80, 71, 72,
537
+										1, 74, 75, 76, 39, 40, 41, 83, 81, 81, 11, 84, 85, 97, 98, 73, 89, 90, 91, 77,
538
+										93, 56, 57, 58, 59, 83, 96, 66, 94, 81, 103, 104, 71, 72, 94, 74, 75, 76, 39,
539
+										40, 41, 81, 81, 101, 11, 84, 85, 2, 15, 81, 89, 90, 91, 1, 93, 56, 57, 58, 59,
540
+										95, 27, 69, 9, 11, 94, 104, 66, 34, 1, 81, 37, 71, 72, 107, 74, 75, 76, 94, 78,
541
+										27, 28, 81, 49, 107, 84, 85, 34, 107, 107, 89, 90, 91, 107, 93, 66, 28, 107,
542
+										107, 107, 71, 72, 1, 74, 75, 76, 1, 39, 40, 41, 81, 107, 11, 84, 85, 107, 12,
543
+										13, 89, 90, 91, 17, 93, 107, 56, 57, 58, 59, 27, 100, 107, 12, 13, 66, 107, 34,
544
+										17, 107, 71, 72, 107, 74, 75, 76, 39, 40, 41, 107, 81, 107, 107, 84, 85, 107,
545
+										107, 51, 89, 90, 91, 54, 93, 56, 57, 58, 59, 107, 107, 100, 66, 107, 51, 107,
546
+										107, 71, 72, 1, 74, 75, 76, 107, 78, 107, 107, 81, 73, 11, 84, 85, 77, 5, 37,
547
+										89, 90, 91, 83, 93, 12, 13, 14, 46, 16, 27, 49, 19, 20, 21, 107, 54, 34, 107,
548
+										26, 5, 101, 107, 30, 107, 32, 33, 12, 13, 14, 107, 16, 107, 107, 19, 20, 21,
549
+										107, 39, 40, 41, 26, 107, 107, 107, 30, 107, 32, 33, 107, 107, 107, 107, 60, 61,
550
+										56, 57, 58, 59, 107, 107, 107, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76,
551
+										1, 107, 60, 61, 81, 107, 107, 84, 85, 107, 11, 107, 89, 90, 91, 107, 93, 18,
552
+										107, 66, 107, 1, 107, 100, 71, 72, 27, 74, 75, 76, 107, 11, 107, 34, 81, 73, 37,
553
+										84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 49, 12, 13, 107, 71, 72, 17, 74,
554
+										75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107,
555
+										93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 51, 107, 81, 107,
556
+										107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74,
557
+										75, 76, 107, 11, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83,
558
+										93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107,
559
+										84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74,
560
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
561
+										93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107, 11, 107, 107, 81, 73, 107, 84,
562
+										85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75,
563
+										76, 107, 39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
564
+										66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
565
+										84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76,
566
+										107, 107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66,
567
+										86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38, 39, 40, 41, 81, 101, 107, 84, 85,
568
+										107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
569
+										107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 1,
570
+										107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85, 77,
571
+										107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76, 38,
572
+										39, 40, 41, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 56,
573
+										57, 58, 59, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85,
574
+										107, 107, 107, 89, 90, 91, 66, 93, 1, 107, 107, 71, 72, 107, 74, 75, 76, 107,
575
+										107, 107, 107, 81, 73, 107, 84, 85, 77, 107, 107, 89, 90, 91, 83, 93, 66, 86,
576
+										87, 88, 107, 71, 72, 107, 74, 75, 76, 107, 39, 40, 41, 81, 101, 107, 84, 85,
577
+										107, 107, 107, 89, 90, 91, 107, 93, 66, 56, 57, 58, 59, 71, 72, 107, 74, 75, 76,
578
+										107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93,
579
+										107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 73, 107, 84, 85,
580
+										77, 107, 107, 89, 90, 91, 83, 93, 66, 86, 87, 88, 107, 71, 72, 107, 74, 75, 76,
581
+										107, 107, 107, 107, 81, 101, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93,
582
+										66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107,
583
+										107, 84, 85, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74,
584
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91,
585
+										107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107,
586
+										81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107,
587
+										107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107,
588
+										107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107,
589
+										107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107,
590
+										107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107, 84,
591
+										85, 107, 107, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
592
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 107, 107, 107, 89, 90, 91, 66,
593
+										93, 107, 107, 107, 71, 72, 107, 74, 75, 76, 107, 107, 107, 107, 81, 107, 107,
594
+										84, 85, 1, 2, 107, 89, 90, 91, 107, 93, 66, 107, 107, 107, 107, 71, 72, 107, 74,
595
+										75, 76, 107, 107, 107, 107, 81, 107, 107, 84, 85, 1, 107, 107, 89, 90, 91, 107,
596
+										93, 37, 107, 39, 40, 41, 63, 64, 65, 66, 67, 68, 107, 49, 71, 107, 107, 25, 107,
597
+										27, 56, 57, 58, 59, 107, 2, 34, 107, 107, 107, 107, 39, 40, 41, 107, 12, 13, 66,
598
+										15, 107, 17, 18, 71, 72, 1, 74, 107, 76, 56, 57, 58, 59, 81, 107, 11, 11, 85,
599
+										107, 12, 13, 89, 90, 91, 17, 93, 107, 107, 23, 107, 46, 27, 27, 49, 27, 51, 29,
600
+										53, 34, 34, 107, 34, 107, 39, 40, 41, 107, 107, 107, 66, 107, 1, 47, 107, 71,
601
+										72, 107, 74, 107, 76, 56, 57, 58, 59, 81, 107, 107, 107, 85, 107, 12, 13, 89,
602
+										90, 91, 17, 93, 27, 107, 107, 107, 107, 107, 107, 34, 27, 107, 29, 66, 39, 40,
603
+										41, 34, 71, 72, 107, 74, 107, 76, 107, 107, 107, 107, 81, 11, 107, 56, 57, 58,
604
+										59, 107, 89, 90, 91, 107, 93, 23, 107, 66, 107, 27, 107, 107, 71, 72, 107, 74,
605
+										34, 76, 66, 107, 107, 107, 81, 71, 72, 107, 74, 107, 76, 47, 89, 90, 91, 81, 93,
606
+										107, 107, 107, 107, 107, 107, 89, 90, 91, 66, 93, 107, 107, 107, 71, 72, 107,
607
+										74, 107, 76, 107, 107, 107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90,
608
+										91, 107, 93, 12, 13, 66, 15, 107, 17, 18, 71, 72, 107, 74, 107, 76, 107, 107,
609
+										107, 107, 81, 107, 107, 2, 107, 107, 107, 107, 89, 90, 91, 107, 93, 12, 13, 107,
610
+										107, 46, 17, 18, 49, 66, 51, 2, 53, 1, 71, 72, 107, 74, 107, 76, 107, 12, 13,
611
+										107, 81, 107, 17, 18, 107, 107, 107, 107, 89, 90, 91, 46, 93, 107, 49, 107, 51,
612
+										107, 53, 54, 107, 1, 107, 107, 107, 107, 107, 39, 40, 41, 107, 46, 107, 107, 49,
613
+										107, 51, 107, 53, 107, 107, 2, 22, 107, 56, 57, 58, 59, 107, 61, 107, 12, 13,
614
+										107, 107, 107, 17, 18, 107, 39, 40, 41, 12, 13, 107, 107, 107, 17, 18, 107, 107,
615
+										107, 107, 107, 107, 107, 56, 57, 58, 59, 107, 107, 107, 107, 107, 46, 107, 107,
616
+										49, 11, 51, 107, 53, 107, 107, 107, 46, 107, 107, 49, 22, 51, 24, 53, 107, 27,
617
+										107, 107, 107, 107, 107, 107, 34, 107, 36, 107, 38, 107, 107, 107, 107, 107,
618
+										107, 107, 46,);
619
+
620
+	const YY_SHIFT_USE_DFLT = - 15;
621
+
622
+	const YY_SHIFT_MAX = 238;
623
+
624
+	static public $yy_shift_ofst = array(499, 393, 78, 393, 348, 78, 78, 348, - 12, - 12, 33, 78, 78, 78, 78, 168, 78,
625
+										 78, 78, 213, 123, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 303, 78, 78, 78,
626
+										 168, 258, 258, 438, 438, 438, 438, 438, 438, 1609, 1660, 1706, 1706, 1706,
627
+										 1706, 1706, 499, 1912, 1153, 609, 541, 507, 989, 907, 825, 1071, 646, 1880,
628
+										 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 1235, 731,
629
+										 731, 140, 725, 804, 230, 465, 280, 160, 747, 1714, 1663, 483, 483, 160, 280,
630
+										 280, 324, 160, 522, 594, 1661, 1749, 642, 715, 317, 842, 40, 404, 3, 144, 404,
631
+										 - 5, 460, 327, 431, 161, 294, 147, 147, 426, - 5, 434, 223, 223, 265, 223, 223,
632
+										 223, 223, 223, 223, 265, 223, - 15, 1827, 1857, 1640, 1877, 1931, 1942, 92,
633
+										 645, 11, 90, - 5, 70, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, 214,
634
+										 - 5, 70, - 5, 70, - 5, - 5, - 5, - 5, - 5, 124, 124, 227, 124, 356, 124, 214,
635
+										 124, 124, - 5, 70, 124, 124, 223, 223, 595, 587, 587, 223, 265, 232, 223, 265,
636
+										 265, 223, - 15, - 15, - 15, - 15, - 15, 1581, 1970, 575, 694, 660, 260, 118,
637
+										 73, - 6, 96, 256, 295, 308, 145, 44, 110, 208, 263, - 14, 99, 439, 232, 519,
638
+										 521, 511, 509, 487, 83, 187, 101, 372, 279, 0, 297, 288, 481, 452, 371, 307,
639
+										 319, 385, 412, 414, 433, 375, 402,);
640
+
641
+	const YY_REDUCE_USE_DFLT = - 67;
642
+
643
+	const YY_REDUCE_MAX = 192;
644
+
645
+	static public $yy_reduce_ofst = array(1560, 469, 608, 503, 542, 570, 728, 643, 922, 1278, 1360, 1060, 950, 1032,
646
+										  1086, 896, 868, 1004, 786, 1414, 1332, 1114, 1524, 1168, 1224, 1250, 1196,
647
+										  1142, 1306, 1470, 1496, 1388, 1442, 978, 758, 840, 814, 1588, 1639, 1745,
648
+										  1719, 1678, 1708, 1775, 1811, 1259, 931, 931, 1013, 1095, 849, 1177, 170,
649
+										  - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26,
650
+										  - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 26, - 66,
651
+										  46, 652, - 37, 484, 767, - 7, 136, 351, 113, 203, 254, 141, 314, 179, 278,
652
+										  173, 420, 289, 394, 394, 289, 289, 20, 290, 228, 290, 424, 228, 326, 406, 289,
653
+										  384, 289, 228, 316, 312, 435, 379, 389, 289, 289, 436, 458, 289, 289, 289,
654
+										  289, 289, 289, 228, 289, 289, 476, 476, 476, 476, 476, 476, 502, 472, 476,
655
+										  476, 466, 470, 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 482, 466,
656
+										  490, 466, 510, 466, 466, 466, 466, 466, 506, 506, 512, 506, 459, 506, 525,
657
+										  506, 506, 466, 530, 506, 506, 28, 28, 534, 250, 250, 28, - 56, 193, 28, - 56,
658
+										  - 56, 28, 112, - 27, 454, 403, 446,);
659
+
660
+	static public $yyExpectedTokens = array(array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
661
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
662
+												  45, 46, 48, 50, 52, 53, 55, 60,),
663
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
664
+												  45, 46, 48, 50, 52, 53, 55, 60,),
665
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
666
+												  45, 46, 48, 50, 52, 53, 55, 60,),
667
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
668
+												  45, 46, 48, 50, 52, 53, 55, 60,),
669
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
670
+												  45, 46, 48, 50, 52, 53, 55, 60,),
671
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
672
+												  45, 46, 48, 50, 52, 53, 55, 60,),
673
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
674
+												  45, 46, 48, 50, 52, 53, 55, 60,),
675
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
676
+												  44, 45, 46, 48, 50, 52, 53, 55, 60,),
677
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 31, 32, 33, 35, 37, 40, 43,
678
+												  44, 45, 46, 48, 50, 52, 53, 55, 60,),
679
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
680
+												  45, 46, 48, 50, 52, 53, 54, 55, 60,),
681
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
682
+												  45, 46, 48, 50, 52, 53, 55, 60,),
683
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
684
+												  45, 46, 48, 50, 52, 53, 55, 60,),
685
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
686
+												  45, 46, 48, 50, 52, 53, 55, 60,),
687
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
688
+												  45, 46, 48, 50, 52, 53, 55, 60,),
689
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
690
+												  45, 46, 48, 50, 52, 53, 55, 60,),
691
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
692
+												  45, 46, 48, 50, 52, 53, 55, 60,),
693
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
694
+												  45, 46, 48, 50, 52, 53, 55, 60,),
695
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
696
+												  45, 46, 48, 50, 52, 53, 55, 60,),
697
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
698
+												  45, 46, 48, 50, 52, 53, 55, 60,),
699
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
700
+												  45, 46, 48, 50, 52, 53, 55, 60,),
701
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
702
+												  45, 46, 48, 50, 52, 53, 55, 60,),
703
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
704
+												  45, 46, 48, 50, 52, 53, 55, 60,),
705
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
706
+												  45, 46, 48, 50, 52, 53, 55, 60,),
707
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
708
+												  45, 46, 48, 50, 52, 53, 55, 60,),
709
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
710
+												  45, 46, 48, 50, 52, 53, 55, 60,),
711
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
712
+												  45, 46, 48, 50, 52, 53, 55, 60,),
713
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
714
+												  45, 46, 48, 50, 52, 53, 55, 60,),
715
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
716
+												  45, 46, 48, 50, 52, 53, 55, 60,),
717
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
718
+												  45, 46, 48, 50, 52, 53, 55, 60,),
719
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
720
+												  45, 46, 48, 50, 52, 53, 55, 60,),
721
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
722
+												  45, 46, 48, 50, 52, 53, 55, 60,),
723
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
724
+												  45, 46, 48, 50, 52, 53, 55, 60,),
725
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
726
+												  45, 46, 48, 50, 52, 53, 55, 60,),
727
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
728
+												  45, 46, 48, 50, 52, 53, 55, 60,),
729
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
730
+												  45, 46, 48, 50, 52, 53, 55, 60,),
731
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
732
+												  45, 46, 48, 50, 52, 53, 55, 60,),
733
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
734
+												  45, 46, 48, 50, 52, 53, 55, 60,),
735
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
736
+												  45, 46, 48, 50, 52, 53, 55, 60,),
737
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
738
+												  45, 46, 48, 50, 52, 55, 60,),
739
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
740
+												  45, 46, 48, 50, 52, 55, 60,),
741
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
742
+												  45, 46, 48, 50, 52, 55, 60,),
743
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
744
+												  45, 46, 48, 50, 52, 55, 60,),
745
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
746
+												  45, 46, 48, 50, 52, 55, 60,),
747
+											array(12, 13, 14, 16, 17, 19, 20, 21, 26, 30, 32, 33, 35, 37, 40, 43, 44,
748
+												  45, 46, 48, 50, 52, 55, 60,),
749
+											array(1, 25, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
750
+											array(1, 11, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
751
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
752
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
753
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
754
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
755
+											array(1, 27, 34, 39, 40, 41, 56, 57, 58, 59,),
756
+											array(3, 4, 5, 6, 7, 8, 12, 13, 16, 19, 20, 21, 26, 30, 32, 33,),
757
+											array(1, 22, 39, 40, 41, 56, 57, 58, 59,),
758
+											array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
759
+											array(1, 28, 39, 40, 41, 56, 57, 58, 59,),
760
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
761
+											array(1, 2, 39, 40, 41, 56, 57, 58, 59,),
762
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
763
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
764
+											array(1, 11, 39, 40, 41, 56, 57, 58, 59,),
765
+											array(1, 38, 39, 40, 41, 56, 57, 58, 59,),
766
+											array(1, 39, 40, 41, 54, 56, 57, 58, 59,),
767
+											array(1, 39, 40, 41, 56, 57, 58, 59, 61,),
768
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
769
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
770
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
771
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
772
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
773
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
774
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
775
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
776
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
777
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
778
+											array(1, 39, 40, 41, 56, 57, 58, 59,),
779
+											array(1, 39, 40, 41, 56, 57, 58, 59,), array(39, 40, 41, 56, 57, 58, 59,),
780
+											array(39, 40, 41, 56, 57, 58, 59,), array(14, 17, 50, 52, 55,),
781
+											array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
782
+											array(1, 11, 18, 27, 34, 37, 49,), array(14, 17, 52, 55,),
783
+											array(1, 11, 27, 34,), array(1, 27, 34,), array(14, 37, 55,),
784
+											array(5, 12, 13, 14, 16, 19, 20, 21, 26, 30, 32, 33, 60, 61,),
785
+											array(12, 13, 17, 27, 29, 34,), array(12, 13, 17, 27, 29, 34,),
786
+											array(12, 13, 17, 27, 34,), array(12, 13, 17, 27, 34,), array(14, 37, 55,),
787
+											array(1, 27, 34,), array(1, 27, 34,), array(18, 46, 53,),
788
+											array(14, 37, 55,), array(1, 2,), array(1, 11, 27, 28, 34,),
789
+											array(11, 23, 27, 34, 47,), array(11, 23, 27, 34, 47,),
790
+											array(1, 11, 27, 34,), array(1, 11, 27, 34,), array(13, 14, 17, 55,),
791
+											array(12, 13, 17, 51,), array(15, 18, 49,), array(12, 13, 17,),
792
+											array(8, 9, 10,), array(15, 18, 49,), array(12, 13, 17,), array(27, 34,),
793
+											array(1, 54,), array(14, 55,), array(1, 11,), array(18, 49,),
794
+											array(27, 34,), array(14, 17,), array(14, 17,), array(1, 18,),
795
+											array(27, 34,), array(1, 29,), array(1,), array(1,), array(18,), array(1,),
796
+											array(1,), array(1,), array(1,), array(1,), array(1,), array(18,),
797
+											array(1,), array(), array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
798
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53, 54,),
799
+											array(2, 12, 13, 15, 17, 18, 46, 49, 51, 53,),
800
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
801
+											array(2, 12, 13, 17, 18, 46, 49, 51, 53,),
802
+											array(12, 13, 17, 18, 46, 49, 51, 53,), array(13, 14, 17, 35, 55,),
803
+											array(12, 13, 17, 51,), array(15, 46, 53,), array(12, 13, 17,),
804
+											array(27, 34,), array(14, 55,), array(27, 34,), array(27, 34,),
805
+											array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
806
+											array(27, 34,), array(27, 34,), array(27, 34,), array(27, 34,),
807
+											array(46, 53,), array(27, 34,), array(14, 55,), array(27, 34,),
808
+											array(14, 55,), array(27, 34,), array(27, 34,), array(27, 34,),
809
+											array(27, 34,), array(27, 34,), array(46, 53,), array(46, 53,),
810
+											array(13, 37,), array(46, 53,), array(15, 23,), array(46, 53,),
811
+											array(46, 53,), array(46, 53,), array(46, 53,), array(27, 34,),
812
+											array(14, 55,), array(46, 53,), array(46, 53,), array(1,), array(1,),
813
+											array(9,), array(2,), array(2,), array(1,), array(18,), array(37,),
814
+											array(1,), array(18,), array(18,), array(1,), array(), array(), array(),
815
+											array(), array(), array(1, 2, 37, 39, 40, 41, 49, 56, 57, 58, 59,),
816
+											array(11, 22, 24, 27, 34, 36, 38, 46,), array(11, 15, 27, 34, 37, 49,),
817
+											array(37, 46, 49, 54,), array(12, 13, 17, 51,), array(29, 37, 49,),
818
+											array(23, 47, 54,), array(23, 47, 61,), array(22, 36,), array(36, 54,),
819
+											array(36, 38,), array(37, 49,), array(37, 49,), array(46, 54,),
820
+											array(36, 38,), array(36, 38,), array(23, 47,), array(37, 49,),
821
+											array(17, 51,), array(15, 46,), array(35,), array(37,), array(11,),
822
+											array(17,), array(5,), array(17,), array(14,), array(17,), array(17,),
823
+											array(15,), array(46,), array(17,), array(17,), array(42,), array(17,),
824
+											array(52,), array(17,), array(24,), array(52,), array(35,), array(17,),
825
+											array(37,), array(17,), array(54,), array(54,), array(38,), array(),
826
+											array(), array(), array(), array(), array(), array(), array(), array(),
827
+											array(), array(), array(), array(), array(), array(), array(), array(),
828
+											array(), array(), array(), array(), array(), array(), array(), array(),
829
+											array(), array(), array(), array(), array(), array(), array(), array(),
830
+											array(), array(), array(), array(), array(), array(), array(), array(),
831
+											array(), array(), array(), array(), array(), array(), array(), array(),
832
+											array(), array(), array(), array(), array(), array(), array(), array(),
833
+											array(), array(), array(), array(), array(), array(), array(), array(),
834
+											array(), array(), array(), array(), array(), array(), array(), array(),
835
+											array(), array(), array(), array(), array(), array(), array(), array(),
836
+											array(), array(), array(), array(), array(), array(), array(), array(),
837
+											array(), array(), array(), array(), array(), array(), array(), array(),);
838
+
839
+	static public $yy_default = array(339, 517, 496, 532, 532, 496, 496, 532, 532, 532, 532, 532, 532, 532, 532, 532,
840
+									  532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
841
+									  532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 532, 398, 532, 361,
842
+									  398, 398, 374, 364, 336, 532, 532, 403, 532, 532, 532, 532, 532, 532, 532, 532,
843
+									  400, 494, 518, 403, 409, 520, 379, 519, 405, 495, 410, 420, 425, 424, 532, 532,
844
+									  436, 532, 412, 398, 532, 532, 398, 398, 398, 398, 532, 398, 398, 508, 532, 388,
845
+									  412, 426, 426, 412, 412, 532, 461, 451, 461, 532, 451, 461, 398, 412, 532, 412,
846
+									  451, 398, 532, 532, 392, 376, 412, 419, 394, 505, 427, 416, 428, 429, 415, 423,
847
+									  451, 412, 503, 450, 450, 450, 450, 450, 450, 532, 463, 477, 461, 384, 532, 372,
848
+									  383, 371, 366, 365, 368, 370, 360, 362, 385, 454, 386, 532, 358, 532, 387, 377,
849
+									  382, 381, 375, 457, 486, 461, 487, 532, 489, 456, 455, 488, 378, 532, 458, 459,
850
+									  445, 393, 352, 497, 498, 389, 506, 461, 418, 509, 483, 395, 461, 461, 502, 502,
851
+									  502, 436, 432, 436, 436, 462, 436, 426, 426, 532, 532, 532, 532, 436, 432, 532,
852
+									  532, 426, 446, 532, 432, 532, 477, 532, 532, 344, 532, 532, 532, 532, 532, 432,
853
+									  532, 532, 438, 532, 532, 532, 406, 532, 434, 532, 507, 532, 441, 532, 532, 340,
854
+									  504, 492, 338, 337, 491, 438, 467, 482, 396, 341, 441, 477, 413, 349, 343, 350,
855
+									  466, 351, 411, 348, 431, 346, 345, 347, 433, 407, 465, 355, 464, 356, 414, 437,
856
+									  399, 353, 435, 380, 354, 342, 421, 417, 513, 479, 440, 439, 480, 512, 390, 511,
857
+									  510, 523, 522, 521, 481, 484, 493, 500, 478, 453, 485, 499, 452, 529, 430, 501,
858
+									  528, 391, 526, 525, 443, 373, 460, 490, 444, 422, 473, 471, 476, 442, 470, 469,
859
+									  468, 447, 449, 524, 475, 531, 530, 527, 448, 397, 515, 474, 516, 472, 514, 367,);
860
+
861
+	const YYNOCODE = 108;
862
+
863
+	const YYSTACKDEPTH = 500;
864
+
865
+	const YYNSTATE = 336;
866
+
867
+	const YYNRULE = 196;
868
+
869
+	const YYERRORSYMBOL = 62;
870
+
871
+	const YYERRSYMDT = 'yy0';
872
+
873
+	const YYFALLBACK = 0;
874
+
875
+	public static $yyFallback = array();
876
+
877
+	public function Trace($TraceFILE, $zTracePrompt)
878
+	{
879
+		if (!$TraceFILE) {
880
+			$zTracePrompt = 0;
881
+		} elseif (!$zTracePrompt) {
882
+			$TraceFILE = 0;
883
+		}
884
+		$this->yyTraceFILE = $TraceFILE;
885
+		$this->yyTracePrompt = $zTracePrompt;
886
+	}
887
+
888
+	public function PrintTrace()
889
+	{
890
+		$this->yyTraceFILE = fopen('php://output', 'w');
891
+		$this->yyTracePrompt = '<br>';
892
+	}
893
+
894
+	public $yyTraceFILE;
895
+
896
+	public $yyTracePrompt;
897
+
898
+	public $yyidx;                    /* Index of top element in stack */
899
+	public $yyerrcnt;                 /* Shifts left before out of the error */
900
+	public $yystack = array();  /* The parser's stack */
901
+
902
+	public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903
+								'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
904
+								'SIMPLETAG', 'ID', 'PTR', 'LDELMAKENOCACHE', 'LDELIF', 'LDELFOR', 'SEMICOLON', 'INCDEC',
905
+								'TO', 'STEP', 'LDELFOREACH', 'SPACE', 'AS', 'APTR', 'LDELSETFILTER',
906
+								'SMARTYBLOCKCHILDPARENT', 'CLOSETAG', 'LDELSLASH', 'ATTR', 'INTEGER', 'COMMA', 'OPENP',
907
+								'CLOSEP', 'MATH', 'UNIMATH', 'ISIN', 'QMARK', 'NOT', 'TYPECAST', 'HEX', 'DOT',
908
+								'INSTANCEOF', 'SINGLEQUOTESTRING', 'DOUBLECOLON', 'NAMESPACE', 'AT', 'HATCH', 'OPENB',
909
+								'CLOSEB', 'DOLLAR', 'LOGOP', 'SLOGOP', 'TLOGOP', 'SINGLECOND', 'QUOTE', 'BACKTICK',
910
+								'error', 'start', 'template', 'template_element', 'smartytag', 'literal',
911
+								'text_content', 'literal_elements', 'literal_element', 'tag', 'variable', 'attributes',
912
+								'value', 'expr', 'varindexed', 'modifierlist', 'statement', 'statements', 'foraction',
913
+								'varvar', 'modparameters', 'attribute', 'ternary', 'array', 'tlop', 'lop', 'scond',
914
+								'function', 'ns1', 'doublequoted_with_quotes', 'static_class_access', 'object',
915
+								'arrayindex', 'indexdef', 'varvarele', 'objectchain', 'objectelement', 'method',
916
+								'params', 'modifier', 'modparameter', 'arrayelements', 'arrayelement', 'doublequoted',
917
+								'doublequotedcontent',);
918
+
919
+	public static $yyRuleName = array('start ::= template', 'template ::= template_element',
920
+									  'template ::= template template_element', 'template ::=',
921
+									  'template_element ::= smartytag', 'template_element ::= literal',
922
+									  'template_element ::= PHP', 'template_element ::= NOCACHE',
923
+									  'template_element ::= text_content', 'text_content ::= TEXT',
924
+									  'text_content ::= text_content TEXT', 'template_element ::= STRIPON',
925
+									  'template_element ::= STRIPOFF', 'literal ::= LITERALSTART LITERALEND',
926
+									  'literal ::= LITERALSTART literal_elements LITERALEND',
927
+									  'literal_elements ::= literal_elements literal_element', 'literal_elements ::=',
928
+									  'literal_element ::= literal', 'literal_element ::= LITERAL',
929
+									  'smartytag ::= tag RDEL', 'smartytag ::= SIMPELOUTPUT', 'tag ::= LDEL variable',
930
+									  'tag ::= LDEL variable attributes', 'tag ::= LDEL value',
931
+									  'tag ::= LDEL value attributes', 'tag ::= LDEL expr',
932
+									  'tag ::= LDEL expr attributes', 'tag ::= LDEL DOLLARID EQUAL value',
933
+									  'tag ::= LDEL DOLLARID EQUAL expr', 'tag ::= LDEL DOLLARID EQUAL expr attributes',
934
+									  'tag ::= LDEL varindexed EQUAL expr attributes', 'smartytag ::= SIMPLETAG',
935
+									  'tag ::= LDEL ID attributes', 'tag ::= LDEL ID',
936
+									  'tag ::= LDEL ID modifierlist attributes', 'tag ::= LDEL ID PTR ID attributes',
937
+									  'tag ::= LDEL ID PTR ID modifierlist attributes',
938
+									  'tag ::= LDELMAKENOCACHE DOLLARID', 'tag ::= LDELIF expr',
939
+									  'tag ::= LDELIF expr attributes', 'tag ::= LDELIF statement',
940
+									  'tag ::= LDELIF statement attributes',
941
+									  'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
942
+									  'foraction ::= EQUAL expr', 'foraction ::= INCDEC',
943
+									  'tag ::= LDELFOR statement TO expr attributes',
944
+									  'tag ::= LDELFOR statement TO expr STEP expr attributes',
945
+									  'tag ::= LDELFOREACH attributes',
946
+									  'tag ::= LDELFOREACH SPACE value AS varvar attributes',
947
+									  'tag ::= LDELFOREACH SPACE value AS varvar APTR varvar attributes',
948
+									  'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
949
+									  'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
950
+									  'tag ::= LDELSETFILTER ID modparameters',
951
+									  'tag ::= LDELSETFILTER ID modparameters modifierlist',
952
+									  'tag ::= LDEL SMARTYBLOCKCHILDPARENT', 'smartytag ::= CLOSETAG',
953
+									  'tag ::= LDELSLASH ID', 'tag ::= LDELSLASH ID modifierlist',
954
+									  'tag ::= LDELSLASH ID PTR ID', 'tag ::= LDELSLASH ID PTR ID modifierlist',
955
+									  'attributes ::= attributes attribute', 'attributes ::= attribute',
956
+									  'attributes ::=', 'attribute ::= SPACE ID EQUAL ID', 'attribute ::= ATTR expr',
957
+									  'attribute ::= ATTR value', 'attribute ::= SPACE ID', 'attribute ::= SPACE expr',
958
+									  'attribute ::= SPACE value', 'attribute ::= SPACE INTEGER EQUAL expr',
959
+									  'statements ::= statement', 'statements ::= statements COMMA statement',
960
+									  'statement ::= DOLLARID EQUAL INTEGER', 'statement ::= DOLLARID EQUAL expr',
961
+									  'statement ::= varindexed EQUAL expr', 'statement ::= OPENP statement CLOSEP',
962
+									  'expr ::= value', 'expr ::= ternary', 'expr ::= DOLLARID COLON ID',
963
+									  'expr ::= expr MATH value', 'expr ::= expr UNIMATH value', 'expr ::= array',
964
+									  'expr ::= expr modifierlist', 'expr ::= expr tlop value',
965
+									  'expr ::= expr lop expr', 'expr ::= expr scond', 'expr ::= expr ISIN array',
966
+									  'expr ::= expr ISIN value',
967
+									  'ternary ::= OPENP expr CLOSEP QMARK DOLLARID COLON expr',
968
+									  'ternary ::= OPENP expr CLOSEP QMARK expr COLON expr', 'value ::= variable',
969
+									  'value ::= UNIMATH value', 'value ::= NOT value', 'value ::= TYPECAST value',
970
+									  'value ::= variable INCDEC', 'value ::= HEX', 'value ::= INTEGER',
971
+									  'value ::= INTEGER DOT INTEGER', 'value ::= INTEGER DOT', 'value ::= DOT INTEGER',
972
+									  'value ::= ID', 'value ::= function', 'value ::= OPENP expr CLOSEP',
973
+									  'value ::= variable INSTANCEOF ns1', 'value ::= variable INSTANCEOF variable',
974
+									  'value ::= SINGLEQUOTESTRING', 'value ::= doublequoted_with_quotes',
975
+									  'value ::= varindexed DOUBLECOLON static_class_access', 'value ::= smartytag',
976
+									  'value ::= value modifierlist', 'value ::= NAMESPACE',
977
+									  'value ::= ns1 DOUBLECOLON static_class_access', 'ns1 ::= ID',
978
+									  'ns1 ::= NAMESPACE', 'variable ::= DOLLARID', 'variable ::= varindexed',
979
+									  'variable ::= varvar AT ID', 'variable ::= object', 'variable ::= HATCH ID HATCH',
980
+									  'variable ::= HATCH ID HATCH arrayindex', 'variable ::= HATCH variable HATCH',
981
+									  'variable ::= HATCH variable HATCH arrayindex',
982
+									  'varindexed ::= DOLLARID arrayindex', 'varindexed ::= varvar arrayindex',
983
+									  'arrayindex ::= arrayindex indexdef', 'arrayindex ::=',
984
+									  'indexdef ::= DOT DOLLARID', 'indexdef ::= DOT varvar',
985
+									  'indexdef ::= DOT varvar AT ID', 'indexdef ::= DOT ID',
986
+									  'indexdef ::= DOT INTEGER', 'indexdef ::= DOT LDEL expr RDEL',
987
+									  'indexdef ::= OPENB ID CLOSEB', 'indexdef ::= OPENB ID DOT ID CLOSEB',
988
+									  'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
989
+									  'indexdef ::= OPENB INTEGER CLOSEB', 'indexdef ::= OPENB DOLLARID CLOSEB',
990
+									  'indexdef ::= OPENB variable CLOSEB', 'indexdef ::= OPENB value CLOSEB',
991
+									  'indexdef ::= OPENB expr CLOSEB', 'indexdef ::= OPENB CLOSEB',
992
+									  'varvar ::= DOLLARID', 'varvar ::= DOLLAR', 'varvar ::= varvar varvarele',
993
+									  'varvarele ::= ID', 'varvarele ::= SIMPELOUTPUT', 'varvarele ::= LDEL expr RDEL',
994
+									  'object ::= varindexed objectchain', 'objectchain ::= objectelement',
995
+									  'objectchain ::= objectchain objectelement',
996
+									  'objectelement ::= PTR ID arrayindex', 'objectelement ::= PTR varvar arrayindex',
997
+									  'objectelement ::= PTR LDEL expr RDEL arrayindex',
998
+									  'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
999
+									  'objectelement ::= PTR method', 'function ::= ns1 OPENP params CLOSEP',
1000
+									  'method ::= ID OPENP params CLOSEP', 'method ::= DOLLARID OPENP params CLOSEP',
1001
+									  'params ::= params COMMA expr', 'params ::= expr', 'params ::=',
1002
+									  'modifierlist ::= modifierlist modifier modparameters',
1003
+									  'modifierlist ::= modifier modparameters', 'modifier ::= VERT AT ID',
1004
+									  'modifier ::= VERT ID', 'modparameters ::= modparameters modparameter',
1005
+									  'modparameters ::=', 'modparameter ::= COLON value',
1006
+									  'modparameter ::= COLON array', 'static_class_access ::= method',
1007
+									  'static_class_access ::= method objectchain', 'static_class_access ::= ID',
1008
+									  'static_class_access ::= DOLLARID arrayindex',
1009
+									  'static_class_access ::= DOLLARID arrayindex objectchain', 'lop ::= LOGOP',
1010
+									  'lop ::= SLOGOP', 'tlop ::= TLOGOP', 'scond ::= SINGLECOND',
1011
+									  'array ::= OPENB arrayelements CLOSEB', 'arrayelements ::= arrayelement',
1012
+									  'arrayelements ::= arrayelements COMMA arrayelement', 'arrayelements ::=',
1013
+									  'arrayelement ::= value APTR expr', 'arrayelement ::= ID APTR expr',
1014
+									  'arrayelement ::= expr', 'doublequoted_with_quotes ::= QUOTE QUOTE',
1015
+									  'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
1016
+									  'doublequoted ::= doublequoted doublequotedcontent',
1017
+									  'doublequoted ::= doublequotedcontent',
1018
+									  'doublequotedcontent ::= BACKTICK variable BACKTICK',
1019
+									  'doublequotedcontent ::= BACKTICK expr BACKTICK',
1020
+									  'doublequotedcontent ::= DOLLARID', 'doublequotedcontent ::= LDEL variable RDEL',
1021
+									  'doublequotedcontent ::= LDEL expr RDEL', 'doublequotedcontent ::= smartytag',
1022
+									  'doublequotedcontent ::= TEXT',);
1023
+
1024
+	public function tokenName($tokenType)
1025
+	{
1026
+		if ($tokenType === 0) {
1027
+			return 'End of Input';
1028
+		}
1029
+		if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1030
+			return $this->yyTokenName[ $tokenType ];
1031
+		} else {
1032
+			return "Unknown";
1033
+		}
1034
+	}
1035
+
1036
+	public static function yy_destructor($yymajor, $yypminor)
1037
+	{
1038
+		switch ($yymajor) {
1039
+			default:
1040
+				break;   /* If no destructor action specified: do nothing */
1041
+		}
1042
+	}
1043
+
1044
+	public function yy_pop_parser_stack()
1045
+	{
1046
+		if (empty($this->yystack)) {
1047
+			return;
1048
+		}
1049
+		$yytos = array_pop($this->yystack);
1050
+		if ($this->yyTraceFILE && $this->yyidx >= 0) {
1051
+			fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1052
+		}
1053
+		$yymajor = $yytos->major;
1054
+		self::yy_destructor($yymajor, $yytos->minor);
1055
+		$this->yyidx --;
1056
+
1057
+		return $yymajor;
1058
+	}
1059
+
1060
+	public function __destruct()
1061
+	{
1062
+		while ($this->yystack !== Array()) {
1063
+			$this->yy_pop_parser_stack();
1064
+		}
1065
+		if (is_resource($this->yyTraceFILE)) {
1066
+			fclose($this->yyTraceFILE);
1067
+		}
1068
+	}
1069
+
1070
+	public function yy_get_expected_tokens($token)
1071
+	{
1072
+		static $res3 = array();
1073
+		static $res4 = array();
1074
+		$state = $this->yystack[ $this->yyidx ]->stateno;
1075
+		$expected = self::$yyExpectedTokens[ $state ];
1076
+		if (isset($res3[ $state ][ $token ])) {
1077
+			if ($res3[ $state ][ $token ]) {
1078
+				return $expected;
1079
+			}
1080
+		} else {
1081
+			if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1082
+				return $expected;
1083
+			}
1084
+		}
1085
+		$stack = $this->yystack;
1086
+		$yyidx = $this->yyidx;
1087
+		do {
1088
+			$yyact = $this->yy_find_shift_action($token);
1089
+			if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1090
+				// reduce action
1091
+				$done = 0;
1092
+				do {
1093
+					if ($done ++ == 100) {
1094
+						$this->yyidx = $yyidx;
1095
+						$this->yystack = $stack;
1096
+						// too much recursion prevents proper detection
1097
+						// so give up
1098
+						return array_unique($expected);
1099
+					}
1100
+					$yyruleno = $yyact - self::YYNSTATE;
1101
+					$this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1102
+					$nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1103
+															  self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1104
+					if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1105
+						$expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1106
+						if (isset($res4[ $nextstate ][ $token ])) {
1107
+							if ($res4[ $nextstate ][ $token ]) {
1108
+								$this->yyidx = $yyidx;
1109
+								$this->yystack = $stack;
1110
+								return array_unique($expected);
1111
+							}
1112
+						} else {
1113
+							if ($res4[ $nextstate ][ $token ] =
1114
+								in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1115
+							) {
1116
+								$this->yyidx = $yyidx;
1117
+								$this->yystack = $stack;
1118
+								return array_unique($expected);
1119
+							}
1120
+						}
1121
+					}
1122
+					if ($nextstate < self::YYNSTATE) {
1123
+						// we need to shift a non-terminal
1124
+						$this->yyidx ++;
1125
+						$x = new TP_yyStackEntry;
1126
+						$x->stateno = $nextstate;
1127
+						$x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1128
+						$this->yystack[ $this->yyidx ] = $x;
1129
+						continue 2;
1130
+					} elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1131
+						$this->yyidx = $yyidx;
1132
+						$this->yystack = $stack;
1133
+						// the last token was just ignored, we can't accept
1134
+						// by ignoring input, this is in essence ignoring a
1135
+						// syntax error!
1136
+						return array_unique($expected);
1137
+					} elseif ($nextstate === self::YY_NO_ACTION) {
1138
+						$this->yyidx = $yyidx;
1139
+						$this->yystack = $stack;
1140
+						// input accepted, but not shifted (I guess)
1141
+						return $expected;
1142
+					} else {
1143
+						$yyact = $nextstate;
1144
+					}
1145
+				}
1146
+				while (true);
1147
+			}
1148
+			break;
1149
+		}
1150
+		while (true);
1151
+		$this->yyidx = $yyidx;
1152
+		$this->yystack = $stack;
1153
+
1154
+		return array_unique($expected);
1155
+	}
1156
+
1157
+	public function yy_is_expected_token($token)
1158
+	{
1159
+		static $res = array();
1160
+		static $res2 = array();
1161
+		if ($token === 0) {
1162
+			return true; // 0 is not part of this
1163
+		}
1164
+		$state = $this->yystack[ $this->yyidx ]->stateno;
1165
+		if (isset($res[ $state ][ $token ])) {
1166
+			if ($res[ $state ][ $token ]) {
1167
+				return true;
1168
+			}
1169
+		} else {
1170
+			if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1171
+				return true;
1172
+			}
1173
+		}
1174
+		$stack = $this->yystack;
1175
+		$yyidx = $this->yyidx;
1176
+		do {
1177
+			$yyact = $this->yy_find_shift_action($token);
1178
+			if ($yyact >= self::YYNSTATE && $yyact < self::YYNSTATE + self::YYNRULE) {
1179
+				// reduce action
1180
+				$done = 0;
1181
+				do {
1182
+					if ($done ++ == 100) {
1183
+						$this->yyidx = $yyidx;
1184
+						$this->yystack = $stack;
1185
+						// too much recursion prevents proper detection
1186
+						// so give up
1187
+						return true;
1188
+					}
1189
+					$yyruleno = $yyact - self::YYNSTATE;
1190
+					$this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1191
+					$nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1192
+															  self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1193
+					if (isset($res2[ $nextstate ][ $token ])) {
1194
+						if ($res2[ $nextstate ][ $token ]) {
1195
+							$this->yyidx = $yyidx;
1196
+							$this->yystack = $stack;
1197
+							return true;
1198
+						}
1199
+					} else {
1200
+						if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1201
+															 in_array($token, self::$yyExpectedTokens[ $nextstate ],
1202
+																	  true))
1203
+						) {
1204
+							$this->yyidx = $yyidx;
1205
+							$this->yystack = $stack;
1206
+							return true;
1207
+						}
1208
+					}
1209
+					if ($nextstate < self::YYNSTATE) {
1210
+						// we need to shift a non-terminal
1211
+						$this->yyidx ++;
1212
+						$x = new TP_yyStackEntry;
1213
+						$x->stateno = $nextstate;
1214
+						$x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1215
+						$this->yystack[ $this->yyidx ] = $x;
1216
+						continue 2;
1217
+					} elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1218
+						$this->yyidx = $yyidx;
1219
+						$this->yystack = $stack;
1220
+						if (!$token) {
1221
+							// end of input: this is valid
1222
+							return true;
1223
+						}
1224
+						// the last token was just ignored, we can't accept
1225
+						// by ignoring input, this is in essence ignoring a
1226
+						// syntax error!
1227
+						return false;
1228
+					} elseif ($nextstate === self::YY_NO_ACTION) {
1229
+						$this->yyidx = $yyidx;
1230
+						$this->yystack = $stack;
1231
+						// input accepted, but not shifted (I guess)
1232
+						return true;
1233
+					} else {
1234
+						$yyact = $nextstate;
1235
+					}
1236
+				}
1237
+				while (true);
1238
+			}
1239
+			break;
1240
+		}
1241
+		while (true);
1242
+		$this->yyidx = $yyidx;
1243
+		$this->yystack = $stack;
1244
+
1245
+		return true;
1246
+	}
1247
+
1248
+	public function yy_find_shift_action($iLookAhead)
1249
+	{
1250
+		$stateno = $this->yystack[ $this->yyidx ]->stateno;
1251
+
1252
+		/* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
1253
+		if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1254
+			// no shift actions
1255
+			return self::$yy_default[ $stateno ];
1256
+		}
1257
+		$i = self::$yy_shift_ofst[ $stateno ];
1258
+		if ($i === self::YY_SHIFT_USE_DFLT) {
1259
+			return self::$yy_default[ $stateno ];
1260
+		}
1261
+		if ($iLookAhead == self::YYNOCODE) {
1262
+			return self::YY_NO_ACTION;
1263
+		}
1264
+		$i += $iLookAhead;
1265
+		if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1266
+			if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) &&
1267
+				($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1268
+			) {
1269
+				if ($this->yyTraceFILE) {
1270
+					fwrite($this->yyTraceFILE,
1271
+						   $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1272
+						   $this->yyTokenName[ $iFallback ] . "\n");
1273
+				}
1274
+
1275
+				return $this->yy_find_shift_action($iFallback);
1276
+			}
1277
+
1278
+			return self::$yy_default[ $stateno ];
1279
+		} else {
1280
+			return self::$yy_action[ $i ];
1281
+		}
1282
+	}
1283
+
1284
+	public function yy_find_reduce_action($stateno, $iLookAhead)
1285
+	{
1286
+		/* $stateno = $this->yystack[$this->yyidx]->stateno; */
1287
+
1288
+		if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
+			return self::$yy_default[ $stateno ];
1290
+		}
1291
+		$i = self::$yy_reduce_ofst[ $stateno ];
1292
+		if ($i == self::YY_REDUCE_USE_DFLT) {
1293
+			return self::$yy_default[ $stateno ];
1294
+		}
1295
+		if ($iLookAhead == self::YYNOCODE) {
1296
+			return self::YY_NO_ACTION;
1297
+		}
1298
+		$i += $iLookAhead;
1299
+		if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
+			return self::$yy_default[ $stateno ];
1301
+		} else {
1302
+			return self::$yy_action[ $i ];
1303
+		}
1304
+	}
1305
+
1306
+	public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307
+	{
1308
+		$this->yyidx ++;
1309
+		if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
+			$this->yyidx --;
1311
+			if ($this->yyTraceFILE) {
1312
+				fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313
+			}
1314
+			while ($this->yyidx >= 0) {
1315
+				$this->yy_pop_parser_stack();
1316
+			}
1317
+			#line 207 "../smarty/lexer/smarty_internal_templateparser.y"
1318
+
1319
+			$this->internalError = true;
1320
+			$this->compiler->trigger_template_error("Stack overflow in template parser");
1321
+
1322
+			return;
1323
+		}
1324
+		$yytos = new TP_yyStackEntry;
1325
+		$yytos->stateno = $yyNewState;
1326
+		$yytos->major = $yyMajor;
1327
+		$yytos->minor = $yypMinor;
1328
+		$this->yystack[] = $yytos;
1329
+		if ($this->yyTraceFILE && $this->yyidx > 0) {
1330
+			fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331
+			fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
+			for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
+				fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1334
+			}
1335
+			fwrite($this->yyTraceFILE, "\n");
1336
+		}
1337
+	}
1338
+
1339
+	public static $yyRuleInfo = array(array(0 => 63, 1 => 1), array(0 => 64, 1 => 1), array(0 => 64, 1 => 2),
1340
+									  array(0 => 64, 1 => 0), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1341
+									  array(0 => 65, 1 => 1), array(0 => 65, 1 => 1), array(0 => 65, 1 => 1),
1342
+									  array(0 => 68, 1 => 1), array(0 => 68, 1 => 2), array(0 => 65, 1 => 1),
1343
+									  array(0 => 65, 1 => 1), array(0 => 67, 1 => 2), array(0 => 67, 1 => 3),
1344
+									  array(0 => 69, 1 => 2), array(0 => 69, 1 => 0), array(0 => 70, 1 => 1),
1345
+									  array(0 => 70, 1 => 1), array(0 => 66, 1 => 2), array(0 => 66, 1 => 1),
1346
+									  array(0 => 71, 1 => 2), array(0 => 71, 1 => 3), array(0 => 71, 1 => 2),
1347
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1348
+									  array(0 => 71, 1 => 4), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1349
+									  array(0 => 71, 1 => 5), array(0 => 66, 1 => 1), array(0 => 71, 1 => 3),
1350
+									  array(0 => 71, 1 => 2), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1351
+									  array(0 => 71, 1 => 6), array(0 => 71, 1 => 2), array(0 => 71, 1 => 2),
1352
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 2), array(0 => 71, 1 => 3),
1353
+									  array(0 => 71, 1 => 8), array(0 => 80, 1 => 2), array(0 => 80, 1 => 1),
1354
+									  array(0 => 71, 1 => 5), array(0 => 71, 1 => 7), array(0 => 71, 1 => 2),
1355
+									  array(0 => 71, 1 => 6), array(0 => 71, 1 => 8), array(0 => 71, 1 => 6),
1356
+									  array(0 => 71, 1 => 8), array(0 => 71, 1 => 3), array(0 => 71, 1 => 4),
1357
+									  array(0 => 71, 1 => 2), array(0 => 66, 1 => 1), array(0 => 71, 1 => 2),
1358
+									  array(0 => 71, 1 => 3), array(0 => 71, 1 => 4), array(0 => 71, 1 => 5),
1359
+									  array(0 => 73, 1 => 2), array(0 => 73, 1 => 1), array(0 => 73, 1 => 0),
1360
+									  array(0 => 83, 1 => 4), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1361
+									  array(0 => 83, 1 => 2), array(0 => 83, 1 => 2), array(0 => 83, 1 => 2),
1362
+									  array(0 => 83, 1 => 4), array(0 => 79, 1 => 1), array(0 => 79, 1 => 3),
1363
+									  array(0 => 78, 1 => 3), array(0 => 78, 1 => 3), array(0 => 78, 1 => 3),
1364
+									  array(0 => 78, 1 => 3), array(0 => 75, 1 => 1), array(0 => 75, 1 => 1),
1365
+									  array(0 => 75, 1 => 3), array(0 => 75, 1 => 3), array(0 => 75, 1 => 3),
1366
+									  array(0 => 75, 1 => 1), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1367
+									  array(0 => 75, 1 => 3), array(0 => 75, 1 => 2), array(0 => 75, 1 => 3),
1368
+									  array(0 => 75, 1 => 3), array(0 => 84, 1 => 7), array(0 => 84, 1 => 7),
1369
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 2),
1370
+									  array(0 => 74, 1 => 2), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1371
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 3), array(0 => 74, 1 => 2),
1372
+									  array(0 => 74, 1 => 2), array(0 => 74, 1 => 1), array(0 => 74, 1 => 1),
1373
+									  array(0 => 74, 1 => 3), array(0 => 74, 1 => 3), array(0 => 74, 1 => 3),
1374
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 1), array(0 => 74, 1 => 3),
1375
+									  array(0 => 74, 1 => 1), array(0 => 74, 1 => 2), array(0 => 74, 1 => 1),
1376
+									  array(0 => 74, 1 => 3), array(0 => 90, 1 => 1), array(0 => 90, 1 => 1),
1377
+									  array(0 => 72, 1 => 1), array(0 => 72, 1 => 1), array(0 => 72, 1 => 3),
1378
+									  array(0 => 72, 1 => 1), array(0 => 72, 1 => 3), array(0 => 72, 1 => 4),
1379
+									  array(0 => 72, 1 => 3), array(0 => 72, 1 => 4), array(0 => 76, 1 => 2),
1380
+									  array(0 => 76, 1 => 2), array(0 => 94, 1 => 2), array(0 => 94, 1 => 0),
1381
+									  array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1382
+									  array(0 => 95, 1 => 2), array(0 => 95, 1 => 2), array(0 => 95, 1 => 4),
1383
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 5), array(0 => 95, 1 => 3),
1384
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 3),
1385
+									  array(0 => 95, 1 => 3), array(0 => 95, 1 => 3), array(0 => 95, 1 => 2),
1386
+									  array(0 => 81, 1 => 1), array(0 => 81, 1 => 1), array(0 => 81, 1 => 2),
1387
+									  array(0 => 96, 1 => 1), array(0 => 96, 1 => 1), array(0 => 96, 1 => 3),
1388
+									  array(0 => 93, 1 => 2), array(0 => 97, 1 => 1), array(0 => 97, 1 => 2),
1389
+									  array(0 => 98, 1 => 3), array(0 => 98, 1 => 3), array(0 => 98, 1 => 5),
1390
+									  array(0 => 98, 1 => 6), array(0 => 98, 1 => 2), array(0 => 89, 1 => 4),
1391
+									  array(0 => 99, 1 => 4), array(0 => 99, 1 => 4), array(0 => 100, 1 => 3),
1392
+									  array(0 => 100, 1 => 1), array(0 => 100, 1 => 0), array(0 => 77, 1 => 3),
1393
+									  array(0 => 77, 1 => 2), array(0 => 101, 1 => 3), array(0 => 101, 1 => 2),
1394
+									  array(0 => 82, 1 => 2), array(0 => 82, 1 => 0), array(0 => 102, 1 => 2),
1395
+									  array(0 => 102, 1 => 2), array(0 => 92, 1 => 1), array(0 => 92, 1 => 2),
1396
+									  array(0 => 92, 1 => 1), array(0 => 92, 1 => 2), array(0 => 92, 1 => 3),
1397
+									  array(0 => 87, 1 => 1), array(0 => 87, 1 => 1), array(0 => 86, 1 => 1),
1398
+									  array(0 => 88, 1 => 1), array(0 => 85, 1 => 3), array(0 => 103, 1 => 1),
1399
+									  array(0 => 103, 1 => 3), array(0 => 103, 1 => 0), array(0 => 104, 1 => 3),
1400
+									  array(0 => 104, 1 => 3), array(0 => 104, 1 => 1), array(0 => 91, 1 => 2),
1401
+									  array(0 => 91, 1 => 3), array(0 => 105, 1 => 2), array(0 => 105, 1 => 1),
1402
+									  array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1403
+									  array(0 => 106, 1 => 3), array(0 => 106, 1 => 3), array(0 => 106, 1 => 1),
1404
+									  array(0 => 106, 1 => 1),);
1405
+
1406
+	public static $yyReduceMap = array(0 => 0, 1 => 1, 2 => 2, 4 => 4, 5 => 5, 6 => 6, 7 => 7, 8 => 8, 9 => 9, 17 => 9,
1407
+									   18 => 9, 44 => 9, 67 => 9, 68 => 9, 76 => 9, 77 => 9, 81 => 9, 90 => 9, 95 => 9,
1408
+									   96 => 9, 101 => 9, 105 => 9, 106 => 9, 110 => 9, 112 => 9, 117 => 9, 179 => 9,
1409
+									   184 => 9, 10 => 10, 11 => 11, 12 => 12, 13 => 13, 16 => 13, 14 => 14, 75 => 14,
1410
+									   15 => 15, 91 => 15, 93 => 15, 94 => 15, 124 => 15, 19 => 19, 20 => 20, 21 => 21,
1411
+									   23 => 21, 25 => 21, 22 => 22, 24 => 22, 26 => 22, 27 => 27, 28 => 27, 29 => 29,
1412
+									   30 => 30, 31 => 31, 32 => 32, 33 => 33, 34 => 34, 35 => 35, 36 => 36, 37 => 37,
1413
+									   38 => 38, 39 => 39, 41 => 39, 40 => 40, 42 => 42, 43 => 43, 45 => 45, 46 => 46,
1414
+									   47 => 47, 48 => 48, 50 => 48, 49 => 49, 51 => 49, 52 => 52, 53 => 53, 54 => 54,
1415
+									   55 => 55, 56 => 56, 57 => 57, 58 => 58, 59 => 59, 60 => 60, 61 => 61, 70 => 61,
1416
+									   159 => 61, 163 => 61, 167 => 61, 168 => 61, 62 => 62, 160 => 62, 166 => 62,
1417
+									   63 => 63, 64 => 64, 65 => 64, 66 => 66, 144 => 66, 69 => 69, 71 => 71, 72 => 72,
1418
+									   73 => 72, 74 => 74, 78 => 78, 79 => 79, 80 => 79, 82 => 82, 109 => 82, 83 => 83,
1419
+									   84 => 84, 85 => 85, 86 => 86, 87 => 87, 88 => 88, 89 => 89, 92 => 92, 97 => 97,
1420
+									   98 => 98, 99 => 99, 100 => 100, 102 => 102, 103 => 103, 104 => 103, 107 => 107,
1421
+									   108 => 108, 111 => 111, 113 => 113, 114 => 114, 115 => 115, 116 => 116,
1422
+									   118 => 118, 119 => 119, 120 => 120, 121 => 121, 122 => 122, 123 => 123,
1423
+									   125 => 125, 181 => 125, 126 => 126, 127 => 127, 128 => 128, 129 => 129,
1424
+									   130 => 130, 131 => 131, 139 => 131, 132 => 132, 133 => 133, 134 => 134,
1425
+									   135 => 134, 137 => 134, 138 => 134, 136 => 136, 140 => 140, 141 => 141,
1426
+									   142 => 142, 185 => 142, 143 => 143, 145 => 145, 146 => 146, 147 => 147,
1427
+									   148 => 148, 149 => 149, 150 => 150, 151 => 151, 152 => 152, 153 => 153,
1428
+									   154 => 154, 155 => 155, 156 => 156, 157 => 157, 158 => 158, 161 => 161,
1429
+									   162 => 162, 164 => 164, 165 => 165, 169 => 169, 170 => 170, 171 => 171,
1430
+									   172 => 172, 173 => 173, 174 => 174, 175 => 175, 176 => 176, 177 => 177,
1431
+									   178 => 178, 180 => 180, 182 => 182, 183 => 183, 186 => 186, 187 => 187,
1432
+									   188 => 188, 189 => 189, 190 => 189, 192 => 189, 191 => 191, 193 => 193,
1433
+									   194 => 194, 195 => 195,);
1434
+
1435
+	#line 218 "../smarty/lexer/smarty_internal_templateparser.y"
1436
+	public function yy_r0()
1437
+	{
1438
+		$this->root_buffer->prepend_array($this, $this->template_prefix);
1439
+		$this->root_buffer->append_array($this, $this->template_postfix);
1440
+		$this->_retvalue = $this->root_buffer->to_smarty_php($this);
1441
+	}
1442
+
1443
+	#line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444
+	public function yy_r1()
1445
+	{
1446
+		if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1447
+			$this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1448
+		}
1449
+	}
1450
+
1451
+	#line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452
+	public function yy_r2()
1453
+	{
1454
+		if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1455
+			// because of possible code injection
1456
+			$this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1457
+		}
1458
+	}
1459
+
1460
+	#line 249 "../smarty/lexer/smarty_internal_templateparser.y"
1461
+	public function yy_r4()
1462
+	{
1463
+		if ($this->compiler->has_code) {
1464
+			$this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1465
+		} else {
1466
+			$this->_retvalue = null;
1467
+		}
1468
+		$this->compiler->has_variable_string = false;
1469
+		$this->block_nesting_level = count($this->compiler->_tag_stack);
1470
+	}
1471
+
1472
+	#line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473
+	public function yy_r5()
1474
+	{
1475
+		$this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1476
+	}
1477
+
1478
+	#line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479
+	public function yy_r6()
1480
+	{
1481
+		$code = $this->compiler->compileTag('private_php',
1482
+											array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1483
+												  array('type' => $this->lex->phpType)), array());
1484
+		if ($this->compiler->has_code && !empty($code)) {
1485
+			$tmp = '';
1486
+			foreach ($this->compiler->prefix_code as $code) {
1487
+				$tmp .= $code;
1488
+			}
1489
+			$this->compiler->prefix_code = array();
1490
+			$this->_retvalue =
1491
+				new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp . $code, true));
1492
+		} else {
1493
+			$this->_retvalue = null;
1494
+		}
1495
+	}
1496
+
1497
+	#line 275 "../smarty/lexer/smarty_internal_templateparser.y"
1498
+	public function yy_r7()
1499
+	{
1500
+		$this->compiler->tag_nocache = true;
1501
+		$save = $this->template->compiled->has_nocache_code;
1502
+		$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this,
1503
+															 $this->compiler->processNocacheCode("<?php echo '{$this->yystack[$this->yyidx + 0]->minor}';?>\n",
1504
+																								 true));
1505
+		$this->template->compiled->has_nocache_code = $save;
1506
+	}
1507
+
1508
+	#line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509
+	public function yy_r8()
1510
+	{
1511
+		$this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1512
+	}
1513
+
1514
+	#line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515
+	public function yy_r9()
1516
+	{
1517
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1518
+	}
1519
+
1520
+	#line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521
+	public function yy_r10()
1522
+	{
1523
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1524
+	}
1525
+
1526
+	#line 295 "../smarty/lexer/smarty_internal_templateparser.y"
1527
+	public function yy_r11()
1528
+	{
1529
+		$this->strip = true;
1530
+	}
1531
+
1532
+	#line 299 "../smarty/lexer/smarty_internal_templateparser.y"
1533
+	public function yy_r12()
1534
+	{
1535
+		$this->strip = false;
1536
+	}
1537
+
1538
+	#line 304 "../smarty/lexer/smarty_internal_templateparser.y"
1539
+	public function yy_r13()
1540
+	{
1541
+		$this->_retvalue = '';
1542
+	}
1543
+
1544
+	#line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545
+	public function yy_r14()
1546
+	{
1547
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1548
+	}
1549
+
1550
+	#line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551
+	public function yy_r15()
1552
+	{
1553
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1554
+	}
1555
+
1556
+	#line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557
+	public function yy_r19()
1558
+	{
1559
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1560
+	}
1561
+
1562
+	#line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563
+	public function yy_r20()
1564
+	{
1565
+		$var =
1566
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567
+				 ' $');
1568
+		if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570
+														   array('value' => $this->compiler->compileVariable('\'' .
1571
+																											 $match[ 1 ] .
1572
+																											 '\'')));
1573
+		} else {
1574
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1575
+														   array('value' => $this->compiler->compileVariable('\'' .
1576
+																											 $var .
1577
+																											 '\'')));
1578
+		}
1579
+	}
1580
+
1581
+	#line 344 "../smarty/lexer/smarty_internal_templateparser.y"
1582
+	public function yy_r21()
1583
+	{
1584
+		$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
+													   array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1586
+	}
1587
+
1588
+	#line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589
+	public function yy_r22()
1590
+	{
1591
+		$this->_retvalue =
1592
+			$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
+										array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1594
+	}
1595
+
1596
+	#line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597
+	public function yy_r27()
1598
+	{
1599
+		$this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
+																										0 ]->minor),
1601
+																	   array('var' => '\'' .
1602
+																					  substr($this->yystack[ $this->yyidx +
1603
+																											 - 2 ]->minor,
1604
+																							 1) . '\'')));
1605
+	}
1606
+
1607
+	#line 379 "../smarty/lexer/smarty_internal_templateparser.y"
1608
+	public function yy_r29()
1609
+	{
1610
+		$this->_retvalue = $this->compiler->compileTag('assign',
1611
+													   array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
+																										  - 1 ]->minor),
1613
+																		 array('var' => '\'' .
1614
+																						substr($this->yystack[ $this->yyidx +
1615
+																											   - 3 ]->minor,
1616
+																							   1) . '\'')),
1617
+																   $this->yystack[ $this->yyidx + 0 ]->minor));
1618
+	}
1619
+
1620
+	#line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621
+	public function yy_r30()
1622
+	{
1623
+		$this->_retvalue = $this->compiler->compileTag('assign',
1624
+													   array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
+																										  - 1 ]->minor),
1626
+																		 array('var' => $this->yystack[ $this->yyidx +
1627
+																										- 3 ]->minor[ 'var' ])),
1628
+																   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
+													   array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
+																										- 3 ]->minor[ 'smarty_internal_index' ]));
1631
+	}
1632
+
1633
+	#line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634
+	public function yy_r31()
1635
+	{
1636
+		$tag =
1637
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638
+		if ($tag == 'strip') {
1639
+			$this->strip = true;
1640
+			$this->_retvalue = null;;
1641
+		} else {
1642
+			if (defined($tag)) {
1643
+				if ($this->security) {
1644
+					$this->security->isTrustedConstant($tag, $this->compiler);
1645
+				}
1646
+				$this->_retvalue =
1647
+					$this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648
+			} else {
1649
+				if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
+					$this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1651
+				} else {
1652
+					$this->_retvalue = $this->compiler->compileTag($tag, array());
1653
+				}
1654
+			}
1655
+		}
1656
+	}
1657
+
1658
+	#line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659
+	public function yy_r32()
1660
+	{
1661
+		if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1662
+			if ($this->security) {
1663
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1664
+			}
1665
+			$this->_retvalue =
1666
+				$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
+											array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1668
+		} else {
1669
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
+														   $this->yystack[ $this->yyidx + 0 ]->minor);
1671
+		}
1672
+	}
1673
+
1674
+	#line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675
+	public function yy_r33()
1676
+	{
1677
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1678
+			if ($this->security) {
1679
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1680
+			}
1681
+			$this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
+														   array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1683
+		} else {
1684
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1685
+		}
1686
+	}
1687
+
1688
+	#line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689
+	public function yy_r34()
1690
+	{
1691
+		if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1692
+			if ($this->security) {
1693
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1694
+			}
1695
+			$this->_retvalue =
1696
+				$this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
+											array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
+												  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1699
+		} else {
1700
+			$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
+														   $this->yystack[ $this->yyidx + 0 ]->minor,
1702
+														   array('modifierlist' => $this->yystack[ $this->yyidx +
1703
+																								   - 1 ]->minor));
1704
+		}
1705
+	}
1706
+
1707
+	#line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708
+	public function yy_r35()
1709
+	{
1710
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1712
+													   array('object_method' => $this->yystack[ $this->yyidx +
1713
+																								- 1 ]->minor));
1714
+	}
1715
+
1716
+	#line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717
+	public function yy_r36()
1718
+	{
1719
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1721
+													   array('modifierlist' => $this->yystack[ $this->yyidx +
1722
+																							   - 1 ]->minor,
1723
+															 'object_method' => $this->yystack[ $this->yyidx +
1724
+																								- 2 ]->minor));
1725
+	}
1726
+
1727
+	#line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728
+	public function yy_r37()
1729
+	{
1730
+		$this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
+																							substr($this->yystack[ $this->yyidx +
1732
+																												   0 ]->minor,
1733
+																								   1) . '\'')));
1734
+	}
1735
+
1736
+	#line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737
+	public function yy_r38()
1738
+	{
1739
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1740
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
+													   array('if condition' => $this->yystack[ $this->yyidx +
1742
+																							   0 ]->minor));
1743
+	}
1744
+
1745
+	#line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746
+	public function yy_r39()
1747
+	{
1748
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1749
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
+													   $this->yystack[ $this->yyidx + 0 ]->minor,
1751
+													   array('if condition' => $this->yystack[ $this->yyidx +
1752
+																							   - 1 ]->minor));
1753
+	}
1754
+
1755
+	#line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756
+	public function yy_r40()
1757
+	{
1758
+		$tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1759
+		$this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
+													   array('if condition' => $this->yystack[ $this->yyidx +
1761
+																							   0 ]->minor));
1762
+	}
1763
+
1764
+	#line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765
+	public function yy_r42()
1766
+	{
1767
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1769
+																												 - 6 ]->minor),
1770
+																				array('ifexp' => $this->yystack[ $this->yyidx +
1771
+																												 - 4 ]->minor),
1772
+																				array('var' => $this->yystack[ $this->yyidx +
1773
+																											   - 2 ]->minor),
1774
+																				array('step' => $this->yystack[ $this->yyidx +
1775
+																												- 1 ]->minor))),
1776
+													   1);
1777
+	}
1778
+
1779
+	#line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780
+	public function yy_r43()
1781
+	{
1782
+		$this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1783
+	}
1784
+
1785
+	#line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786
+	public function yy_r45()
1787
+	{
1788
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1790
+																												 - 3 ]->minor),
1791
+																				array('to' => $this->yystack[ $this->yyidx +
1792
+																											  - 1 ]->minor))),
1793
+													   0);
1794
+	}
1795
+
1796
+	#line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797
+	public function yy_r46()
1798
+	{
1799
+		$this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
+																		  array(array('start' => $this->yystack[ $this->yyidx +
1801
+																												 - 5 ]->minor),
1802
+																				array('to' => $this->yystack[ $this->yyidx +
1803
+																											  - 3 ]->minor),
1804
+																				array('step' => $this->yystack[ $this->yyidx +
1805
+																												- 1 ]->minor))),
1806
+													   0);
1807
+	}
1808
+
1809
+	#line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810
+	public function yy_r47()
1811
+	{
1812
+		$this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1813
+	}
1814
+
1815
+	#line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816
+	public function yy_r48()
1817
+	{
1818
+		$this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
+																			  array(array('from' => $this->yystack[ $this->yyidx +
1820
+																													- 3 ]->minor),
1821
+																					array('item' => $this->yystack[ $this->yyidx +
1822
+																													- 1 ]->minor))));
1823
+	}
1824
+
1825
+	#line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826
+	public function yy_r49()
1827
+	{
1828
+		$this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
+																			  array(array('from' => $this->yystack[ $this->yyidx +
1830
+																													- 5 ]->minor),
1831
+																					array('item' => $this->yystack[ $this->yyidx +
1832
+																													- 1 ]->minor),
1833
+																					array('key' => $this->yystack[ $this->yyidx +
1834
+																												   - 3 ]->minor))));
1835
+	}
1836
+
1837
+	#line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838
+	public function yy_r52()
1839
+	{
1840
+		$this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
+													   array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
+																														- 1 ]->minor),
1843
+																								  $this->yystack[ $this->yyidx +
1844
+																												  0 ]->minor))));
1845
+	}
1846
+
1847
+	#line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848
+	public function yy_r53()
1849
+	{
1850
+		$this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
+													   array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
+																																	- 2 ]->minor),
1853
+																											  $this->yystack[ $this->yyidx +
1854
+																															  - 1 ]->minor)),
1855
+																							$this->yystack[ $this->yyidx +
1856
+																											0 ]->minor)));
1857
+	}
1858
+
1859
+	#line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860
+	public function yy_r54()
1861
+	{
1862
+		$j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
+		if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1864
+			// {$smarty.block.child}
1865
+			$this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866
+		} else {
1867
+			// {$smarty.block.parent}
1868
+			$this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileParentBlock($this->compiler);
1869
+		}
1870
+	}
1871
+
1872
+	#line 546 "../smarty/lexer/smarty_internal_templateparser.y"
1873
+	public function yy_r55()
1874
+	{
1875
+		$tag =
1876
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877
+				 ' /');
1878
+		if ($tag == 'strip') {
1879
+			$this->strip = false;
1880
+			$this->_retvalue = null;
1881
+		} else {
1882
+			$this->_retvalue = $this->compiler->compileTag($tag . 'close', array());
1883
+		}
1884
+	}
1885
+
1886
+	#line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887
+	public function yy_r56()
1888
+	{
1889
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1890
+	}
1891
+
1892
+	#line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893
+	public function yy_r57()
1894
+	{
1895
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
+													   array('modifier_list' => $this->yystack[ $this->yyidx +
1897
+																								0 ]->minor));
1898
+	}
1899
+
1900
+	#line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901
+	public function yy_r58()
1902
+	{
1903
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
+													   array('object_method' => $this->yystack[ $this->yyidx +
1905
+																								0 ]->minor));
1906
+	}
1907
+
1908
+	#line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909
+	public function yy_r59()
1910
+	{
1911
+		$this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
+													   array('object_method' => $this->yystack[ $this->yyidx +
1913
+																								- 1 ]->minor,
1914
+															 'modifier_list' => $this->yystack[ $this->yyidx +
1915
+																								0 ]->minor));
1916
+	}
1917
+
1918
+	#line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919
+	public function yy_r60()
1920
+	{
1921
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
+		$this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1923
+	}
1924
+
1925
+	#line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926
+	public function yy_r61()
1927
+	{
1928
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1929
+	}
1930
+
1931
+	#line 587 "../smarty/lexer/smarty_internal_templateparser.y"
1932
+	public function yy_r62()
1933
+	{
1934
+		$this->_retvalue = array();
1935
+	}
1936
+
1937
+	#line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938
+	public function yy_r63()
1939
+	{
1940
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1941
+			if ($this->security) {
1942
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1943
+			}
1944
+			$this->_retvalue =
1945
+				array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1946
+		} else {
1947
+			$this->_retvalue =
1948
+				array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1949
+																	 '\'');
1950
+		}
1951
+	}
1952
+
1953
+	#line 603 "../smarty/lexer/smarty_internal_templateparser.y"
1954
+	public function yy_r64()
1955
+	{
1956
+		$this->_retvalue =
1957
+			array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
+																								   0 ]->minor);
1959
+	}
1960
+
1961
+	#line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962
+	public function yy_r66()
1963
+	{
1964
+		$this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1965
+	}
1966
+
1967
+	#line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968
+	public function yy_r69()
1969
+	{
1970
+		$this->_retvalue =
1971
+			array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1972
+	}
1973
+
1974
+	#line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975
+	public function yy_r71()
1976
+	{
1977
+		$this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1979
+	}
1980
+
1981
+	#line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982
+	public function yy_r72()
1983
+	{
1984
+		$this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
+								 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1986
+	}
1987
+
1988
+	#line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989
+	public function yy_r74()
1990
+	{
1991
+		$this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
+								 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1993
+	}
1994
+
1995
+	#line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996
+	public function yy_r78()
1997
+	{
1998
+		$this->_retvalue =
1999
+			'$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
+			$this->yystack[ $this->yyidx + 0 ]->minor . '\')';
2001
+	}
2002
+
2003
+	#line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004
+	public function yy_r79()
2005
+	{
2006
+		$this->_retvalue =
2007
+			$this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
+			$this->yystack[ $this->yyidx + 0 ]->minor;
2009
+	}
2010
+
2011
+	#line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012
+	public function yy_r82()
2013
+	{
2014
+		$this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
+													   array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
+															 'modifierlist' => $this->yystack[ $this->yyidx +
2017
+																							   0 ]->minor));
2018
+	}
2019
+
2020
+	#line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021
+	public function yy_r83()
2022
+	{
2023
+		$this->_retvalue =
2024
+			$this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
+			$this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2026
+	}
2027
+
2028
+	#line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029
+	public function yy_r84()
2030
+	{
2031
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2033
+	}
2034
+
2035
+	#line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036
+	public function yy_r85()
2037
+	{
2038
+		$this->_retvalue =
2039
+			$this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2040
+	}
2041
+
2042
+	#line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043
+	public function yy_r86()
2044
+	{
2045
+		$this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2047
+	}
2048
+
2049
+	#line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050
+	public function yy_r87()
2051
+	{
2052
+		$this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2054
+	}
2055
+
2056
+	#line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057
+	public function yy_r88()
2058
+	{
2059
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
+																												  substr($this->yystack[ $this->yyidx +
2061
+																																		 - 2 ]->minor,
2062
+																														 1) .
2063
+																												  '\'') .
2064
+						   ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2065
+	}
2066
+
2067
+	#line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068
+	public function yy_r89()
2069
+	{
2070
+		$this->_retvalue =
2071
+			$this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
+			$this->yystack[ $this->yyidx + 0 ]->minor;
2073
+	}
2074
+
2075
+	#line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076
+	public function yy_r92()
2077
+	{
2078
+		$this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2079
+	}
2080
+
2081
+	#line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082
+	public function yy_r97()
2083
+	{
2084
+		$this->_retvalue =
2085
+			$this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2086
+	}
2087
+
2088
+	#line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089
+	public function yy_r98()
2090
+	{
2091
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2092
+	}
2093
+
2094
+	#line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095
+	public function yy_r99()
2096
+	{
2097
+		$this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2098
+	}
2099
+
2100
+	#line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101
+	public function yy_r100()
2102
+	{
2103
+		if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2104
+			if ($this->security) {
2105
+				$this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2106
+			}
2107
+			$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2108
+		} else {
2109
+			$this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2110
+		}
2111
+	}
2112
+
2113
+	#line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114
+	public function yy_r102()
2115
+	{
2116
+		$this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2117
+	}
2118
+
2119
+	#line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120
+	public function yy_r103()
2121
+	{
2122
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2124
+	}
2125
+
2126
+	#line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127
+	public function yy_r107()
2128
+	{
2129
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2130
+		if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2131
+			$this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132
+											  $this->compiler->compileTag('private_special_variable', array(),
2133
+																		  $this->yystack[ $this->yyidx +
2134
+																						  - 2 ]->minor[ 'smarty_internal_index' ]) .
2135
+											  ';?>');
2136
+		} else {
2137
+			$this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
+											  $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
+																							   - 2 ]->minor[ 'var' ]) .
2140
+											  $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2141
+											  ';?>');
2142
+		}
2143
+		$this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
+						   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2145
+	}
2146
+
2147
+	#line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148
+	public function yy_r108()
2149
+	{
2150
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2151
+		$tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2152
+		$this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153
+		$this->_retvalue = $prefixVar;
2154
+	}
2155
+
2156
+	#line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157
+	public function yy_r111()
2158
+	{
2159
+		if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2160
+			(!$this->security ||
2161
+			 $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
+														 $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2163
+		) {
2164
+			if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2165
+				$this->_retvalue =
2166
+					$this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
+					$this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2168
+			} else {
2169
+				$this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
+								   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
+								   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2172
+			}
2173
+		} else {
2174
+			$this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2175
+													"' is undefined or not allowed by security setting");
2176
+		}
2177
+	}
2178
+
2179
+	#line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180
+	public function yy_r113()
2181
+	{
2182
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2183
+	}
2184
+
2185
+	#line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186
+	public function yy_r114()
2187
+	{
2188
+		$this->_retvalue =
2189
+			$this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2190
+	}
2191
+
2192
+	#line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193
+	public function yy_r115()
2194
+	{
2195
+		if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2196
+			$smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
+													  $this->yystack[ $this->yyidx +
2198
+																	  0 ]->minor[ 'smarty_internal_index' ]);
2199
+			$this->_retvalue = $smarty_var;
2200
+		} else {
2201
+			// used for array reset,next,prev,end,current
2202
+			$this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
+			$this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
+			$this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
+							   $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2206
+		}
2207
+	}
2208
+
2209
+	#line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210
+	public function yy_r116()
2211
+	{
2212
+		$this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
+						   $this->yystack[ $this->yyidx + 0 ]->minor;
2214
+	}
2215
+
2216
+	#line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217
+	public function yy_r118()
2218
+	{
2219
+		$this->_retvalue =
2220
+			$this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2221
+	}
2222
+
2223
+	#line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224
+	public function yy_r119()
2225
+	{
2226
+		$this->_retvalue = '(is_array($tmp = ' .
2227
+						   $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2228
+																  "'") . ') ? $tmp' .
2229
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2230
+	}
2231
+
2232
+	#line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233
+	public function yy_r120()
2234
+	{
2235
+		$this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2236
+	}
2237
+
2238
+	#line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239
+	public function yy_r121()
2240
+	{
2241
+		$this->_retvalue =
2242
+			'(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
+			') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2244
+	}
2245
+
2246
+	#line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247
+	public function yy_r122()
2248
+	{
2249
+		$this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
+								 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2251
+	}
2252
+
2253
+	#line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254
+	public function yy_r123()
2255
+	{
2256
+		$this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
+								 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2258
+	}
2259
+
2260
+	#line 929 "../smarty/lexer/smarty_internal_templateparser.y"
2261
+	public function yy_r125()
2262
+	{
2263
+		return;
2264
+	}
2265
+
2266
+	#line 935 "../smarty/lexer/smarty_internal_templateparser.y"
2267
+	public function yy_r126()
2268
+	{
2269
+		$this->_retvalue =
2270
+			'[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2271
+			']';
2272
+	}
2273
+
2274
+	#line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275
+	public function yy_r127()
2276
+	{
2277
+		$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2278
+	}
2279
+
2280
+	#line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281
+	public function yy_r128()
2282
+	{
2283
+		$this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
+						   $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2285
+	}
2286
+
2287
+	#line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288
+	public function yy_r129()
2289
+	{
2290
+		$this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2291
+	}
2292
+
2293
+	#line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294
+	public function yy_r130()
2295
+	{
2296
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2297
+	}
2298
+
2299
+	#line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300
+	public function yy_r131()
2301
+	{
2302
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2303
+	}
2304
+
2305
+	#line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306
+	public function yy_r132()
2307
+	{
2308
+		$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
+																								  $this->yystack[ $this->yyidx +
2310
+																												  - 1 ]->minor .
2311
+																								  '\'][\'index\']') .
2312
+						   ']';
2313
+	}
2314
+
2315
+	#line 964 "../smarty/lexer/smarty_internal_templateparser.y"
2316
+	public function yy_r133()
2317
+	{
2318
+		$this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
+																								  $this->yystack[ $this->yyidx +
2320
+																												  - 3 ]->minor .
2321
+																								  '\'][\'' .
2322
+																								  $this->yystack[ $this->yyidx +
2323
+																												  - 1 ]->minor .
2324
+																								  '\']') . ']';
2325
+	}
2326
+
2327
+	#line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328
+	public function yy_r134()
2329
+	{
2330
+		$this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2331
+	}
2332
+
2333
+	#line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334
+	public function yy_r136()
2335
+	{
2336
+		$this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
+																  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
+																		 1) . '\'') . ']';;
2339
+	}
2340
+
2341
+	#line 989 "../smarty/lexer/smarty_internal_templateparser.y"
2342
+	public function yy_r140()
2343
+	{
2344
+		$this->_retvalue = '[]';
2345
+	}
2346
+
2347
+	#line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348
+	public function yy_r141()
2349
+	{
2350
+		$this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2351
+	}
2352
+
2353
+	#line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
2354
+	public function yy_r142()
2355
+	{
2356
+		$this->_retvalue = "''";
2357
+	}
2358
+
2359
+	#line 1008 "../smarty/lexer/smarty_internal_templateparser.y"
2360
+	public function yy_r143()
2361
+	{
2362
+		$this->_retvalue =
2363
+			$this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2364
+	}
2365
+
2366
+	#line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367
+	public function yy_r145()
2368
+	{
2369
+		$var =
2370
+			trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371
+				 ' $');
2372
+		$this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373
+	}
2374
+
2375
+	#line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376
+	public function yy_r146()
2377
+	{
2378
+		$this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2379
+	}
2380
+
2381
+	#line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382
+	public function yy_r147()
2383
+	{
2384
+		if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2385
+			$this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
+														   $this->yystack[ $this->yyidx +
2387
+																		   - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
+							   $this->yystack[ $this->yyidx + 0 ]->minor;
2389
+		} else {
2390
+			$this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
+							   $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
+							   $this->yystack[ $this->yyidx + 0 ]->minor;
2393
+		}
2394
+	}
2395
+
2396
+	#line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397
+	public function yy_r148()
2398
+	{
2399
+		$this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2400
+	}
2401
+
2402
+	#line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403
+	public function yy_r149()
2404
+	{
2405
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2406
+	}
2407
+
2408
+	#line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409
+	public function yy_r150()
2410
+	{
2411
+		if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2412
+			$this->compiler->trigger_template_error(self::Err1);
2413
+		}
2414
+		$this->_retvalue =
2415
+			'->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2416
+	}
2417
+
2418
+	#line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
2419
+	public function yy_r151()
2420
+	{
2421
+		if ($this->security) {
2422
+			$this->compiler->trigger_template_error(self::Err2);
2423
+		}
2424
+		$this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
+						   $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2426
+	}
2427
+
2428
+	#line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
2429
+	public function yy_r152()
2430
+	{
2431
+		if ($this->security) {
2432
+			$this->compiler->trigger_template_error(self::Err2);
2433
+		}
2434
+		$this->_retvalue =
2435
+			'->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2436
+	}
2437
+
2438
+	#line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
2439
+	public function yy_r153()
2440
+	{
2441
+		if ($this->security) {
2442
+			$this->compiler->trigger_template_error(self::Err2);
2443
+		}
2444
+		$this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
+						   $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2446
+						   '}';
2447
+	}
2448
+
2449
+	#line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450
+	public function yy_r154()
2451
+	{
2452
+		$this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2453
+	}
2454
+
2455
+	#line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456
+	public function yy_r155()
2457
+	{
2458
+		if (!$this->security ||
2459
+			$this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2460
+		) {
2461
+			if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
+				strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
+				strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
+				is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2465
+			) {
2466
+				$func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2467
+				if ($func_name == 'isset') {
2468
+					if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2469
+						$this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470
+					}
2471
+					$par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2472
+					if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473
+									strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474
+					) {
2475
+						$prefixVar = $this->compiler->getNewPrefixVariable();
2476
+						$this->compiler->appendPrefixCode("<?php $prefixVar" . '=' .
2477
+														  str_replace(')', ', false)', $par) . ';?>');
2478
+						$isset_par = $prefixVar;
2479
+					} else {
2480
+						$isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481
+					}
2482
+					$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2483
+				} elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
+					if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2485
+						$this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486
+					}
2487
+					if ($func_name == 'empty') {
2488
+						$this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
+																		  $this->yystack[ $this->yyidx +
2490
+																						  - 1 ]->minor[ 0 ]) . ')';
2491
+					} else {
2492
+						$this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2493
+					}
2494
+				} else {
2495
+					$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
+									   implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2497
+				}
2498
+			} else {
2499
+				$this->compiler->trigger_template_error("unknown function \"" .
2500
+														$this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2501
+			}
2502
+		}
2503
+	}
2504
+
2505
+	#line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506
+	public function yy_r156()
2507
+	{
2508
+		if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2509
+			$this->compiler->trigger_template_error(self::Err1);
2510
+		}
2511
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
+						   implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2513
+	}
2514
+
2515
+	#line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
2516
+	public function yy_r157()
2517
+	{
2518
+		if ($this->security) {
2519
+			$this->compiler->trigger_template_error(self::Err2);
2520
+		}
2521
+		$prefixVar = $this->compiler->getNewPrefixVariable();
2522
+		$this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
+																									  substr($this->yystack[ $this->yyidx +
2524
+																															 - 3 ]->minor,
2525
+																											 1) .
2526
+																									  '\'') . ';?>');
2527
+		$this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2528
+	}
2529
+
2530
+	#line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531
+	public function yy_r158()
2532
+	{
2533
+		$this->_retvalue =
2534
+			array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2535
+	}
2536
+
2537
+	#line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538
+	public function yy_r161()
2539
+	{
2540
+		$this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
+									   array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
+														 $this->yystack[ $this->yyidx + 0 ]->minor)));
2543
+	}
2544
+
2545
+	#line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546
+	public function yy_r162()
2547
+	{
2548
+		$this->_retvalue =
2549
+			array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2550
+	}
2551
+
2552
+	#line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553
+	public function yy_r164()
2554
+	{
2555
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2556
+	}
2557
+
2558
+	#line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559
+	public function yy_r165()
2560
+	{
2561
+		$this->_retvalue =
2562
+			array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2563
+	}
2564
+
2565
+	#line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566
+	public function yy_r169()
2567
+	{
2568
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2569
+	}
2570
+
2571
+	#line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572
+	public function yy_r170()
2573
+	{
2574
+		$this->_retvalue =
2575
+			array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2576
+	}
2577
+
2578
+	#line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579
+	public function yy_r171()
2580
+	{
2581
+		$this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2582
+	}
2583
+
2584
+	#line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585
+	public function yy_r172()
2586
+	{
2587
+		$this->_retvalue =
2588
+			array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2589
+	}
2590
+
2591
+	#line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592
+	public function yy_r173()
2593
+	{
2594
+		$this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
+								 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
+								 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2597
+	}
2598
+
2599
+	#line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600
+	public function yy_r174()
2601
+	{
2602
+		$this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2603
+	}
2604
+
2605
+	#line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
2606
+	public function yy_r175()
2607
+	{
2608
+		static $lops =
2609
+			array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610
+				  'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611
+				  'xor' => ' xor ',);
2612
+		$op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
+		$this->_retvalue = $lops[ $op ];
2614
+	}
2615
+
2616
+	#line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
2617
+	public function yy_r176()
2618
+	{
2619
+		static $tlops =
2620
+			array('isdivby' => array('op' => ' % ', 'pre' => '!('), 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
2621
+				  'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
2622
+				  'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623
+				  'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624
+				  'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
+		$op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
+		$this->_retvalue = $tlops[ $op ];
2627
+	}
2628
+
2629
+	#line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
2630
+	public function yy_r177()
2631
+	{
2632
+		static $scond =
2633
+			array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
+		$op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
+		$this->_retvalue = $scond[ $op ];
2636
+	}
2637
+
2638
+	#line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639
+	public function yy_r178()
2640
+	{
2641
+		$this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2642
+	}
2643
+
2644
+	#line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645
+	public function yy_r180()
2646
+	{
2647
+		$this->_retvalue =
2648
+			$this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2649
+	}
2650
+
2651
+	#line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652
+	public function yy_r182()
2653
+	{
2654
+		$this->_retvalue =
2655
+			$this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2656
+	}
2657
+
2658
+	#line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659
+	public function yy_r183()
2660
+	{
2661
+		$this->_retvalue =
2662
+			'\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2663
+	}
2664
+
2665
+	#line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666
+	public function yy_r186()
2667
+	{
2668
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2669
+	}
2670
+
2671
+	#line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672
+	public function yy_r187()
2673
+	{
2674
+		$this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
+		$this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2676
+	}
2677
+
2678
+	#line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679
+	public function yy_r188()
2680
+	{
2681
+		$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2682
+	}
2683
+
2684
+	#line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685
+	public function yy_r189()
2686
+	{
2687
+		$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2688
+	}
2689
+
2690
+	#line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691
+	public function yy_r191()
2692
+	{
2693
+		$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
+															  substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2695
+															  '\']->value');
2696
+	}
2697
+
2698
+	#line 1340 "../smarty/lexer/smarty_internal_templateparser.y"
2699
+	public function yy_r193()
2700
+	{
2701
+		$this->_retvalue =
2702
+			new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2703
+	}
2704
+
2705
+	#line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706
+	public function yy_r194()
2707
+	{
2708
+		$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2709
+	}
2710
+
2711
+	#line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712
+	public function yy_r195()
2713
+	{
2714
+		$this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2715
+	}
2716
+
2717
+	private $_retvalue;
2718
+
2719
+	public function yy_reduce($yyruleno)
2720
+	{
2721
+		if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) {
2722
+			fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2723
+					self::$yyRuleName[ $yyruleno ]);
2724
+		}
2725
+
2726
+		$this->_retvalue = $yy_lefthand_side = null;
2727
+		if (isset(self::$yyReduceMap[ $yyruleno ])) {
2728
+			// call the action
2729
+			$this->_retvalue = null;
2730
+			$this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2731
+			$yy_lefthand_side = $this->_retvalue;
2732
+		}
2733
+		$yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2734
+		$yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2735
+		$this->yyidx -= $yysize;
2736
+		for ($i = $yysize; $i; $i --) {
2737
+			// pop all of the right-hand side parameters
2738
+			array_pop($this->yystack);
2739
+		}
2740
+		$yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2741
+		if ($yyact < self::YYNSTATE) {
2742
+			if (!$this->yyTraceFILE && $yysize) {
2743
+				$this->yyidx ++;
2744
+				$x = new TP_yyStackEntry;
2745
+				$x->stateno = $yyact;
2746
+				$x->major = $yygoto;
2747
+				$x->minor = $yy_lefthand_side;
2748
+				$this->yystack[ $this->yyidx ] = $x;
2749
+			} else {
2750
+				$this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2751
+			}
2752
+		} elseif ($yyact == self::YYNSTATE + self::YYNRULE + 1) {
2753
+			$this->yy_accept();
2754
+		}
2755
+	}
2756
+
2757
+	public function yy_parse_failed()
2758
+	{
2759
+		if ($this->yyTraceFILE) {
2760
+			fprintf($this->yyTraceFILE, "%sFail!\n", $this->yyTracePrompt);
2761
+		}
2762
+		while ($this->yyidx >= 0) {
2763
+			$this->yy_pop_parser_stack();
2764
+		}
2765
+	}
2766
+
2767
+	public function yy_syntax_error($yymajor, $TOKEN)
2768
+	{
2769
+		#line 200 "../smarty/lexer/smarty_internal_templateparser.y"
2770
+
2771
+		$this->internalError = true;
2772
+		$this->yymajor = $yymajor;
2773
+		$this->compiler->trigger_template_error();
2774
+	}
2775
+
2776
+	public function yy_accept()
2777
+	{
2778
+		if ($this->yyTraceFILE) {
2779
+			fprintf($this->yyTraceFILE, "%sAccept!\n", $this->yyTracePrompt);
2780
+		}
2781
+		while ($this->yyidx >= 0) {
2782
+			$this->yy_pop_parser_stack();
2783
+		}
2784
+		#line 193 "../smarty/lexer/smarty_internal_templateparser.y"
2785
+
2786
+		$this->successful = !$this->internalError;
2787
+		$this->internalError = false;
2788
+		$this->retvalue = $this->_retvalue;
2789
+	}
2790
+
2791
+	public function doParse($yymajor, $yytokenvalue)
2792
+	{
2793
+		$yyerrorhit = 0;   /* True if yymajor has invoked an error */
2794
+
2795
+		if ($this->yyidx === null || $this->yyidx < 0) {
2796
+			$this->yyidx = 0;
2797
+			$this->yyerrcnt = - 1;
2798
+			$x = new TP_yyStackEntry;
2799
+			$x->stateno = 0;
2800
+			$x->major = 0;
2801
+			$this->yystack = array();
2802
+			$this->yystack[] = $x;
2803
+		}
2804
+		$yyendofinput = ($yymajor == 0);
2805
+
2806
+		if ($this->yyTraceFILE) {
2807
+			fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2808
+		}
2809
+
2810
+		do {
2811
+			$yyact = $this->yy_find_shift_action($yymajor);
2812
+			if ($yymajor < self::YYERRORSYMBOL && !$this->yy_is_expected_token($yymajor)) {
2813
+				// force a syntax error
2814
+				$yyact = self::YY_ERROR_ACTION;
2815
+			}
2816
+			if ($yyact < self::YYNSTATE) {
2817
+				$this->yy_shift($yyact, $yymajor, $yytokenvalue);
2818
+				$this->yyerrcnt --;
2819
+				if ($yyendofinput && $this->yyidx >= 0) {
2820
+					$yymajor = 0;
2821
+				} else {
2822
+					$yymajor = self::YYNOCODE;
2823
+				}
2824
+			} elseif ($yyact < self::YYNSTATE + self::YYNRULE) {
2825
+				$this->yy_reduce($yyact - self::YYNSTATE);
2826
+			} elseif ($yyact == self::YY_ERROR_ACTION) {
2827
+				if ($this->yyTraceFILE) {
2828
+					fprintf($this->yyTraceFILE, "%sSyntax Error!\n", $this->yyTracePrompt);
2829
+				}
2830
+				if (self::YYERRORSYMBOL) {
2831
+					if ($this->yyerrcnt < 0) {
2832
+						$this->yy_syntax_error($yymajor, $yytokenvalue);
2833
+					}
2834
+					$yymx = $this->yystack[ $this->yyidx ]->major;
2835
+					if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2836
+						if ($this->yyTraceFILE) {
2837
+							fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2838
+									$this->yyTokenName[ $yymajor ]);
2839
+						}
2840
+						$this->yy_destructor($yymajor, $yytokenvalue);
2841
+						$yymajor = self::YYNOCODE;
2842
+					} else {
2843
+						while ($this->yyidx >= 0 && $yymx != self::YYERRORSYMBOL &&
2844
+							   ($yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE) {
2845
+							$this->yy_pop_parser_stack();
2846
+						}
2847
+						if ($this->yyidx < 0 || $yymajor == 0) {
2848
+							$this->yy_destructor($yymajor, $yytokenvalue);
2849
+							$this->yy_parse_failed();
2850
+							$yymajor = self::YYNOCODE;
2851
+						} elseif ($yymx != self::YYERRORSYMBOL) {
2852
+							$u2 = 0;
2853
+							$this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
2854
+						}
2855
+					}
2856
+					$this->yyerrcnt = 3;
2857
+					$yyerrorhit = 1;
2858
+				} else {
2859
+					if ($this->yyerrcnt <= 0) {
2860
+						$this->yy_syntax_error($yymajor, $yytokenvalue);
2861
+					}
2862
+					$this->yyerrcnt = 3;
2863
+					$this->yy_destructor($yymajor, $yytokenvalue);
2864
+					if ($yyendofinput) {
2865
+						$this->yy_parse_failed();
2866
+					}
2867
+					$yymajor = self::YYNOCODE;
2868
+				}
2869
+			} else {
2870
+				$this->yy_accept();
2871
+				$yymajor = self::YYNOCODE;
2872
+			}
2873
+		}
2874
+		while ($yymajor != self::YYNOCODE && $this->yyidx >= 0);
2875
+	}
2876 2876
 }
2877 2877
 
Please login to merge, or discard this patch.
Spacing   +405 added lines, -405 removed lines patch added patch discarded remove patch
@@ -28,18 +28,18 @@  discard block
 block discarded – undo
28 28
 
29 29
     public function offsetExists($offset)
30 30
     {
31
-        return isset($this->metadata[ $offset ]);
31
+        return isset($this->metadata[$offset]);
32 32
     }
33 33
 
34 34
     public function offsetGet($offset)
35 35
     {
36
-        return $this->metadata[ $offset ];
36
+        return $this->metadata[$offset];
37 37
     }
38 38
 
39 39
     public function offsetSet($offset, $value)
40 40
     {
41 41
         if ($offset === null) {
42
-            if (isset($value[ 0 ])) {
42
+            if (isset($value[0])) {
43 43
                 $x = ($value instanceof TP_yyToken) ? $value->metadata : $value;
44 44
                 $this->metadata = array_merge($this->metadata, $x);
45 45
 
@@ -52,23 +52,23 @@  discard block
 block discarded – undo
52 52
         }
53 53
         if ($value instanceof TP_yyToken) {
54 54
             if ($value->metadata) {
55
-                $this->metadata[ $offset ] = $value->metadata;
55
+                $this->metadata[$offset] = $value->metadata;
56 56
             }
57 57
         } elseif ($value) {
58
-            $this->metadata[ $offset ] = $value;
58
+            $this->metadata[$offset] = $value;
59 59
         }
60 60
     }
61 61
 
62 62
     public function offsetUnset($offset)
63 63
     {
64
-        unset($this->metadata[ $offset ]);
64
+        unset($this->metadata[$offset]);
65 65
     }
66 66
 }
67 67
 
68 68
 class TP_yyStackEntry
69 69
 {
70
-    public $stateno;       /* The state-number */
71
-    public $major;         /* The major token value.  This is the code
70
+    public $stateno; /* The state-number */
71
+    public $major; /* The major token value.  This is the code
72 72
                      ** number for the token at this stack level */
73 73
     public $minor; /* The user-supplied minor token value.  This
74 74
                      ** is the value of the token  */
@@ -895,9 +895,9 @@  discard block
 block discarded – undo
895 895
 
896 896
     public $yyTracePrompt;
897 897
 
898
-    public $yyidx;                    /* Index of top element in stack */
899
-    public $yyerrcnt;                 /* Shifts left before out of the error */
900
-    public $yystack = array();  /* The parser's stack */
898
+    public $yyidx; /* Index of top element in stack */
899
+    public $yyerrcnt; /* Shifts left before out of the error */
900
+    public $yystack = array(); /* The parser's stack */
901 901
 
902 902
     public $yyTokenName = array('$', 'VERT', 'COLON', 'PHP', 'NOCACHE', 'TEXT', 'STRIPON', 'STRIPOFF', 'LITERALSTART',
903 903
                                 'LITERALEND', 'LITERAL', 'RDEL', 'SIMPELOUTPUT', 'LDEL', 'DOLLARID', 'EQUAL',
@@ -1027,7 +1027,7 @@  discard block
 block discarded – undo
1027 1027
             return 'End of Input';
1028 1028
         }
1029 1029
         if ($tokenType > 0 && $tokenType < count($this->yyTokenName)) {
1030
-            return $this->yyTokenName[ $tokenType ];
1030
+            return $this->yyTokenName[$tokenType];
1031 1031
         } else {
1032 1032
             return "Unknown";
1033 1033
         }
@@ -1037,7 +1037,7 @@  discard block
 block discarded – undo
1037 1037
     {
1038 1038
         switch ($yymajor) {
1039 1039
             default:
1040
-                break;   /* If no destructor action specified: do nothing */
1040
+                break; /* If no destructor action specified: do nothing */
1041 1041
         }
1042 1042
     }
1043 1043
 
@@ -1048,11 +1048,11 @@  discard block
 block discarded – undo
1048 1048
         }
1049 1049
         $yytos = array_pop($this->yystack);
1050 1050
         if ($this->yyTraceFILE && $this->yyidx >= 0) {
1051
-            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[ $yytos->major ] . "\n");
1051
+            fwrite($this->yyTraceFILE, $this->yyTracePrompt . 'Popping ' . $this->yyTokenName[$yytos->major] . "\n");
1052 1052
         }
1053 1053
         $yymajor = $yytos->major;
1054 1054
         self::yy_destructor($yymajor, $yytos->minor);
1055
-        $this->yyidx --;
1055
+        $this->yyidx--;
1056 1056
 
1057 1057
         return $yymajor;
1058 1058
     }
@@ -1071,14 +1071,14 @@  discard block
 block discarded – undo
1071 1071
     {
1072 1072
         static $res3 = array();
1073 1073
         static $res4 = array();
1074
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1075
-        $expected = self::$yyExpectedTokens[ $state ];
1076
-        if (isset($res3[ $state ][ $token ])) {
1077
-            if ($res3[ $state ][ $token ]) {
1074
+        $state = $this->yystack[$this->yyidx]->stateno;
1075
+        $expected = self::$yyExpectedTokens[$state];
1076
+        if (isset($res3[$state][$token])) {
1077
+            if ($res3[$state][$token]) {
1078 1078
                 return $expected;
1079 1079
             }
1080 1080
         } else {
1081
-            if ($res3[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1081
+            if ($res3[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
1082 1082
                 return $expected;
1083 1083
             }
1084 1084
         }
@@ -1090,7 +1090,7 @@  discard block
 block discarded – undo
1090 1090
                 // reduce action
1091 1091
                 $done = 0;
1092 1092
                 do {
1093
-                    if ($done ++ == 100) {
1093
+                    if ($done++ == 100) {
1094 1094
                         $this->yyidx = $yyidx;
1095 1095
                         $this->yystack = $stack;
1096 1096
                         // too much recursion prevents proper detection
@@ -1098,20 +1098,20 @@  discard block
 block discarded – undo
1098 1098
                         return array_unique($expected);
1099 1099
                     }
1100 1100
                     $yyruleno = $yyact - self::YYNSTATE;
1101
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1102
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1103
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1104
-                    if (isset(self::$yyExpectedTokens[ $nextstate ])) {
1105
-                        $expected = array_merge($expected, self::$yyExpectedTokens[ $nextstate ]);
1106
-                        if (isset($res4[ $nextstate ][ $token ])) {
1107
-                            if ($res4[ $nextstate ][ $token ]) {
1101
+                    $this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
1102
+                    $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno,
1103
+                                                              self::$yyRuleInfo[$yyruleno][0]);
1104
+                    if (isset(self::$yyExpectedTokens[$nextstate])) {
1105
+                        $expected = array_merge($expected, self::$yyExpectedTokens[$nextstate]);
1106
+                        if (isset($res4[$nextstate][$token])) {
1107
+                            if ($res4[$nextstate][$token]) {
1108 1108
                                 $this->yyidx = $yyidx;
1109 1109
                                 $this->yystack = $stack;
1110 1110
                                 return array_unique($expected);
1111 1111
                             }
1112 1112
                         } else {
1113
-                            if ($res4[ $nextstate ][ $token ] =
1114
-                                in_array($token, self::$yyExpectedTokens[ $nextstate ], true)
1113
+                            if ($res4[$nextstate][$token] =
1114
+                                in_array($token, self::$yyExpectedTokens[$nextstate], true)
1115 1115
                             ) {
1116 1116
                                 $this->yyidx = $yyidx;
1117 1117
                                 $this->yystack = $stack;
@@ -1121,11 +1121,11 @@  discard block
 block discarded – undo
1121 1121
                     }
1122 1122
                     if ($nextstate < self::YYNSTATE) {
1123 1123
                         // we need to shift a non-terminal
1124
-                        $this->yyidx ++;
1124
+                        $this->yyidx++;
1125 1125
                         $x = new TP_yyStackEntry;
1126 1126
                         $x->stateno = $nextstate;
1127
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1128
-                        $this->yystack[ $this->yyidx ] = $x;
1127
+                        $x->major = self::$yyRuleInfo[$yyruleno][0];
1128
+                        $this->yystack[$this->yyidx] = $x;
1129 1129
                         continue 2;
1130 1130
                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1131 1131
                         $this->yyidx = $yyidx;
@@ -1161,13 +1161,13 @@  discard block
 block discarded – undo
1161 1161
         if ($token === 0) {
1162 1162
             return true; // 0 is not part of this
1163 1163
         }
1164
-        $state = $this->yystack[ $this->yyidx ]->stateno;
1165
-        if (isset($res[ $state ][ $token ])) {
1166
-            if ($res[ $state ][ $token ]) {
1164
+        $state = $this->yystack[$this->yyidx]->stateno;
1165
+        if (isset($res[$state][$token])) {
1166
+            if ($res[$state][$token]) {
1167 1167
                 return true;
1168 1168
             }
1169 1169
         } else {
1170
-            if ($res[ $state ][ $token ] = in_array($token, self::$yyExpectedTokens[ $state ], true)) {
1170
+            if ($res[$state][$token] = in_array($token, self::$yyExpectedTokens[$state], true)) {
1171 1171
                 return true;
1172 1172
             }
1173 1173
         }
@@ -1179,7 +1179,7 @@  discard block
 block discarded – undo
1179 1179
                 // reduce action
1180 1180
                 $done = 0;
1181 1181
                 do {
1182
-                    if ($done ++ == 100) {
1182
+                    if ($done++ == 100) {
1183 1183
                         $this->yyidx = $yyidx;
1184 1184
                         $this->yystack = $stack;
1185 1185
                         // too much recursion prevents proper detection
@@ -1187,18 +1187,18 @@  discard block
 block discarded – undo
1187 1187
                         return true;
1188 1188
                     }
1189 1189
                     $yyruleno = $yyact - self::YYNSTATE;
1190
-                    $this->yyidx -= self::$yyRuleInfo[ $yyruleno ][ 1 ];
1191
-                    $nextstate = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno,
1192
-                                                              self::$yyRuleInfo[ $yyruleno ][ 0 ]);
1193
-                    if (isset($res2[ $nextstate ][ $token ])) {
1194
-                        if ($res2[ $nextstate ][ $token ]) {
1190
+                    $this->yyidx -= self::$yyRuleInfo[$yyruleno][1];
1191
+                    $nextstate = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno,
1192
+                                                              self::$yyRuleInfo[$yyruleno][0]);
1193
+                    if (isset($res2[$nextstate][$token])) {
1194
+                        if ($res2[$nextstate][$token]) {
1195 1195
                             $this->yyidx = $yyidx;
1196 1196
                             $this->yystack = $stack;
1197 1197
                             return true;
1198 1198
                         }
1199 1199
                     } else {
1200
-                        if ($res2[ $nextstate ][ $token ] = (isset(self::$yyExpectedTokens[ $nextstate ]) &&
1201
-                                                             in_array($token, self::$yyExpectedTokens[ $nextstate ],
1200
+                        if ($res2[$nextstate][$token] = (isset(self::$yyExpectedTokens[$nextstate]) &&
1201
+                                                             in_array($token, self::$yyExpectedTokens[$nextstate],
1202 1202
                                                                       true))
1203 1203
                         ) {
1204 1204
                             $this->yyidx = $yyidx;
@@ -1208,11 +1208,11 @@  discard block
 block discarded – undo
1208 1208
                     }
1209 1209
                     if ($nextstate < self::YYNSTATE) {
1210 1210
                         // we need to shift a non-terminal
1211
-                        $this->yyidx ++;
1211
+                        $this->yyidx++;
1212 1212
                         $x = new TP_yyStackEntry;
1213 1213
                         $x->stateno = $nextstate;
1214
-                        $x->major = self::$yyRuleInfo[ $yyruleno ][ 0 ];
1215
-                        $this->yystack[ $this->yyidx ] = $x;
1214
+                        $x->major = self::$yyRuleInfo[$yyruleno][0];
1215
+                        $this->yystack[$this->yyidx] = $x;
1216 1216
                         continue 2;
1217 1217
                     } elseif ($nextstate == self::YYNSTATE + self::YYNRULE + 1) {
1218 1218
                         $this->yyidx = $yyidx;
@@ -1247,37 +1247,37 @@  discard block
 block discarded – undo
1247 1247
 
1248 1248
     public function yy_find_shift_action($iLookAhead)
1249 1249
     {
1250
-        $stateno = $this->yystack[ $this->yyidx ]->stateno;
1250
+        $stateno = $this->yystack[$this->yyidx]->stateno;
1251 1251
 
1252 1252
         /* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
1253
-        if (!isset(self::$yy_shift_ofst[ $stateno ])) {
1253
+        if (!isset(self::$yy_shift_ofst[$stateno])) {
1254 1254
             // no shift actions
1255
-            return self::$yy_default[ $stateno ];
1255
+            return self::$yy_default[$stateno];
1256 1256
         }
1257
-        $i = self::$yy_shift_ofst[ $stateno ];
1257
+        $i = self::$yy_shift_ofst[$stateno];
1258 1258
         if ($i === self::YY_SHIFT_USE_DFLT) {
1259
-            return self::$yy_default[ $stateno ];
1259
+            return self::$yy_default[$stateno];
1260 1260
         }
1261 1261
         if ($iLookAhead == self::YYNOCODE) {
1262 1262
             return self::YY_NO_ACTION;
1263 1263
         }
1264 1264
         $i += $iLookAhead;
1265
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1265
+        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) {
1266 1266
             if (count(self::$yyFallback) && $iLookAhead < count(self::$yyFallback) &&
1267
-                ($iFallback = self::$yyFallback[ $iLookAhead ]) != 0
1267
+                ($iFallback = self::$yyFallback[$iLookAhead]) != 0
1268 1268
             ) {
1269 1269
                 if ($this->yyTraceFILE) {
1270 1270
                     fwrite($this->yyTraceFILE,
1271
-                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[ $iLookAhead ] . " => " .
1272
-                           $this->yyTokenName[ $iFallback ] . "\n");
1271
+                           $this->yyTracePrompt . "FALLBACK " . $this->yyTokenName[$iLookAhead] . " => " .
1272
+                           $this->yyTokenName[$iFallback] . "\n");
1273 1273
                 }
1274 1274
 
1275 1275
                 return $this->yy_find_shift_action($iFallback);
1276 1276
             }
1277 1277
 
1278
-            return self::$yy_default[ $stateno ];
1278
+            return self::$yy_default[$stateno];
1279 1279
         } else {
1280
-            return self::$yy_action[ $i ];
1280
+            return self::$yy_action[$i];
1281 1281
         }
1282 1282
     }
1283 1283
 
@@ -1285,29 +1285,29 @@  discard block
 block discarded – undo
1285 1285
     {
1286 1286
         /* $stateno = $this->yystack[$this->yyidx]->stateno; */
1287 1287
 
1288
-        if (!isset(self::$yy_reduce_ofst[ $stateno ])) {
1289
-            return self::$yy_default[ $stateno ];
1288
+        if (!isset(self::$yy_reduce_ofst[$stateno])) {
1289
+            return self::$yy_default[$stateno];
1290 1290
         }
1291
-        $i = self::$yy_reduce_ofst[ $stateno ];
1291
+        $i = self::$yy_reduce_ofst[$stateno];
1292 1292
         if ($i == self::YY_REDUCE_USE_DFLT) {
1293
-            return self::$yy_default[ $stateno ];
1293
+            return self::$yy_default[$stateno];
1294 1294
         }
1295 1295
         if ($iLookAhead == self::YYNOCODE) {
1296 1296
             return self::YY_NO_ACTION;
1297 1297
         }
1298 1298
         $i += $iLookAhead;
1299
-        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[ $i ] != $iLookAhead) {
1300
-            return self::$yy_default[ $stateno ];
1299
+        if ($i < 0 || $i >= self::YY_SZ_ACTTAB || self::$yy_lookahead[$i] != $iLookAhead) {
1300
+            return self::$yy_default[$stateno];
1301 1301
         } else {
1302
-            return self::$yy_action[ $i ];
1302
+            return self::$yy_action[$i];
1303 1303
         }
1304 1304
     }
1305 1305
 
1306 1306
     public function yy_shift($yyNewState, $yyMajor, $yypMinor)
1307 1307
     {
1308
-        $this->yyidx ++;
1308
+        $this->yyidx++;
1309 1309
         if ($this->yyidx >= self::YYSTACKDEPTH) {
1310
-            $this->yyidx --;
1310
+            $this->yyidx--;
1311 1311
             if ($this->yyTraceFILE) {
1312 1312
                 fprintf($this->yyTraceFILE, "%sStack Overflow!\n", $this->yyTracePrompt);
1313 1313
             }
@@ -1329,8 +1329,8 @@  discard block
 block discarded – undo
1329 1329
         if ($this->yyTraceFILE && $this->yyidx > 0) {
1330 1330
             fprintf($this->yyTraceFILE, "%sShift %d\n", $this->yyTracePrompt, $yyNewState);
1331 1331
             fprintf($this->yyTraceFILE, "%sStack:", $this->yyTracePrompt);
1332
-            for ($i = 1; $i <= $this->yyidx; $i ++) {
1333
-                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[ $this->yystack[ $i ]->major ]);
1332
+            for ($i = 1; $i <= $this->yyidx; $i++) {
1333
+                fprintf($this->yyTraceFILE, " %s", $this->yyTokenName[$this->yystack[$i]->major]);
1334 1334
             }
1335 1335
             fwrite($this->yyTraceFILE, "\n");
1336 1336
         }
@@ -1443,17 +1443,17 @@  discard block
 block discarded – undo
1443 1443
     #line 228 "../smarty/lexer/smarty_internal_templateparser.y"
1444 1444
     public function yy_r1()
1445 1445
     {
1446
-        if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1447
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1446
+        if ($this->yystack[$this->yyidx + 0]->minor !== null) {
1447
+            $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
1448 1448
         }
1449 1449
     }
1450 1450
 
1451 1451
     #line 235 "../smarty/lexer/smarty_internal_templateparser.y"
1452 1452
     public function yy_r2()
1453 1453
     {
1454
-        if ($this->yystack[ $this->yyidx + 0 ]->minor !== null) {
1454
+        if ($this->yystack[$this->yyidx + 0]->minor !== null) {
1455 1455
             // because of possible code injection
1456
-            $this->current_buffer->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
1456
+            $this->current_buffer->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
1457 1457
         }
1458 1458
     }
1459 1459
 
@@ -1461,7 +1461,7 @@  discard block
 block discarded – undo
1461 1461
     public function yy_r4()
1462 1462
     {
1463 1463
         if ($this->compiler->has_code) {
1464
-            $this->_retvalue = $this->mergePrefixCode($this->yystack[ $this->yyidx + 0 ]->minor);
1464
+            $this->_retvalue = $this->mergePrefixCode($this->yystack[$this->yyidx + 0]->minor);
1465 1465
         } else {
1466 1466
             $this->_retvalue = null;
1467 1467
         }
@@ -1472,14 +1472,14 @@  discard block
 block discarded – undo
1472 1472
     #line 260 "../smarty/lexer/smarty_internal_templateparser.y"
1473 1473
     public function yy_r5()
1474 1474
     {
1475
-        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[ $this->yyidx + 0 ]->minor);
1475
+        $this->_retvalue = new Smarty_Internal_ParseTree_Text($this->yystack[$this->yyidx + 0]->minor);
1476 1476
     }
1477 1477
 
1478 1478
     #line 264 "../smarty/lexer/smarty_internal_templateparser.y"
1479 1479
     public function yy_r6()
1480 1480
     {
1481 1481
         $code = $this->compiler->compileTag('private_php',
1482
-                                            array(array('code' => $this->yystack[ $this->yyidx + 0 ]->minor),
1482
+                                            array(array('code' => $this->yystack[$this->yyidx + 0]->minor),
1483 1483
                                                   array('type' => $this->lex->phpType)), array());
1484 1484
         if ($this->compiler->has_code && !empty($code)) {
1485 1485
             $tmp = '';
@@ -1508,19 +1508,19 @@  discard block
 block discarded – undo
1508 1508
     #line 282 "../smarty/lexer/smarty_internal_templateparser.y"
1509 1509
     public function yy_r8()
1510 1510
     {
1511
-        $this->_retvalue = $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor);
1511
+        $this->_retvalue = $this->compiler->processText($this->yystack[$this->yyidx + 0]->minor);
1512 1512
     }
1513 1513
 
1514 1514
     #line 286 "../smarty/lexer/smarty_internal_templateparser.y"
1515 1515
     public function yy_r9()
1516 1516
     {
1517
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
1517
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
1518 1518
     }
1519 1519
 
1520 1520
     #line 290 "../smarty/lexer/smarty_internal_templateparser.y"
1521 1521
     public function yy_r10()
1522 1522
     {
1523
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1523
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
1524 1524
     }
1525 1525
 
1526 1526
     #line 295 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -1544,31 +1544,31 @@  discard block
 block discarded – undo
1544 1544
     #line 308 "../smarty/lexer/smarty_internal_templateparser.y"
1545 1545
     public function yy_r14()
1546 1546
     {
1547
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1547
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1548 1548
     }
1549 1549
 
1550 1550
     #line 312 "../smarty/lexer/smarty_internal_templateparser.y"
1551 1551
     public function yy_r15()
1552 1552
     {
1553
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
1553
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
1554 1554
     }
1555 1555
 
1556 1556
     #line 328 "../smarty/lexer/smarty_internal_templateparser.y"
1557 1557
     public function yy_r19()
1558 1558
     {
1559
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1559
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1560 1560
     }
1561 1561
 
1562 1562
     #line 334 "../smarty/lexer/smarty_internal_templateparser.y"
1563 1563
     public function yy_r20()
1564 1564
     {
1565 1565
         $var =
1566
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1566
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1567 1567
                  ' $');
1568 1568
         if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
1569 1569
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array('nocache'),
1570 1570
                                                            array('value' => $this->compiler->compileVariable('\'' .
1571
-                                                                                                             $match[ 1 ] .
1571
+                                                                                                             $match[1] .
1572 1572
                                                                                                              '\'')));
1573 1573
         } else {
1574 1574
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
@@ -1582,25 +1582,25 @@  discard block
 block discarded – undo
1582 1582
     public function yy_r21()
1583 1583
     {
1584 1584
         $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1585
-                                                       array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1585
+                                                       array('value' => $this->yystack[$this->yyidx + 0]->minor));
1586 1586
     }
1587 1587
 
1588 1588
     #line 348 "../smarty/lexer/smarty_internal_templateparser.y"
1589 1589
     public function yy_r22()
1590 1590
     {
1591 1591
         $this->_retvalue =
1592
-            $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1593
-                                        array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1592
+            $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1593
+                                        array('value' => $this->yystack[$this->yyidx + - 1]->minor));
1594 1594
     }
1595 1595
 
1596 1596
     #line 371 "../smarty/lexer/smarty_internal_templateparser.y"
1597 1597
     public function yy_r27()
1598 1598
     {
1599
-        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[ $this->yyidx +
1600
-                                                                                                        0 ]->minor),
1599
+        $this->_retvalue = $this->compiler->compileTag('assign', array(array('value' => $this->yystack[$this->yyidx +
1600
+                                                                                                        0]->minor),
1601 1601
                                                                        array('var' => '\'' .
1602
-                                                                                      substr($this->yystack[ $this->yyidx +
1603
-                                                                                                             - 2 ]->minor,
1602
+                                                                                      substr($this->yystack[$this->yyidx +
1603
+                                                                                                             - 2]->minor,
1604 1604
                                                                                              1) . '\'')));
1605 1605
     }
1606 1606
 
@@ -1608,36 +1608,36 @@  discard block
 block discarded – undo
1608 1608
     public function yy_r29()
1609 1609
     {
1610 1610
         $this->_retvalue = $this->compiler->compileTag('assign',
1611
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1612
-                                                                                                          - 1 ]->minor),
1611
+                                                       array_merge(array(array('value' => $this->yystack[$this->yyidx +
1612
+                                                                                                          - 1]->minor),
1613 1613
                                                                          array('var' => '\'' .
1614
-                                                                                        substr($this->yystack[ $this->yyidx +
1615
-                                                                                                               - 3 ]->minor,
1614
+                                                                                        substr($this->yystack[$this->yyidx +
1615
+                                                                                                               - 3]->minor,
1616 1616
                                                                                                1) . '\'')),
1617
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor));
1617
+                                                                   $this->yystack[$this->yyidx + 0]->minor));
1618 1618
     }
1619 1619
 
1620 1620
     #line 383 "../smarty/lexer/smarty_internal_templateparser.y"
1621 1621
     public function yy_r30()
1622 1622
     {
1623 1623
         $this->_retvalue = $this->compiler->compileTag('assign',
1624
-                                                       array_merge(array(array('value' => $this->yystack[ $this->yyidx +
1625
-                                                                                                          - 1 ]->minor),
1626
-                                                                         array('var' => $this->yystack[ $this->yyidx +
1627
-                                                                                                        - 3 ]->minor[ 'var' ])),
1628
-                                                                   $this->yystack[ $this->yyidx + 0 ]->minor),
1629
-                                                       array('smarty_internal_index' => $this->yystack[ $this->yyidx +
1630
-                                                                                                        - 3 ]->minor[ 'smarty_internal_index' ]));
1624
+                                                       array_merge(array(array('value' => $this->yystack[$this->yyidx +
1625
+                                                                                                          - 1]->minor),
1626
+                                                                         array('var' => $this->yystack[$this->yyidx +
1627
+                                                                                                        - 3]->minor['var'])),
1628
+                                                                   $this->yystack[$this->yyidx + 0]->minor),
1629
+                                                       array('smarty_internal_index' => $this->yystack[$this->yyidx +
1630
+                                                                                                        - 3]->minor['smarty_internal_index']));
1631 1631
     }
1632 1632
 
1633 1633
     #line 388 "../smarty/lexer/smarty_internal_templateparser.y"
1634 1634
     public function yy_r31()
1635 1635
     {
1636 1636
         $tag =
1637
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1637
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length));
1638 1638
         if ($tag == 'strip') {
1639 1639
             $this->strip = true;
1640
-            $this->_retvalue = null;;
1640
+            $this->_retvalue = null; ;
1641 1641
         } else {
1642 1642
             if (defined($tag)) {
1643 1643
                 if ($this->security) {
@@ -1647,7 +1647,7 @@  discard block
 block discarded – undo
1647 1647
                     $this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
1648 1648
             } else {
1649 1649
                 if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
1650
-                    $this->_retvalue = $this->compiler->compileTag($match[ 1 ], array("'nocache'"));
1650
+                    $this->_retvalue = $this->compiler->compileTag($match[1], array("'nocache'"));
1651 1651
                 } else {
1652 1652
                     $this->_retvalue = $this->compiler->compileTag($tag, array());
1653 1653
                 }
@@ -1658,209 +1658,209 @@  discard block
 block discarded – undo
1658 1658
     #line 410 "../smarty/lexer/smarty_internal_templateparser.y"
1659 1659
     public function yy_r32()
1660 1660
     {
1661
-        if (defined($this->yystack[ $this->yyidx + - 1 ]->minor)) {
1661
+        if (defined($this->yystack[$this->yyidx + - 1]->minor)) {
1662 1662
             if ($this->security) {
1663
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 1 ]->minor, $this->compiler);
1663
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 1]->minor, $this->compiler);
1664 1664
             }
1665 1665
             $this->_retvalue =
1666
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1667
-                                            array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1666
+                $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1667
+                                            array('value' => $this->yystack[$this->yyidx + - 1]->minor));
1668 1668
         } else {
1669
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor,
1670
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor);
1669
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor,
1670
+                                                           $this->yystack[$this->yyidx + 0]->minor);
1671 1671
         }
1672 1672
     }
1673 1673
 
1674 1674
     #line 420 "../smarty/lexer/smarty_internal_templateparser.y"
1675 1675
     public function yy_r33()
1676 1676
     {
1677
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1677
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
1678 1678
             if ($this->security) {
1679
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1679
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
1680 1680
             }
1681 1681
             $this->_retvalue = $this->compiler->compileTag('private_print_expression', array(),
1682
-                                                           array('value' => $this->yystack[ $this->yyidx + 0 ]->minor));
1682
+                                                           array('value' => $this->yystack[$this->yyidx + 0]->minor));
1683 1683
         } else {
1684
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor, array());
1684
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor, array());
1685 1685
         }
1686 1686
     }
1687 1687
 
1688 1688
     #line 433 "../smarty/lexer/smarty_internal_templateparser.y"
1689 1689
     public function yy_r34()
1690 1690
     {
1691
-        if (defined($this->yystack[ $this->yyidx + - 2 ]->minor)) {
1691
+        if (defined($this->yystack[$this->yyidx + - 2]->minor)) {
1692 1692
             if ($this->security) {
1693
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + - 2 ]->minor, $this->compiler);
1693
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + - 2]->minor, $this->compiler);
1694 1694
             }
1695 1695
             $this->_retvalue =
1696
-                $this->compiler->compileTag('private_print_expression', $this->yystack[ $this->yyidx + 0 ]->minor,
1697
-                                            array('value' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1698
-                                                  'modifierlist' => $this->yystack[ $this->yyidx + - 1 ]->minor));
1696
+                $this->compiler->compileTag('private_print_expression', $this->yystack[$this->yyidx + 0]->minor,
1697
+                                            array('value' => $this->yystack[$this->yyidx + - 2]->minor,
1698
+                                                  'modifierlist' => $this->yystack[$this->yyidx + - 1]->minor));
1699 1699
         } else {
1700
-            $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor,
1701
-                                                           $this->yystack[ $this->yyidx + 0 ]->minor,
1702
-                                                           array('modifierlist' => $this->yystack[ $this->yyidx +
1703
-                                                                                                   - 1 ]->minor));
1700
+            $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor,
1701
+                                                           $this->yystack[$this->yyidx + 0]->minor,
1702
+                                                           array('modifierlist' => $this->yystack[$this->yyidx +
1703
+                                                                                                   - 1]->minor));
1704 1704
         }
1705 1705
     }
1706 1706
 
1707 1707
     #line 445 "../smarty/lexer/smarty_internal_templateparser.y"
1708 1708
     public function yy_r35()
1709 1709
     {
1710
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor,
1711
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1712
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1713
-                                                                                                - 1 ]->minor));
1710
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor,
1711
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1712
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1713
+                                                                                                - 1]->minor));
1714 1714
     }
1715 1715
 
1716 1716
     #line 450 "../smarty/lexer/smarty_internal_templateparser.y"
1717 1717
     public function yy_r36()
1718 1718
     {
1719
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 4 ]->minor,
1720
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1721
-                                                       array('modifierlist' => $this->yystack[ $this->yyidx +
1722
-                                                                                               - 1 ]->minor,
1723
-                                                             'object_method' => $this->yystack[ $this->yyidx +
1724
-                                                                                                - 2 ]->minor));
1719
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 4]->minor,
1720
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1721
+                                                       array('modifierlist' => $this->yystack[$this->yyidx +
1722
+                                                                                               - 1]->minor,
1723
+                                                             'object_method' => $this->yystack[$this->yyidx +
1724
+                                                                                                - 2]->minor));
1725 1725
     }
1726 1726
 
1727 1727
     #line 455 "../smarty/lexer/smarty_internal_templateparser.y"
1728 1728
     public function yy_r37()
1729 1729
     {
1730 1730
         $this->_retvalue = $this->compiler->compileTag('make_nocache', array(array('var' => '\'' .
1731
-                                                                                            substr($this->yystack[ $this->yyidx +
1732
-                                                                                                                   0 ]->minor,
1731
+                                                                                            substr($this->yystack[$this->yyidx +
1732
+                                                                                                                   0]->minor,
1733 1733
                                                                                                    1) . '\'')));
1734 1734
     }
1735 1735
 
1736 1736
     #line 460 "../smarty/lexer/smarty_internal_templateparser.y"
1737 1737
     public function yy_r38()
1738 1738
     {
1739
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1739
+        $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
1740 1740
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1741
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1742
-                                                                                               0 ]->minor));
1741
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1742
+                                                                                               0]->minor));
1743 1743
     }
1744 1744
 
1745 1745
     #line 465 "../smarty/lexer/smarty_internal_templateparser.y"
1746 1746
     public function yy_r39()
1747 1747
     {
1748
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 2 ]->minor, $this->lex->ldel_length));
1748
+        $tag = trim(substr($this->yystack[$this->yyidx + - 2]->minor, $this->lex->ldel_length));
1749 1749
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag,
1750
-                                                       $this->yystack[ $this->yyidx + 0 ]->minor,
1751
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1752
-                                                                                               - 1 ]->minor));
1750
+                                                       $this->yystack[$this->yyidx + 0]->minor,
1751
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1752
+                                                                                               - 1]->minor));
1753 1753
     }
1754 1754
 
1755 1755
     #line 470 "../smarty/lexer/smarty_internal_templateparser.y"
1756 1756
     public function yy_r40()
1757 1757
     {
1758
-        $tag = trim(substr($this->yystack[ $this->yyidx + - 1 ]->minor, $this->lex->ldel_length));
1758
+        $tag = trim(substr($this->yystack[$this->yyidx + - 1]->minor, $this->lex->ldel_length));
1759 1759
         $this->_retvalue = $this->compiler->compileTag(($tag == 'else if') ? 'elseif' : $tag, array(),
1760
-                                                       array('if condition' => $this->yystack[ $this->yyidx +
1761
-                                                                                               0 ]->minor));
1760
+                                                       array('if condition' => $this->yystack[$this->yyidx +
1761
+                                                                                               0]->minor));
1762 1762
     }
1763 1763
 
1764 1764
     #line 481 "../smarty/lexer/smarty_internal_templateparser.y"
1765 1765
     public function yy_r42()
1766 1766
     {
1767
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1768
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1769
-                                                                                                                 - 6 ]->minor),
1770
-                                                                                array('ifexp' => $this->yystack[ $this->yyidx +
1771
-                                                                                                                 - 4 ]->minor),
1772
-                                                                                array('var' => $this->yystack[ $this->yyidx +
1773
-                                                                                                               - 2 ]->minor),
1774
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1775
-                                                                                                                - 1 ]->minor))),
1767
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1768
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1769
+                                                                                                                 - 6]->minor),
1770
+                                                                                array('ifexp' => $this->yystack[$this->yyidx +
1771
+                                                                                                                 - 4]->minor),
1772
+                                                                                array('var' => $this->yystack[$this->yyidx +
1773
+                                                                                                               - 2]->minor),
1774
+                                                                                array('step' => $this->yystack[$this->yyidx +
1775
+                                                                                                                - 1]->minor))),
1776 1776
                                                        1);
1777 1777
     }
1778 1778
 
1779 1779
     #line 485 "../smarty/lexer/smarty_internal_templateparser.y"
1780 1780
     public function yy_r43()
1781 1781
     {
1782
-        $this->_retvalue = '=' . $this->yystack[ $this->yyidx + 0 ]->minor;
1782
+        $this->_retvalue = '=' . $this->yystack[$this->yyidx + 0]->minor;
1783 1783
     }
1784 1784
 
1785 1785
     #line 493 "../smarty/lexer/smarty_internal_templateparser.y"
1786 1786
     public function yy_r45()
1787 1787
     {
1788
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1789
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1790
-                                                                                                                 - 3 ]->minor),
1791
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1792
-                                                                                                              - 1 ]->minor))),
1788
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1789
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1790
+                                                                                                                 - 3]->minor),
1791
+                                                                                array('to' => $this->yystack[$this->yyidx +
1792
+                                                                                                              - 1]->minor))),
1793 1793
                                                        0);
1794 1794
     }
1795 1795
 
1796 1796
     #line 497 "../smarty/lexer/smarty_internal_templateparser.y"
1797 1797
     public function yy_r46()
1798 1798
     {
1799
-        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1800
-                                                                          array(array('start' => $this->yystack[ $this->yyidx +
1801
-                                                                                                                 - 5 ]->minor),
1802
-                                                                                array('to' => $this->yystack[ $this->yyidx +
1803
-                                                                                                              - 3 ]->minor),
1804
-                                                                                array('step' => $this->yystack[ $this->yyidx +
1805
-                                                                                                                - 1 ]->minor))),
1799
+        $this->_retvalue = $this->compiler->compileTag('for', array_merge($this->yystack[$this->yyidx + 0]->minor,
1800
+                                                                          array(array('start' => $this->yystack[$this->yyidx +
1801
+                                                                                                                 - 5]->minor),
1802
+                                                                                array('to' => $this->yystack[$this->yyidx +
1803
+                                                                                                              - 3]->minor),
1804
+                                                                                array('step' => $this->yystack[$this->yyidx +
1805
+                                                                                                                - 1]->minor))),
1806 1806
                                                        0);
1807 1807
     }
1808 1808
 
1809 1809
     #line 502 "../smarty/lexer/smarty_internal_templateparser.y"
1810 1810
     public function yy_r47()
1811 1811
     {
1812
-        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[ $this->yyidx + 0 ]->minor);
1812
+        $this->_retvalue = $this->compiler->compileTag('foreach', $this->yystack[$this->yyidx + 0]->minor);
1813 1813
     }
1814 1814
 
1815 1815
     #line 507 "../smarty/lexer/smarty_internal_templateparser.y"
1816 1816
     public function yy_r48()
1817 1817
     {
1818
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1819
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1820
-                                                                                                                    - 3 ]->minor),
1821
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1822
-                                                                                                                    - 1 ]->minor))));
1818
+        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor,
1819
+                                                                              array(array('from' => $this->yystack[$this->yyidx +
1820
+                                                                                                                    - 3]->minor),
1821
+                                                                                    array('item' => $this->yystack[$this->yyidx +
1822
+                                                                                                                    - 1]->minor))));
1823 1823
     }
1824 1824
 
1825 1825
     #line 511 "../smarty/lexer/smarty_internal_templateparser.y"
1826 1826
     public function yy_r49()
1827 1827
     {
1828
-        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[ $this->yyidx + 0 ]->minor,
1829
-                                                                              array(array('from' => $this->yystack[ $this->yyidx +
1830
-                                                                                                                    - 5 ]->minor),
1831
-                                                                                    array('item' => $this->yystack[ $this->yyidx +
1832
-                                                                                                                    - 1 ]->minor),
1833
-                                                                                    array('key' => $this->yystack[ $this->yyidx +
1834
-                                                                                                                   - 3 ]->minor))));
1828
+        $this->_retvalue = $this->compiler->compileTag('foreach', array_merge($this->yystack[$this->yyidx + 0]->minor,
1829
+                                                                              array(array('from' => $this->yystack[$this->yyidx +
1830
+                                                                                                                    - 5]->minor),
1831
+                                                                                    array('item' => $this->yystack[$this->yyidx +
1832
+                                                                                                                    - 1]->minor),
1833
+                                                                                    array('key' => $this->yystack[$this->yyidx +
1834
+                                                                                                                   - 3]->minor))));
1835 1835
     }
1836 1836
 
1837 1837
     #line 524 "../smarty/lexer/smarty_internal_templateparser.y"
1838 1838
     public function yy_r52()
1839 1839
     {
1840 1840
         $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1841
-                                                       array('modifier_list' => array(array_merge(array($this->yystack[ $this->yyidx +
1842
-                                                                                                                        - 1 ]->minor),
1843
-                                                                                                  $this->yystack[ $this->yyidx +
1844
-                                                                                                                  0 ]->minor))));
1841
+                                                       array('modifier_list' => array(array_merge(array($this->yystack[$this->yyidx +
1842
+                                                                                                                        - 1]->minor),
1843
+                                                                                                  $this->yystack[$this->yyidx +
1844
+                                                                                                                  0]->minor))));
1845 1845
     }
1846 1846
 
1847 1847
     #line 528 "../smarty/lexer/smarty_internal_templateparser.y"
1848 1848
     public function yy_r53()
1849 1849
     {
1850 1850
         $this->_retvalue = $this->compiler->compileTag('setfilter', array(),
1851
-                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[ $this->yyidx +
1852
-                                                                                                                                    - 2 ]->minor),
1853
-                                                                                                              $this->yystack[ $this->yyidx +
1854
-                                                                                                                              - 1 ]->minor)),
1855
-                                                                                            $this->yystack[ $this->yyidx +
1856
-                                                                                                            0 ]->minor)));
1851
+                                                       array('modifier_list' => array_merge(array(array_merge(array($this->yystack[$this->yyidx +
1852
+                                                                                                                                    - 2]->minor),
1853
+                                                                                                              $this->yystack[$this->yyidx +
1854
+                                                                                                                              - 1]->minor)),
1855
+                                                                                            $this->yystack[$this->yyidx +
1856
+                                                                                                            0]->minor)));
1857 1857
     }
1858 1858
 
1859 1859
     #line 533 "../smarty/lexer/smarty_internal_templateparser.y"
1860 1860
     public function yy_r54()
1861 1861
     {
1862
-        $j = strrpos($this->yystack[ $this->yyidx + 0 ]->minor, '.');
1863
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ $j + 1 ] == 'c') {
1862
+        $j = strrpos($this->yystack[$this->yyidx + 0]->minor, '.');
1863
+        if ($this->yystack[$this->yyidx + 0]->minor[$j + 1] == 'c') {
1864 1864
             // {$smarty.block.child}
1865 1865
             $this->_retvalue = SMARTY_INTERNAL_COMPILE_BLOCK::compileChildBlock($this->compiler);
1866 1866
         } else {
@@ -1873,7 +1873,7 @@  discard block
 block discarded – undo
1873 1873
     public function yy_r55()
1874 1874
     {
1875 1875
         $tag =
1876
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1876
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
1877 1877
                  ' /');
1878 1878
         if ($tag == 'strip') {
1879 1879
             $this->strip = false;
@@ -1886,46 +1886,46 @@  discard block
 block discarded – undo
1886 1886
     #line 555 "../smarty/lexer/smarty_internal_templateparser.y"
1887 1887
     public function yy_r56()
1888 1888
     {
1889
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + 0 ]->minor . 'close', array());
1889
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + 0]->minor . 'close', array());
1890 1890
     }
1891 1891
 
1892 1892
     #line 559 "../smarty/lexer/smarty_internal_templateparser.y"
1893 1893
     public function yy_r57()
1894 1894
     {
1895
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 1 ]->minor . 'close', array(),
1896
-                                                       array('modifier_list' => $this->yystack[ $this->yyidx +
1897
-                                                                                                0 ]->minor));
1895
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 1]->minor . 'close', array(),
1896
+                                                       array('modifier_list' => $this->yystack[$this->yyidx +
1897
+                                                                                                0]->minor));
1898 1898
     }
1899 1899
 
1900 1900
     #line 564 "../smarty/lexer/smarty_internal_templateparser.y"
1901 1901
     public function yy_r58()
1902 1902
     {
1903
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 2 ]->minor . 'close', array(),
1904
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1905
-                                                                                                0 ]->minor));
1903
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 2]->minor . 'close', array(),
1904
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1905
+                                                                                                0]->minor));
1906 1906
     }
1907 1907
 
1908 1908
     #line 568 "../smarty/lexer/smarty_internal_templateparser.y"
1909 1909
     public function yy_r59()
1910 1910
     {
1911
-        $this->_retvalue = $this->compiler->compileTag($this->yystack[ $this->yyidx + - 3 ]->minor . 'close', array(),
1912
-                                                       array('object_method' => $this->yystack[ $this->yyidx +
1913
-                                                                                                - 1 ]->minor,
1914
-                                                             'modifier_list' => $this->yystack[ $this->yyidx +
1915
-                                                                                                0 ]->minor));
1911
+        $this->_retvalue = $this->compiler->compileTag($this->yystack[$this->yyidx + - 3]->minor . 'close', array(),
1912
+                                                       array('object_method' => $this->yystack[$this->yyidx +
1913
+                                                                                                - 1]->minor,
1914
+                                                             'modifier_list' => $this->yystack[$this->yyidx +
1915
+                                                                                                0]->minor));
1916 1916
     }
1917 1917
 
1918 1918
     #line 576 "../smarty/lexer/smarty_internal_templateparser.y"
1919 1919
     public function yy_r60()
1920 1920
     {
1921
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
1922
-        $this->_retvalue[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1921
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
1922
+        $this->_retvalue[] = $this->yystack[$this->yyidx + 0]->minor;
1923 1923
     }
1924 1924
 
1925 1925
     #line 582 "../smarty/lexer/smarty_internal_templateparser.y"
1926 1926
     public function yy_r61()
1927 1927
     {
1928
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
1928
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
1929 1929
     }
1930 1930
 
1931 1931
     #line 587 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -1937,15 +1937,15 @@  discard block
 block discarded – undo
1937 1937
     #line 592 "../smarty/lexer/smarty_internal_templateparser.y"
1938 1938
     public function yy_r63()
1939 1939
     {
1940
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
1940
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
1941 1941
             if ($this->security) {
1942
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
1942
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
1943 1943
             }
1944 1944
             $this->_retvalue =
1945
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1945
+                array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
1946 1946
         } else {
1947 1947
             $this->_retvalue =
1948
-                array($this->yystack[ $this->yyidx + - 2 ]->minor => '\'' . $this->yystack[ $this->yyidx + 0 ]->minor .
1948
+                array($this->yystack[$this->yyidx + - 2]->minor => '\'' . $this->yystack[$this->yyidx + 0]->minor .
1949 1949
                                                                      '\'');
1950 1950
         }
1951 1951
     }
@@ -1954,201 +1954,201 @@  discard block
 block discarded – undo
1954 1954
     public function yy_r64()
1955 1955
     {
1956 1956
         $this->_retvalue =
1957
-            array(trim($this->yystack[ $this->yyidx + - 1 ]->minor, " =\n\r\t") => $this->yystack[ $this->yyidx +
1958
-                                                                                                   0 ]->minor);
1957
+            array(trim($this->yystack[$this->yyidx + - 1]->minor, " =\n\r\t") => $this->yystack[$this->yyidx +
1958
+                                                                                                   0]->minor);
1959 1959
     }
1960 1960
 
1961 1961
     #line 611 "../smarty/lexer/smarty_internal_templateparser.y"
1962 1962
     public function yy_r66()
1963 1963
     {
1964
-        $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
1964
+        $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
1965 1965
     }
1966 1966
 
1967 1967
     #line 623 "../smarty/lexer/smarty_internal_templateparser.y"
1968 1968
     public function yy_r69()
1969 1969
     {
1970 1970
         $this->_retvalue =
1971
-            array($this->yystack[ $this->yyidx + - 2 ]->minor => $this->yystack[ $this->yyidx + 0 ]->minor);
1971
+            array($this->yystack[$this->yyidx + - 2]->minor => $this->yystack[$this->yyidx + 0]->minor);
1972 1972
     }
1973 1973
 
1974 1974
     #line 636 "../smarty/lexer/smarty_internal_templateparser.y"
1975 1975
     public function yy_r71()
1976 1976
     {
1977
-        $this->yystack[ $this->yyidx + - 2 ]->minor[] = $this->yystack[ $this->yyidx + 0 ]->minor;
1978
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor;
1977
+        $this->yystack[$this->yyidx + - 2]->minor[] = $this->yystack[$this->yyidx + 0]->minor;
1978
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor;
1979 1979
     }
1980 1980
 
1981 1981
     #line 641 "../smarty/lexer/smarty_internal_templateparser.y"
1982 1982
     public function yy_r72()
1983 1983
     {
1984
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '\'',
1985
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1984
+        $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '\'',
1985
+                                 'value' => $this->yystack[$this->yyidx + 0]->minor);
1986 1986
     }
1987 1987
 
1988 1988
     #line 648 "../smarty/lexer/smarty_internal_templateparser.y"
1989 1989
     public function yy_r74()
1990 1990
     {
1991
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 2 ]->minor,
1992
-                                 'value' => $this->yystack[ $this->yyidx + 0 ]->minor);
1991
+        $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 2]->minor,
1992
+                                 'value' => $this->yystack[$this->yyidx + 0]->minor);
1993 1993
     }
1994 1994
 
1995 1995
     #line 672 "../smarty/lexer/smarty_internal_templateparser.y"
1996 1996
     public function yy_r78()
1997 1997
     {
1998 1998
         $this->_retvalue =
1999
-            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[ $this->yyidx + - 2 ]->minor, 1) . '://' .
2000
-            $this->yystack[ $this->yyidx + 0 ]->minor . '\')';
1999
+            '$_smarty_tpl->getStreamVariable(\'' . substr($this->yystack[$this->yyidx + - 2]->minor, 1) . '://' .
2000
+            $this->yystack[$this->yyidx + 0]->minor . '\')';
2001 2001
     }
2002 2002
 
2003 2003
     #line 677 "../smarty/lexer/smarty_internal_templateparser.y"
2004 2004
     public function yy_r79()
2005 2005
     {
2006 2006
         $this->_retvalue =
2007
-            $this->yystack[ $this->yyidx + - 2 ]->minor . trim($this->yystack[ $this->yyidx + - 1 ]->minor) .
2008
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2007
+            $this->yystack[$this->yyidx + - 2]->minor . trim($this->yystack[$this->yyidx + - 1]->minor) .
2008
+            $this->yystack[$this->yyidx + 0]->minor;
2009 2009
     }
2010 2010
 
2011 2011
     #line 691 "../smarty/lexer/smarty_internal_templateparser.y"
2012 2012
     public function yy_r82()
2013 2013
     {
2014 2014
         $this->_retvalue = $this->compiler->compileTag('private_modifier', array(),
2015
-                                                       array('value' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2016
-                                                             'modifierlist' => $this->yystack[ $this->yyidx +
2017
-                                                                                               0 ]->minor));
2015
+                                                       array('value' => $this->yystack[$this->yyidx + - 1]->minor,
2016
+                                                             'modifierlist' => $this->yystack[$this->yyidx +
2017
+                                                                                               0]->minor));
2018 2018
     }
2019 2019
 
2020 2020
     #line 697 "../smarty/lexer/smarty_internal_templateparser.y"
2021 2021
     public function yy_r83()
2022 2022
     {
2023 2023
         $this->_retvalue =
2024
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'pre' ] . $this->yystack[ $this->yyidx + - 2 ]->minor .
2025
-            $this->yystack[ $this->yyidx + - 1 ]->minor[ 'op' ] . $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2024
+            $this->yystack[$this->yyidx + - 1]->minor['pre'] . $this->yystack[$this->yyidx + - 2]->minor .
2025
+            $this->yystack[$this->yyidx + - 1]->minor['op'] . $this->yystack[$this->yyidx + 0]->minor . ')';
2026 2026
     }
2027 2027
 
2028 2028
     #line 701 "../smarty/lexer/smarty_internal_templateparser.y"
2029 2029
     public function yy_r84()
2030 2030
     {
2031
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2032
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2031
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor .
2032
+                           $this->yystack[$this->yyidx + 0]->minor;
2033 2033
     }
2034 2034
 
2035 2035
     #line 705 "../smarty/lexer/smarty_internal_templateparser.y"
2036 2036
     public function yy_r85()
2037 2037
     {
2038 2038
         $this->_retvalue =
2039
-            $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2039
+            $this->yystack[$this->yyidx + 0]->minor . $this->yystack[$this->yyidx + - 1]->minor . ')';
2040 2040
     }
2041 2041
 
2042 2042
     #line 709 "../smarty/lexer/smarty_internal_templateparser.y"
2043 2043
     public function yy_r86()
2044 2044
     {
2045
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',' .
2046
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2045
+        $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',' .
2046
+                           $this->yystack[$this->yyidx + 0]->minor . ')';
2047 2047
     }
2048 2048
 
2049 2049
     #line 713 "../smarty/lexer/smarty_internal_templateparser.y"
2050 2050
     public function yy_r87()
2051 2051
     {
2052
-        $this->_retvalue = 'in_array(' . $this->yystack[ $this->yyidx + - 2 ]->minor . ',(array)' .
2053
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ')';
2052
+        $this->_retvalue = 'in_array(' . $this->yystack[$this->yyidx + - 2]->minor . ',(array)' .
2053
+                           $this->yystack[$this->yyidx + 0]->minor . ')';
2054 2054
     }
2055 2055
 
2056 2056
     #line 721 "../smarty/lexer/smarty_internal_templateparser.y"
2057 2057
     public function yy_r88()
2058 2058
     {
2059
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
-                                                                                                                  substr($this->yystack[ $this->yyidx +
2061
-                                                                                                                                         - 2 ]->minor,
2059
+        $this->_retvalue = $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->compiler->compileVariable('\'' .
2060
+                                                                                                                  substr($this->yystack[$this->yyidx +
2061
+                                                                                                                                         - 2]->minor,
2062 2062
                                                                                                                          1) .
2063 2063
                                                                                                                   '\'') .
2064
-                           ' : ' . $this->yystack[ $this->yyidx + 0 ]->minor;
2064
+                           ' : ' . $this->yystack[$this->yyidx + 0]->minor;
2065 2065
     }
2066 2066
 
2067 2067
     #line 725 "../smarty/lexer/smarty_internal_templateparser.y"
2068 2068
     public function yy_r89()
2069 2069
     {
2070 2070
         $this->_retvalue =
2071
-            $this->yystack[ $this->yyidx + - 5 ]->minor . ' ? ' . $this->yystack[ $this->yyidx + - 2 ]->minor . ' : ' .
2072
-            $this->yystack[ $this->yyidx + 0 ]->minor;
2071
+            $this->yystack[$this->yyidx + - 5]->minor . ' ? ' . $this->yystack[$this->yyidx + - 2]->minor . ' : ' .
2072
+            $this->yystack[$this->yyidx + 0]->minor;
2073 2073
     }
2074 2074
 
2075 2075
     #line 740 "../smarty/lexer/smarty_internal_templateparser.y"
2076 2076
     public function yy_r92()
2077 2077
     {
2078
-        $this->_retvalue = '!' . $this->yystack[ $this->yyidx + 0 ]->minor;
2078
+        $this->_retvalue = '!' . $this->yystack[$this->yyidx + 0]->minor;
2079 2079
     }
2080 2080
 
2081 2081
     #line 761 "../smarty/lexer/smarty_internal_templateparser.y"
2082 2082
     public function yy_r97()
2083 2083
     {
2084 2084
         $this->_retvalue =
2085
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2085
+            $this->yystack[$this->yyidx + - 2]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
2086 2086
     }
2087 2087
 
2088 2088
     #line 765 "../smarty/lexer/smarty_internal_templateparser.y"
2089 2089
     public function yy_r98()
2090 2090
     {
2091
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . '.';
2091
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . '.';
2092 2092
     }
2093 2093
 
2094 2094
     #line 769 "../smarty/lexer/smarty_internal_templateparser.y"
2095 2095
     public function yy_r99()
2096 2096
     {
2097
-        $this->_retvalue = '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2097
+        $this->_retvalue = '.' . $this->yystack[$this->yyidx + 0]->minor;
2098 2098
     }
2099 2099
 
2100 2100
     #line 774 "../smarty/lexer/smarty_internal_templateparser.y"
2101 2101
     public function yy_r100()
2102 2102
     {
2103
-        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
2103
+        if (defined($this->yystack[$this->yyidx + 0]->minor)) {
2104 2104
             if ($this->security) {
2105
-                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
2105
+                $this->security->isTrustedConstant($this->yystack[$this->yyidx + 0]->minor, $this->compiler);
2106 2106
             }
2107
-            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2107
+            $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2108 2108
         } else {
2109
-            $this->_retvalue = '\'' . $this->yystack[ $this->yyidx + 0 ]->minor . '\'';
2109
+            $this->_retvalue = '\'' . $this->yystack[$this->yyidx + 0]->minor . '\'';
2110 2110
         }
2111 2111
     }
2112 2112
 
2113 2113
     #line 791 "../smarty/lexer/smarty_internal_templateparser.y"
2114 2114
     public function yy_r102()
2115 2115
     {
2116
-        $this->_retvalue = "(" . $this->yystack[ $this->yyidx + - 1 ]->minor . ")";
2116
+        $this->_retvalue = "(" . $this->yystack[$this->yyidx + - 1]->minor . ")";
2117 2117
     }
2118 2118
 
2119 2119
     #line 795 "../smarty/lexer/smarty_internal_templateparser.y"
2120 2120
     public function yy_r103()
2121 2121
     {
2122
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + - 1 ]->minor .
2123
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2122
+        $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + - 1]->minor .
2123
+                           $this->yystack[$this->yyidx + 0]->minor;
2124 2124
     }
2125 2125
 
2126 2126
     #line 813 "../smarty/lexer/smarty_internal_templateparser.y"
2127 2127
     public function yy_r107()
2128 2128
     {
2129 2129
         $prefixVar = $this->compiler->getNewPrefixVariable();
2130
-        if ($this->yystack[ $this->yyidx + - 2 ]->minor[ 'var' ] == '\'smarty\'') {
2130
+        if ($this->yystack[$this->yyidx + - 2]->minor['var'] == '\'smarty\'') {
2131 2131
             $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2132 2132
                                               $this->compiler->compileTag('private_special_variable', array(),
2133
-                                                                          $this->yystack[ $this->yyidx +
2134
-                                                                                          - 2 ]->minor[ 'smarty_internal_index' ]) .
2133
+                                                                          $this->yystack[$this->yyidx +
2134
+                                                                                          - 2]->minor['smarty_internal_index']) .
2135 2135
                                               ';?>');
2136 2136
         } else {
2137 2137
             $this->compiler->appendPrefixCode("<?php $prefixVar" . ' = ' .
2138
-                                              $this->compiler->compileVariable($this->yystack[ $this->yyidx +
2139
-                                                                                               - 2 ]->minor[ 'var' ]) .
2140
-                                              $this->yystack[ $this->yyidx + - 2 ]->minor[ 'smarty_internal_index' ] .
2138
+                                              $this->compiler->compileVariable($this->yystack[$this->yyidx +
2139
+                                                                                               - 2]->minor['var']) .
2140
+                                              $this->yystack[$this->yyidx + - 2]->minor['smarty_internal_index'] .
2141 2141
                                               ';?>');
2142 2142
         }
2143
-        $this->_retvalue = $prefixVar . '::' . $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2144
-                           $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2143
+        $this->_retvalue = $prefixVar . '::' . $this->yystack[$this->yyidx + 0]->minor[0] .
2144
+                           $this->yystack[$this->yyidx + 0]->minor[1];
2145 2145
     }
2146 2146
 
2147 2147
     #line 824 "../smarty/lexer/smarty_internal_templateparser.y"
2148 2148
     public function yy_r108()
2149 2149
     {
2150 2150
         $prefixVar = $this->compiler->getNewPrefixVariable();
2151
-        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[ $this->yyidx + 0 ]->minor);
2151
+        $tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack[$this->yyidx + 0]->minor);
2152 2152
         $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php $prefixVar" . '=ob_get_clean();?>'));
2153 2153
         $this->_retvalue = $prefixVar;
2154 2154
     }
@@ -2156,22 +2156,22 @@  discard block
 block discarded – undo
2156 2156
     #line 841 "../smarty/lexer/smarty_internal_templateparser.y"
2157 2157
     public function yy_r111()
2158 2158
     {
2159
-        if (!in_array(strtolower($this->yystack[ $this->yyidx + - 2 ]->minor), array('self', 'parent')) &&
2159
+        if (!in_array(strtolower($this->yystack[$this->yyidx + - 2]->minor), array('self', 'parent')) &&
2160 2160
             (!$this->security ||
2161
-             $this->security->isTrustedStaticClassAccess($this->yystack[ $this->yyidx + - 2 ]->minor,
2162
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler))
2161
+             $this->security->isTrustedStaticClassAccess($this->yystack[$this->yyidx + - 2]->minor,
2162
+                                                         $this->yystack[$this->yyidx + 0]->minor, $this->compiler))
2163 2163
         ) {
2164
-            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ])) {
2164
+            if (isset($this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor])) {
2165 2165
                 $this->_retvalue =
2166
-                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + - 2 ]->minor ] . '::' .
2167
-                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] . $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2166
+                    $this->smarty->registered_classes[$this->yystack[$this->yyidx + - 2]->minor] . '::' .
2167
+                    $this->yystack[$this->yyidx + 0]->minor[0] . $this->yystack[$this->yyidx + 0]->minor[1];
2168 2168
             } else {
2169
-                $this->_retvalue = $this->yystack[ $this->yyidx + - 2 ]->minor . '::' .
2170
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
2171
-                                   $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
2169
+                $this->_retvalue = $this->yystack[$this->yyidx + - 2]->minor . '::' .
2170
+                                   $this->yystack[$this->yyidx + 0]->minor[0] .
2171
+                                   $this->yystack[$this->yyidx + 0]->minor[1];
2172 2172
             }
2173 2173
         } else {
2174
-            $this->compiler->trigger_template_error("static class '" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2174
+            $this->compiler->trigger_template_error("static class '" . $this->yystack[$this->yyidx + - 2]->minor .
2175 2175
                                                     "' is undefined or not allowed by security setting");
2176 2176
         }
2177 2177
     }
@@ -2179,82 +2179,82 @@  discard block
 block discarded – undo
2179 2179
     #line 860 "../smarty/lexer/smarty_internal_templateparser.y"
2180 2180
     public function yy_r113()
2181 2181
     {
2182
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2182
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2183 2183
     }
2184 2184
 
2185 2185
     #line 871 "../smarty/lexer/smarty_internal_templateparser.y"
2186 2186
     public function yy_r114()
2187 2187
     {
2188 2188
         $this->_retvalue =
2189
-            $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'');
2189
+            $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'');
2190 2190
     }
2191 2191
 
2192 2192
     #line 874 "../smarty/lexer/smarty_internal_templateparser.y"
2193 2193
     public function yy_r115()
2194 2194
     {
2195
-        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] == '\'smarty\'') {
2195
+        if ($this->yystack[$this->yyidx + 0]->minor['var'] == '\'smarty\'') {
2196 2196
             $smarty_var = $this->compiler->compileTag('private_special_variable', array(),
2197
-                                                      $this->yystack[ $this->yyidx +
2198
-                                                                      0 ]->minor[ 'smarty_internal_index' ]);
2197
+                                                      $this->yystack[$this->yyidx +
2198
+                                                                      0]->minor['smarty_internal_index']);
2199 2199
             $this->_retvalue = $smarty_var;
2200 2200
         } else {
2201 2201
             // used for array reset,next,prev,end,current
2202
-            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
2203
-            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2204
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
2205
-                               $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
2202
+            $this->last_variable = $this->yystack[$this->yyidx + 0]->minor['var'];
2203
+            $this->last_index = $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2204
+            $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor['var']) .
2205
+                               $this->yystack[$this->yyidx + 0]->minor['smarty_internal_index'];
2206 2206
         }
2207 2207
     }
2208 2208
 
2209 2209
     #line 887 "../smarty/lexer/smarty_internal_templateparser.y"
2210 2210
     public function yy_r116()
2211 2211
     {
2212
-        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[ $this->yyidx + - 2 ]->minor . ']->' .
2213
-                           $this->yystack[ $this->yyidx + 0 ]->minor;
2212
+        $this->_retvalue = '$_smarty_tpl->tpl_vars[' . $this->yystack[$this->yyidx + - 2]->minor . ']->' .
2213
+                           $this->yystack[$this->yyidx + 0]->minor;
2214 2214
     }
2215 2215
 
2216 2216
     #line 897 "../smarty/lexer/smarty_internal_templateparser.y"
2217 2217
     public function yy_r118()
2218 2218
     {
2219 2219
         $this->_retvalue =
2220
-            $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 1 ]->minor . "'");
2220
+            $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 1]->minor . "'");
2221 2221
     }
2222 2222
 
2223 2223
     #line 901 "../smarty/lexer/smarty_internal_templateparser.y"
2224 2224
     public function yy_r119()
2225 2225
     {
2226 2226
         $this->_retvalue = '(is_array($tmp = ' .
2227
-                           $this->compiler->compileConfigVariable("'" . $this->yystack[ $this->yyidx + - 2 ]->minor .
2227
+                           $this->compiler->compileConfigVariable("'" . $this->yystack[$this->yyidx + - 2]->minor .
2228 2228
                                                                   "'") . ') ? $tmp' .
2229
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ' :null)';
2229
+                           $this->yystack[$this->yyidx + 0]->minor . ' :null)';
2230 2230
     }
2231 2231
 
2232 2232
     #line 905 "../smarty/lexer/smarty_internal_templateparser.y"
2233 2233
     public function yy_r120()
2234 2234
     {
2235
-        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 1 ]->minor);
2235
+        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 1]->minor);
2236 2236
     }
2237 2237
 
2238 2238
     #line 909 "../smarty/lexer/smarty_internal_templateparser.y"
2239 2239
     public function yy_r121()
2240 2240
     {
2241 2241
         $this->_retvalue =
2242
-            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + - 2 ]->minor) .
2243
-            ') ? $tmp' . $this->yystack[ $this->yyidx + 0 ]->minor . ' : null)';
2242
+            '(is_array($tmp = ' . $this->compiler->compileConfigVariable($this->yystack[$this->yyidx + - 2]->minor) .
2243
+            ') ? $tmp' . $this->yystack[$this->yyidx + 0]->minor . ' : null)';
2244 2244
     }
2245 2245
 
2246 2246
     #line 913 "../smarty/lexer/smarty_internal_templateparser.y"
2247 2247
     public function yy_r122()
2248 2248
     {
2249
-        $this->_retvalue = array('var' => '\'' . substr($this->yystack[ $this->yyidx + - 1 ]->minor, 1) . '\'',
2250
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2249
+        $this->_retvalue = array('var' => '\'' . substr($this->yystack[$this->yyidx + - 1]->minor, 1) . '\'',
2250
+                                 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
2251 2251
     }
2252 2252
 
2253 2253
     #line 916 "../smarty/lexer/smarty_internal_templateparser.y"
2254 2254
     public function yy_r123()
2255 2255
     {
2256
-        $this->_retvalue = array('var' => $this->yystack[ $this->yyidx + - 1 ]->minor,
2257
-                                 'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor);
2256
+        $this->_retvalue = array('var' => $this->yystack[$this->yyidx + - 1]->minor,
2257
+                                 'smarty_internal_index' => $this->yystack[$this->yyidx + 0]->minor);
2258 2258
     }
2259 2259
 
2260 2260
     #line 929 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2267,47 +2267,47 @@  discard block
 block discarded – undo
2267 2267
     public function yy_r126()
2268 2268
     {
2269 2269
         $this->_retvalue =
2270
-            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'') .
2270
+            '[' . $this->compiler->compileVariable('\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'') .
2271 2271
             ']';
2272 2272
     }
2273 2273
 
2274 2274
     #line 938 "../smarty/lexer/smarty_internal_templateparser.y"
2275 2275
     public function yy_r127()
2276 2276
     {
2277
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
2277
+        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + 0]->minor) . ']';
2278 2278
     }
2279 2279
 
2280 2280
     #line 942 "../smarty/lexer/smarty_internal_templateparser.y"
2281 2281
     public function yy_r128()
2282 2282
     {
2283
-        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 2 ]->minor) . '->' .
2284
-                           $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2283
+        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 2]->minor) . '->' .
2284
+                           $this->yystack[$this->yyidx + 0]->minor . ']';
2285 2285
     }
2286 2286
 
2287 2287
     #line 946 "../smarty/lexer/smarty_internal_templateparser.y"
2288 2288
     public function yy_r129()
2289 2289
     {
2290
-        $this->_retvalue = "['" . $this->yystack[ $this->yyidx + 0 ]->minor . "']";
2290
+        $this->_retvalue = "['" . $this->yystack[$this->yyidx + 0]->minor . "']";
2291 2291
     }
2292 2292
 
2293 2293
     #line 950 "../smarty/lexer/smarty_internal_templateparser.y"
2294 2294
     public function yy_r130()
2295 2295
     {
2296
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
2296
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + 0]->minor . ']';
2297 2297
     }
2298 2298
 
2299 2299
     #line 955 "../smarty/lexer/smarty_internal_templateparser.y"
2300 2300
     public function yy_r131()
2301 2301
     {
2302
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2302
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']';
2303 2303
     }
2304 2304
 
2305 2305
     #line 960 "../smarty/lexer/smarty_internal_templateparser.y"
2306 2306
     public function yy_r132()
2307 2307
     {
2308 2308
         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2309
-                                                                                                  $this->yystack[ $this->yyidx +
2310
-                                                                                                                  - 1 ]->minor .
2309
+                                                                                                  $this->yystack[$this->yyidx +
2310
+                                                                                                                  - 1]->minor .
2311 2311
                                                                                                   '\'][\'index\']') .
2312 2312
                            ']';
2313 2313
     }
@@ -2316,26 +2316,26 @@  discard block
 block discarded – undo
2316 2316
     public function yy_r133()
2317 2317
     {
2318 2318
         $this->_retvalue = '[' . $this->compiler->compileTag('private_special_variable', array(), '[\'section\'][\'' .
2319
-                                                                                                  $this->yystack[ $this->yyidx +
2320
-                                                                                                                  - 3 ]->minor .
2319
+                                                                                                  $this->yystack[$this->yyidx +
2320
+                                                                                                                  - 3]->minor .
2321 2321
                                                                                                   '\'][\'' .
2322
-                                                                                                  $this->yystack[ $this->yyidx +
2323
-                                                                                                                  - 1 ]->minor .
2322
+                                                                                                  $this->yystack[$this->yyidx +
2323
+                                                                                                                  - 1]->minor .
2324 2324
                                                                                                   '\']') . ']';
2325 2325
     }
2326 2326
 
2327 2327
     #line 967 "../smarty/lexer/smarty_internal_templateparser.y"
2328 2328
     public function yy_r134()
2329 2329
     {
2330
-        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + - 1 ]->minor . ']';
2330
+        $this->_retvalue = '[' . $this->yystack[$this->yyidx + - 1]->minor . ']';
2331 2331
     }
2332 2332
 
2333 2333
     #line 973 "../smarty/lexer/smarty_internal_templateparser.y"
2334 2334
     public function yy_r136()
2335 2335
     {
2336 2336
         $this->_retvalue = '[' . $this->compiler->compileVariable('\'' .
2337
-                                                                  substr($this->yystack[ $this->yyidx + - 1 ]->minor,
2338
-                                                                         1) . '\'') . ']';;
2337
+                                                                  substr($this->yystack[$this->yyidx + - 1]->minor,
2338
+                                                                         1) . '\'') . ']'; ;
2339 2339
     }
2340 2340
 
2341 2341
     #line 989 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2347,7 +2347,7 @@  discard block
 block discarded – undo
2347 2347
     #line 999 "../smarty/lexer/smarty_internal_templateparser.y"
2348 2348
     public function yy_r141()
2349 2349
     {
2350
-        $this->_retvalue = '\'' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . '\'';
2350
+        $this->_retvalue = '\'' . substr($this->yystack[$this->yyidx + 0]->minor, 1) . '\'';
2351 2351
     }
2352 2352
 
2353 2353
     #line 1003 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2360,14 +2360,14 @@  discard block
 block discarded – undo
2360 2360
     public function yy_r143()
2361 2361
     {
2362 2362
         $this->_retvalue =
2363
-            $this->yystack[ $this->yyidx + - 1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
2363
+            $this->yystack[$this->yyidx + - 1]->minor . '.' . $this->yystack[$this->yyidx + 0]->minor;
2364 2364
     }
2365 2365
 
2366 2366
     #line 1016 "../smarty/lexer/smarty_internal_templateparser.y"
2367 2367
     public function yy_r145()
2368 2368
     {
2369 2369
         $var =
2370
-            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2370
+            trim(substr($this->yystack[$this->yyidx + 0]->minor, $this->lex->ldel_length, - $this->lex->rdel_length),
2371 2371
                  ' $');
2372 2372
         $this->_retvalue = $this->compiler->compileVariable('\'' . $var . '\'');
2373 2373
     }
@@ -2375,44 +2375,44 @@  discard block
 block discarded – undo
2375 2375
     #line 1022 "../smarty/lexer/smarty_internal_templateparser.y"
2376 2376
     public function yy_r146()
2377 2377
     {
2378
-        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2378
+        $this->_retvalue = '(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
2379 2379
     }
2380 2380
 
2381 2381
     #line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
2382 2382
     public function yy_r147()
2383 2383
     {
2384
-        if ($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ] == '\'smarty\'') {
2384
+        if ($this->yystack[$this->yyidx + - 1]->minor['var'] == '\'smarty\'') {
2385 2385
             $this->_retvalue = $this->compiler->compileTag('private_special_variable', array(),
2386
-                                                           $this->yystack[ $this->yyidx +
2387
-                                                                           - 1 ]->minor[ 'smarty_internal_index' ]) .
2388
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2386
+                                                           $this->yystack[$this->yyidx +
2387
+                                                                           - 1]->minor['smarty_internal_index']) .
2388
+                               $this->yystack[$this->yyidx + 0]->minor;
2389 2389
         } else {
2390
-            $this->_retvalue = $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor[ 'var' ]) .
2391
-                               $this->yystack[ $this->yyidx + - 1 ]->minor[ 'smarty_internal_index' ] .
2392
-                               $this->yystack[ $this->yyidx + 0 ]->minor;
2390
+            $this->_retvalue = $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor['var']) .
2391
+                               $this->yystack[$this->yyidx + - 1]->minor['smarty_internal_index'] .
2392
+                               $this->yystack[$this->yyidx + 0]->minor;
2393 2393
         }
2394 2394
     }
2395 2395
 
2396 2396
     #line 1038 "../smarty/lexer/smarty_internal_templateparser.y"
2397 2397
     public function yy_r148()
2398 2398
     {
2399
-        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
2399
+        $this->_retvalue = $this->yystack[$this->yyidx + 0]->minor;
2400 2400
     }
2401 2401
 
2402 2402
     #line 1043 "../smarty/lexer/smarty_internal_templateparser.y"
2403 2403
     public function yy_r149()
2404 2404
     {
2405
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2405
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
2406 2406
     }
2407 2407
 
2408 2408
     #line 1048 "../smarty/lexer/smarty_internal_templateparser.y"
2409 2409
     public function yy_r150()
2410 2410
     {
2411
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 1 ]->minor, 0, 1) == '_') {
2411
+        if ($this->security && substr($this->yystack[$this->yyidx + - 1]->minor, 0, 1) == '_') {
2412 2412
             $this->compiler->trigger_template_error(self::Err1);
2413 2413
         }
2414 2414
         $this->_retvalue =
2415
-            '->' . $this->yystack[ $this->yyidx + - 1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
2415
+            '->' . $this->yystack[$this->yyidx + - 1]->minor . $this->yystack[$this->yyidx + 0]->minor;
2416 2416
     }
2417 2417
 
2418 2418
     #line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2421,8 +2421,8 @@  discard block
 block discarded – undo
2421 2421
         if ($this->security) {
2422 2422
             $this->compiler->trigger_template_error(self::Err2);
2423 2423
         }
2424
-        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + - 1 ]->minor) .
2425
-                           $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2424
+        $this->_retvalue = '->{' . $this->compiler->compileVariable($this->yystack[$this->yyidx + - 1]->minor) .
2425
+                           $this->yystack[$this->yyidx + 0]->minor . '}';
2426 2426
     }
2427 2427
 
2428 2428
     #line 1062 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2432,7 +2432,7 @@  discard block
 block discarded – undo
2432 2432
             $this->compiler->trigger_template_error(self::Err2);
2433 2433
         }
2434 2434
         $this->_retvalue =
2435
-            '->{' . $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
2435
+            '->{' . $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor . '}';
2436 2436
     }
2437 2437
 
2438 2438
     #line 1069 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2441,34 +2441,34 @@  discard block
 block discarded – undo
2441 2441
         if ($this->security) {
2442 2442
             $this->compiler->trigger_template_error(self::Err2);
2443 2443
         }
2444
-        $this->_retvalue = '->{\'' . $this->yystack[ $this->yyidx + - 4 ]->minor . '\'.' .
2445
-                           $this->yystack[ $this->yyidx + - 2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor .
2444
+        $this->_retvalue = '->{\'' . $this->yystack[$this->yyidx + - 4]->minor . '\'.' .
2445
+                           $this->yystack[$this->yyidx + - 2]->minor . $this->yystack[$this->yyidx + 0]->minor .
2446 2446
                            '}';
2447 2447
     }
2448 2448
 
2449 2449
     #line 1077 "../smarty/lexer/smarty_internal_templateparser.y"
2450 2450
     public function yy_r154()
2451 2451
     {
2452
-        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
2452
+        $this->_retvalue = '->' . $this->yystack[$this->yyidx + 0]->minor;
2453 2453
     }
2454 2454
 
2455 2455
     #line 1085 "../smarty/lexer/smarty_internal_templateparser.y"
2456 2456
     public function yy_r155()
2457 2457
     {
2458 2458
         if (!$this->security ||
2459
-            $this->security->isTrustedPhpFunction($this->yystack[ $this->yyidx + - 3 ]->minor, $this->compiler)
2459
+            $this->security->isTrustedPhpFunction($this->yystack[$this->yyidx + - 3]->minor, $this->compiler)
2460 2460
         ) {
2461
-            if (strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'isset') === 0 ||
2462
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'empty') === 0 ||
2463
-                strcasecmp($this->yystack[ $this->yyidx + - 3 ]->minor, 'array') === 0 ||
2464
-                is_callable($this->yystack[ $this->yyidx + - 3 ]->minor)
2461
+            if (strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'isset') === 0 ||
2462
+                strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'empty') === 0 ||
2463
+                strcasecmp($this->yystack[$this->yyidx + - 3]->minor, 'array') === 0 ||
2464
+                is_callable($this->yystack[$this->yyidx + - 3]->minor)
2465 2465
             ) {
2466
-                $func_name = strtolower($this->yystack[ $this->yyidx + - 3 ]->minor);
2466
+                $func_name = strtolower($this->yystack[$this->yyidx + - 3]->minor);
2467 2467
                 if ($func_name == 'isset') {
2468
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) == 0) {
2468
+                    if (count($this->yystack[$this->yyidx + - 1]->minor) == 0) {
2469 2469
                         $this->compiler->trigger_template_error('Illegal number of paramer in "isset()"');
2470 2470
                     }
2471
-                    $par = implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor);
2471
+                    $par = implode(',', $this->yystack[$this->yyidx + - 1]->minor);
2472 2472
                     if (strncasecmp($par, '$_smarty_tpl->smarty->ext->_config->_getConfigVariable',
2473 2473
                                     strlen('$_smarty_tpl->smarty->ext->_config->_getConfigVariable')) === 0
2474 2474
                     ) {
@@ -2479,25 +2479,25 @@  discard block
 block discarded – undo
2479 2479
                     } else {
2480 2480
                         $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
2481 2481
                     }
2482
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" . $isset_par . ")";
2482
+                    $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" . $isset_par . ")";
2483 2483
                 } elseif (in_array($func_name, array('empty', 'reset', 'current', 'end', 'prev', 'next'))) {
2484
-                    if (count($this->yystack[ $this->yyidx + - 1 ]->minor) != 1) {
2484
+                    if (count($this->yystack[$this->yyidx + - 1]->minor) != 1) {
2485 2485
                         $this->compiler->trigger_template_error('Illegal number of paramer in "empty()"');
2486 2486
                     }
2487 2487
                     if ($func_name == 'empty') {
2488 2488
                         $this->_retvalue = $func_name . '(' . str_replace("')->value", "',null,true,false)->value",
2489
-                                                                          $this->yystack[ $this->yyidx +
2490
-                                                                                          - 1 ]->minor[ 0 ]) . ')';
2489
+                                                                          $this->yystack[$this->yyidx +
2490
+                                                                                          - 1]->minor[0]) . ')';
2491 2491
                     } else {
2492
-                        $this->_retvalue = $func_name . '(' . $this->yystack[ $this->yyidx + - 1 ]->minor[ 0 ] . ')';
2492
+                        $this->_retvalue = $func_name . '(' . $this->yystack[$this->yyidx + - 1]->minor[0] . ')';
2493 2493
                     }
2494 2494
                 } else {
2495
-                    $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2496
-                                       implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2495
+                    $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" .
2496
+                                       implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
2497 2497
                 }
2498 2498
             } else {
2499 2499
                 $this->compiler->trigger_template_error("unknown function \"" .
2500
-                                                        $this->yystack[ $this->yyidx + - 3 ]->minor . "\"");
2500
+                                                        $this->yystack[$this->yyidx + - 3]->minor . "\"");
2501 2501
             }
2502 2502
         }
2503 2503
     }
@@ -2505,11 +2505,11 @@  discard block
 block discarded – undo
2505 2505
     #line 1124 "../smarty/lexer/smarty_internal_templateparser.y"
2506 2506
     public function yy_r156()
2507 2507
     {
2508
-        if ($this->security && substr($this->yystack[ $this->yyidx + - 3 ]->minor, 0, 1) == '_') {
2508
+        if ($this->security && substr($this->yystack[$this->yyidx + - 3]->minor, 0, 1) == '_') {
2509 2509
             $this->compiler->trigger_template_error(self::Err1);
2510 2510
         }
2511
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 3 ]->minor . "(" .
2512
-                           implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ")";
2511
+        $this->_retvalue = $this->yystack[$this->yyidx + - 3]->minor . "(" .
2512
+                           implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ")";
2513 2513
     }
2514 2514
 
2515 2515
     #line 1131 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2520,86 +2520,86 @@  discard block
 block discarded – undo
2520 2520
         }
2521 2521
         $prefixVar = $this->compiler->getNewPrefixVariable();
2522 2522
         $this->compiler->appendPrefixCode("<?php $prefixVar" . '=' . $this->compiler->compileVariable('\'' .
2523
-                                                                                                      substr($this->yystack[ $this->yyidx +
2524
-                                                                                                                             - 3 ]->minor,
2523
+                                                                                                      substr($this->yystack[$this->yyidx +
2524
+                                                                                                                             - 3]->minor,
2525 2525
                                                                                                              1) .
2526 2526
                                                                                                       '\'') . ';?>');
2527
-        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[ $this->yyidx + - 1 ]->minor) . ')';
2527
+        $this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack[$this->yyidx + - 1]->minor) . ')';
2528 2528
     }
2529 2529
 
2530 2530
     #line 1142 "../smarty/lexer/smarty_internal_templateparser.y"
2531 2531
     public function yy_r158()
2532 2532
     {
2533 2533
         $this->_retvalue =
2534
-            array_merge($this->yystack[ $this->yyidx + - 2 ]->minor, array($this->yystack[ $this->yyidx + 0 ]->minor));
2534
+            array_merge($this->yystack[$this->yyidx + - 2]->minor, array($this->yystack[$this->yyidx + 0]->minor));
2535 2535
     }
2536 2536
 
2537 2537
     #line 1159 "../smarty/lexer/smarty_internal_templateparser.y"
2538 2538
     public function yy_r161()
2539 2539
     {
2540
-        $this->_retvalue = array_merge($this->yystack[ $this->yyidx + - 2 ]->minor,
2541
-                                       array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor,
2542
-                                                         $this->yystack[ $this->yyidx + 0 ]->minor)));
2540
+        $this->_retvalue = array_merge($this->yystack[$this->yyidx + - 2]->minor,
2541
+                                       array(array_merge($this->yystack[$this->yyidx + - 1]->minor,
2542
+                                                         $this->yystack[$this->yyidx + 0]->minor)));
2543 2543
     }
2544 2544
 
2545 2545
     #line 1163 "../smarty/lexer/smarty_internal_templateparser.y"
2546 2546
     public function yy_r162()
2547 2547
     {
2548 2548
         $this->_retvalue =
2549
-            array(array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor));
2549
+            array(array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor));
2550 2550
     }
2551 2551
 
2552 2552
     #line 1171 "../smarty/lexer/smarty_internal_templateparser.y"
2553 2553
     public function yy_r164()
2554 2554
     {
2555
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor);
2555
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor);
2556 2556
     }
2557 2557
 
2558 2558
     #line 1179 "../smarty/lexer/smarty_internal_templateparser.y"
2559 2559
     public function yy_r165()
2560 2560
     {
2561 2561
         $this->_retvalue =
2562
-            array_merge($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor);
2562
+            array_merge($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor);
2563 2563
     }
2564 2564
 
2565 2565
     #line 1198 "../smarty/lexer/smarty_internal_templateparser.y"
2566 2566
     public function yy_r169()
2567 2567
     {
2568
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '', 'method');
2568
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '', 'method');
2569 2569
     }
2570 2570
 
2571 2571
     #line 1203 "../smarty/lexer/smarty_internal_templateparser.y"
2572 2572
     public function yy_r170()
2573 2573
     {
2574 2574
         $this->_retvalue =
2575
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'method');
2575
+            array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'method');
2576 2576
     }
2577 2577
 
2578 2578
     #line 1208 "../smarty/lexer/smarty_internal_templateparser.y"
2579 2579
     public function yy_r171()
2580 2580
     {
2581
-        $this->_retvalue = array($this->yystack[ $this->yyidx + 0 ]->minor, '');
2581
+        $this->_retvalue = array($this->yystack[$this->yyidx + 0]->minor, '');
2582 2582
     }
2583 2583
 
2584 2584
     #line 1213 "../smarty/lexer/smarty_internal_templateparser.y"
2585 2585
     public function yy_r172()
2586 2586
     {
2587 2587
         $this->_retvalue =
2588
-            array($this->yystack[ $this->yyidx + - 1 ]->minor, $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2588
+            array($this->yystack[$this->yyidx + - 1]->minor, $this->yystack[$this->yyidx + 0]->minor, 'property');
2589 2589
     }
2590 2590
 
2591 2591
     #line 1218 "../smarty/lexer/smarty_internal_templateparser.y"
2592 2592
     public function yy_r173()
2593 2593
     {
2594
-        $this->_retvalue = array($this->yystack[ $this->yyidx + - 2 ]->minor,
2595
-                                 $this->yystack[ $this->yyidx + - 1 ]->minor .
2596
-                                 $this->yystack[ $this->yyidx + 0 ]->minor, 'property');
2594
+        $this->_retvalue = array($this->yystack[$this->yyidx + - 2]->minor,
2595
+                                 $this->yystack[$this->yyidx + - 1]->minor .
2596
+                                 $this->yystack[$this->yyidx + 0]->minor, 'property');
2597 2597
     }
2598 2598
 
2599 2599
     #line 1224 "../smarty/lexer/smarty_internal_templateparser.y"
2600 2600
     public function yy_r174()
2601 2601
     {
2602
-        $this->_retvalue = ' ' . trim($this->yystack[ $this->yyidx + 0 ]->minor) . ' ';
2602
+        $this->_retvalue = ' ' . trim($this->yystack[$this->yyidx + 0]->minor) . ' ';
2603 2603
     }
2604 2604
 
2605 2605
     #line 1228 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2609,8 +2609,8 @@  discard block
 block discarded – undo
2609 2609
             array('eq' => ' == ', 'ne' => ' != ', 'neq' => ' != ', 'gt' => ' > ', 'ge' => ' >= ', 'gte' => ' >= ',
2610 2610
                   'lt' => ' < ', 'le' => ' <= ', 'lte' => ' <= ', 'mod' => ' % ', 'and' => ' && ', 'or' => ' || ',
2611 2611
                   'xor' => ' xor ',);
2612
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2613
-        $this->_retvalue = $lops[ $op ];
2612
+        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
2613
+        $this->_retvalue = $lops[$op];
2614 2614
     }
2615 2615
 
2616 2616
     #line 1247 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2622,8 +2622,8 @@  discard block
 block discarded – undo
2622 2622
                   'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
2623 2623
                   'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
2624 2624
                   'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),);
2625
-        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2626
-        $this->_retvalue = $tlops[ $op ];
2625
+        $op = strtolower(preg_replace('/\s*/', '', $this->yystack[$this->yyidx + 0]->minor));
2626
+        $this->_retvalue = $tlops[$op];
2627 2627
     }
2628 2628
 
2629 2629
     #line 1260 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2631,67 +2631,67 @@  discard block
 block discarded – undo
2631 2631
     {
2632 2632
         static $scond =
2633 2633
             array('iseven' => '!(1 & ', 'isnoteven' => '(1 & ', 'isodd' => '(1 & ', 'isnotodd' => '!(1 & ',);
2634
-        $op = strtolower(str_replace(' ', '', $this->yystack[ $this->yyidx + 0 ]->minor));
2635
-        $this->_retvalue = $scond[ $op ];
2634
+        $op = strtolower(str_replace(' ', '', $this->yystack[$this->yyidx + 0]->minor));
2635
+        $this->_retvalue = $scond[$op];
2636 2636
     }
2637 2637
 
2638 2638
     #line 1274 "../smarty/lexer/smarty_internal_templateparser.y"
2639 2639
     public function yy_r178()
2640 2640
     {
2641
-        $this->_retvalue = 'array(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')';
2641
+        $this->_retvalue = 'array(' . $this->yystack[$this->yyidx + - 1]->minor . ')';
2642 2642
     }
2643 2643
 
2644 2644
     #line 1282 "../smarty/lexer/smarty_internal_templateparser.y"
2645 2645
     public function yy_r180()
2646 2646
     {
2647 2647
         $this->_retvalue =
2648
-            $this->yystack[ $this->yyidx + - 2 ]->minor . ',' . $this->yystack[ $this->yyidx + 0 ]->minor;
2648
+            $this->yystack[$this->yyidx + - 2]->minor . ',' . $this->yystack[$this->yyidx + 0]->minor;
2649 2649
     }
2650 2650
 
2651 2651
     #line 1290 "../smarty/lexer/smarty_internal_templateparser.y"
2652 2652
     public function yy_r182()
2653 2653
     {
2654 2654
         $this->_retvalue =
2655
-            $this->yystack[ $this->yyidx + - 2 ]->minor . '=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2655
+            $this->yystack[$this->yyidx + - 2]->minor . '=>' . $this->yystack[$this->yyidx + 0]->minor;
2656 2656
     }
2657 2657
 
2658 2658
     #line 1294 "../smarty/lexer/smarty_internal_templateparser.y"
2659 2659
     public function yy_r183()
2660 2660
     {
2661 2661
         $this->_retvalue =
2662
-            '\'' . $this->yystack[ $this->yyidx + - 2 ]->minor . '\'=>' . $this->yystack[ $this->yyidx + 0 ]->minor;
2662
+            '\'' . $this->yystack[$this->yyidx + - 2]->minor . '\'=>' . $this->yystack[$this->yyidx + 0]->minor;
2663 2663
     }
2664 2664
 
2665 2665
     #line 1310 "../smarty/lexer/smarty_internal_templateparser.y"
2666 2666
     public function yy_r186()
2667 2667
     {
2668
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor->to_smarty_php($this);
2668
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor->to_smarty_php($this);
2669 2669
     }
2670 2670
 
2671 2671
     #line 1315 "../smarty/lexer/smarty_internal_templateparser.y"
2672 2672
     public function yy_r187()
2673 2673
     {
2674
-        $this->yystack[ $this->yyidx + - 1 ]->minor->append_subtree($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2675
-        $this->_retvalue = $this->yystack[ $this->yyidx + - 1 ]->minor;
2674
+        $this->yystack[$this->yyidx + - 1]->minor->append_subtree($this, $this->yystack[$this->yyidx + 0]->minor);
2675
+        $this->_retvalue = $this->yystack[$this->yyidx + - 1]->minor;
2676 2676
     }
2677 2677
 
2678 2678
     #line 1320 "../smarty/lexer/smarty_internal_templateparser.y"
2679 2679
     public function yy_r188()
2680 2680
     {
2681
-        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2681
+        $this->_retvalue = new Smarty_Internal_ParseTree_Dq($this, $this->yystack[$this->yyidx + 0]->minor);
2682 2682
     }
2683 2683
 
2684 2684
     #line 1324 "../smarty/lexer/smarty_internal_templateparser.y"
2685 2685
     public function yy_r189()
2686 2686
     {
2687
-        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[ $this->yyidx + - 1 ]->minor);
2687
+        $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack[$this->yyidx + - 1]->minor);
2688 2688
     }
2689 2689
 
2690 2690
     #line 1332 "../smarty/lexer/smarty_internal_templateparser.y"
2691 2691
     public function yy_r191()
2692 2692
     {
2693 2693
         $this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\'' .
2694
-                                                              substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) .
2694
+                                                              substr($this->yystack[$this->yyidx + 0]->minor, 1) .
2695 2695
                                                               '\']->value');
2696 2696
     }
2697 2697
 
@@ -2699,19 +2699,19 @@  discard block
 block discarded – undo
2699 2699
     public function yy_r193()
2700 2700
     {
2701 2701
         $this->_retvalue =
2702
-            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[ $this->yyidx + - 1 ]->minor . ')');
2702
+            new Smarty_Internal_ParseTree_Code('(string)(' . $this->yystack[$this->yyidx + - 1]->minor . ')');
2703 2703
     }
2704 2704
 
2705 2705
     #line 1344 "../smarty/lexer/smarty_internal_templateparser.y"
2706 2706
     public function yy_r194()
2707 2707
     {
2708
-        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[ $this->yyidx + 0 ]->minor);
2708
+        $this->_retvalue = new Smarty_Internal_ParseTree_Tag($this, $this->yystack[$this->yyidx + 0]->minor);
2709 2709
     }
2710 2710
 
2711 2711
     #line 1348 "../smarty/lexer/smarty_internal_templateparser.y"
2712 2712
     public function yy_r195()
2713 2713
     {
2714
-        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[ $this->yyidx + 0 ]->minor);
2714
+        $this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack[$this->yyidx + 0]->minor);
2715 2715
     }
2716 2716
 
2717 2717
     private $_retvalue;
@@ -2720,32 +2720,32 @@  discard block
 block discarded – undo
2720 2720
     {
2721 2721
         if ($this->yyTraceFILE && $yyruleno >= 0 && $yyruleno < count(self::$yyRuleName)) {
2722 2722
             fprintf($this->yyTraceFILE, "%sReduce (%d) [%s].\n", $this->yyTracePrompt, $yyruleno,
2723
-                    self::$yyRuleName[ $yyruleno ]);
2723
+                    self::$yyRuleName[$yyruleno]);
2724 2724
         }
2725 2725
 
2726 2726
         $this->_retvalue = $yy_lefthand_side = null;
2727
-        if (isset(self::$yyReduceMap[ $yyruleno ])) {
2727
+        if (isset(self::$yyReduceMap[$yyruleno])) {
2728 2728
             // call the action
2729 2729
             $this->_retvalue = null;
2730
-            $this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
2730
+            $this->{'yy_r' . self::$yyReduceMap[$yyruleno]}();
2731 2731
             $yy_lefthand_side = $this->_retvalue;
2732 2732
         }
2733
-        $yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
2734
-        $yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
2733
+        $yygoto = self::$yyRuleInfo[$yyruleno][0];
2734
+        $yysize = self::$yyRuleInfo[$yyruleno][1];
2735 2735
         $this->yyidx -= $yysize;
2736
-        for ($i = $yysize; $i; $i --) {
2736
+        for ($i = $yysize; $i; $i--) {
2737 2737
             // pop all of the right-hand side parameters
2738 2738
             array_pop($this->yystack);
2739 2739
         }
2740
-        $yyact = $this->yy_find_reduce_action($this->yystack[ $this->yyidx ]->stateno, $yygoto);
2740
+        $yyact = $this->yy_find_reduce_action($this->yystack[$this->yyidx]->stateno, $yygoto);
2741 2741
         if ($yyact < self::YYNSTATE) {
2742 2742
             if (!$this->yyTraceFILE && $yysize) {
2743
-                $this->yyidx ++;
2743
+                $this->yyidx++;
2744 2744
                 $x = new TP_yyStackEntry;
2745 2745
                 $x->stateno = $yyact;
2746 2746
                 $x->major = $yygoto;
2747 2747
                 $x->minor = $yy_lefthand_side;
2748
-                $this->yystack[ $this->yyidx ] = $x;
2748
+                $this->yystack[$this->yyidx] = $x;
2749 2749
             } else {
2750 2750
                 $this->yy_shift($yyact, $yygoto, $yy_lefthand_side);
2751 2751
             }
@@ -2790,7 +2790,7 @@  discard block
 block discarded – undo
2790 2790
 
2791 2791
     public function doParse($yymajor, $yytokenvalue)
2792 2792
     {
2793
-        $yyerrorhit = 0;   /* True if yymajor has invoked an error */
2793
+        $yyerrorhit = 0; /* True if yymajor has invoked an error */
2794 2794
 
2795 2795
         if ($this->yyidx === null || $this->yyidx < 0) {
2796 2796
             $this->yyidx = 0;
@@ -2804,7 +2804,7 @@  discard block
 block discarded – undo
2804 2804
         $yyendofinput = ($yymajor == 0);
2805 2805
 
2806 2806
         if ($this->yyTraceFILE) {
2807
-            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[ $yymajor ]);
2807
+            fprintf($this->yyTraceFILE, "%sInput %s\n", $this->yyTracePrompt, $this->yyTokenName[$yymajor]);
2808 2808
         }
2809 2809
 
2810 2810
         do {
@@ -2815,7 +2815,7 @@  discard block
 block discarded – undo
2815 2815
             }
2816 2816
             if ($yyact < self::YYNSTATE) {
2817 2817
                 $this->yy_shift($yyact, $yymajor, $yytokenvalue);
2818
-                $this->yyerrcnt --;
2818
+                $this->yyerrcnt--;
2819 2819
                 if ($yyendofinput && $this->yyidx >= 0) {
2820 2820
                     $yymajor = 0;
2821 2821
                 } else {
@@ -2831,11 +2831,11 @@  discard block
 block discarded – undo
2831 2831
                     if ($this->yyerrcnt < 0) {
2832 2832
                         $this->yy_syntax_error($yymajor, $yytokenvalue);
2833 2833
                     }
2834
-                    $yymx = $this->yystack[ $this->yyidx ]->major;
2834
+                    $yymx = $this->yystack[$this->yyidx]->major;
2835 2835
                     if ($yymx == self::YYERRORSYMBOL || $yyerrorhit) {
2836 2836
                         if ($this->yyTraceFILE) {
2837 2837
                             fprintf($this->yyTraceFILE, "%sDiscard input token %s\n", $this->yyTracePrompt,
2838
-                                    $this->yyTokenName[ $yymajor ]);
2838
+                                    $this->yyTokenName[$yymajor]);
2839 2839
                         }
2840 2840
                         $this->yy_destructor($yymajor, $yytokenvalue);
2841 2841
                         $yymajor = self::YYNOCODE;
Please login to merge, or discard this patch.