From: <rob...@us...> - 2012-10-23 20:50:26
|
Revision: 43612 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43612&view=rev Author: robertplummer Date: 2012-10-23 14:07:37 +0000 (Tue, 23 Oct 2012) Log Message: ----------- [FIX] Link processor, still failing unit test Modified Paths: -------------- branches/10.x/lib/core/JisonParser/Wiki/Handler.php branches/10.x/lib/core/JisonParser/Wiki.jison branches/10.x/lib/core/JisonParser/Wiki.js branches/10.x/lib/core/JisonParser/Wiki.php branches/10.x/lib/test/core/JisonParser/Abstract.php branches/10.x/lib/test/core/JisonParser/OutputTest.php Added Paths: ----------- branches/10.x/lib/core/JisonParser/Wiki/Link.php branches/10.x/lib/core/JisonParser/WikiCKEditor/Link.php Modified: branches/10.x/lib/core/JisonParser/Wiki/Handler.php =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 13:46:39 UTC (rev 43611) +++ branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 14:07:37 UTC (rev 43612) @@ -59,6 +59,9 @@ /* autoLink parser */ public $autoLink; + /* wiki link parser */ + public $link; + /*hotWords parser */ public $hotWords; @@ -129,7 +132,9 @@ 'parseBreaks' => true, 'parseLists' => true, 'parseNps' => true, - 'parseSmileys'=> true + 'parseSmileys'=> true, + 'namespace' => null, + 'skipPageCache' => false, ); /** @@ -1153,47 +1158,21 @@ * @param $content parsed string found inside detected syntax * @return string $content desired output from syntax */ - function link($content) //[content|content] + function link($type, $content) //[content|content] { global $tikilib, $prefs; $parts = explode('|', $content); - $link = (isset($parts[0]) ? $parts[0] : $content); - $text = (isset($parts[1]) ? $parts[1] : $link); + $page = (isset($parts[0]) ? $parts[0] : $content); + $description = (isset($parts[1]) ? $parts[1] : null); - $target = ''; - $class = 'wiki'; - $ext_icon = ''; - $rel = ''; - $cached = ''; - - if ($prefs['popupLinks'] == 'y') { - $target = '_blank"'; - } - - if (!strstr($link, '://')) { - $target = ''; - } else { - $class .= ' external'; - if ($prefs['feature_wiki_ext_icon'] == 'y' && !$this->getOption('suppress_icons')) { - $smarty = TikiLib::lib('smarty'); - include_once('lib/smarty_tiki/function.icon.php'); - $ext_icon = smarty_function_icon(array('_id'=>'external_link', 'alt'=>tra('(external link)'), '_class' => 'externallink', '_extension' => 'gif', '_defaultdir' => 'img/icons', 'width' => 15, 'height' => 14), $smarty); - } - $rel='external'; - if ($prefs['feature_wiki_ext_rel_nofollow'] == 'y') { - $rel .= ' nofollow'; - } - } - - if ($prefs['cachepages'] == 'y' && $tikilib->is_cached($link)) { - $cached = " <a class=\"wikicache\" target=\"_blank\" href=\"tiki-view_cache.php?url=".urlencode($link)."\">(cache)</a>"; - } - - return '<a class="' . $class . '"' . - (!empty($target) ? ' target="' . $target . '"' : '') . - ' href="' . $link . - (!empty($rel) ? '" rel="' . $rel : '') . '">' . $text . '</a>' . $ext_icon . $cached; + return JisonParser_Wiki_Link::page($page, $this->Parser) + ->setNamespace($this->getOption('namespace')) + ->setDescription($description) + ->setType($type) + ->setSuppressIcons($this->getOption('suppress_icons')) + ->setSkipPageCache($this->getOption('skipPageCache')) + ->parse(); } /** @@ -1320,10 +1299,11 @@ function wikilink($type = '', $content) //((content|content)) { global $prefs; - + //DEPRICATED + /* $wikilink = explode('|', $content); - $href = (isset($wikilink[0]) ? $wikilink[0] : $content); + $page = (isset($wikilink[0]) ? $wikilink[0] : $content); $title = $content; $text = $content; @@ -1343,19 +1323,9 @@ $type = strtolower($type); - if ($type == 'alias') { - return '<a class="wiki wiki_page alias" title="' . $title . '" href="tiki-index.php?page=' . $href . '">' . $text . '</a>'; - } else if ($type == 'np') { - return $title; - } else if ($type == 'word') { - if ($prefs['feature_wikiwords'] == 'y') { - return '<a class="wiki wiki_page word" title="' . $title . '" href="tiki-index.php?page=' . $href . '">' . $text . '</a>'; - } else { - return $text; - } - } - - return '<a class="wiki" title="' . $title . '" href="tiki-index.php?page=' . $href . '">' . $text . '</a>'; + return JisonParser_Wiki_Link::page($page) + ->setNameSpace($this->getOption('namespace')) + ->setType($type);*/ } /** Added: branches/10.x/lib/core/JisonParser/Wiki/Link.php =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki/Link.php (rev 0) +++ branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 14:07:37 UTC (rev 43612) @@ -0,0 +1,268 @@ +<?php +// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project +// +// All Rights Reserved. See copyright.txt for details and a complete list of authors. +// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. +// $Id$ + +class JisonParser_Wiki_Link +{ + public $page; + public $pageLink; + public $type; + public $namespace; + public $namespaceSeparator; + public $description; + public $reltype; + public $processPlural = false; + public $anchor; + public $language; + public $suppressIcons; + public $skipPageCache = false; + public $parser; + + static $externals = false; + + function __construct() + { + global $prefs; + + $this->namespaceSeparator = $prefs['namespace_separator']; + } + + static function page($page, &$parser, $namespace = '') + { + $link = new self(); + + $link->page = $page; + + $link->parser = &$parser; + + $link->setDescription($page); + + // HTML entities encoding breaks page lookup + $link->pageLink = html_entity_decode($page, ENT_COMPAT, 'UTF-8'); + + if (!empty($namespace)) { + $link->namespace = $namespace; + } + + return $link; + } + + public function setType($type) + { + $this->type = $type; + + return $this; + } + + + public function setNamespace($namespace) + { + $this->namespace = $namespace; + + return $this; + } + + public function setDescription($description) + { + global $prefs; + + if (!empty($description)) { + $feature_wikiwords = $prefs['feature_wikiwords']; + $prefs['feature_wikiwords'] = 'n'; + + //$this->description = $this->parser->parse($description); + $this->description = $description; + + $prefs['feature_wikiwords'] = $feature_wikiwords; + } + + return $this; + } + + public function processPlural($processPlural) + { + $this->processPlural = $processPlural; + + return $this; + } + + public function setSuppressIcons($suppressIcons) + { + $this->suppressIcons = $suppressIcons; + + return $this; + } + + public function setSkipPageCache($skipPageCache) + { + $this->skipPageCache = $skipPageCache; + + return $this; + } + + function parse() + { + switch ($this->type) { + case 'np': + break; + case 'alias': + $this->reltype = $this->type; + break; + case 'word': + break; + case 'external': + return $this->external(); + break; + } + + return $this->getHtml(); + } + + function external() + { + global $tikilib, $prefs, $smarty; + + $target = ''; + $class = 'wiki'; + $ext_icon = ''; + $rel = ''; + $cached = ''; + + if ($prefs['popupLinks'] == 'y') { + $target = '_blank"'; + } + + if (!strstr($this->page, '://')) { + $target = ''; + } else { + $class .= ' external'; + if ($prefs['feature_wiki_ext_icon'] == 'y' && !$this->suppressIcons) { + include_once('lib/smarty_tiki/function.icon.php'); + $ext_icon = smarty_function_icon(array('_id'=>'external_link', 'alt'=>tra('(external link)'), '_class' => 'externallink', '_extension' => 'gif', '_defaultdir' => 'img/icons', 'width' => 15, 'height' => 14), $smarty); + } + $rel='external'; + if ($prefs['feature_wiki_ext_rel_nofollow'] == 'y') { + $rel .= ' nofollow'; + } + } + + if ($prefs['cachepages'] == 'y' && $tikilib->is_cached($this->page)) { + $cached = " <a class=\"wikicache\" target=\"_blank\" href=\"tiki-view_cache.php?url=".urlencode($this->pageLink)."\">(cache)</a>"; + } + + return '<a class="' . $class . '"' . + (!empty($target) ? ' target="' . $target . '"' : '') . + ' href="' . $this->page . + (!empty($rel) ? '" rel="' . $rel : '') . '">' . $this->description . '</a>' . $ext_icon . $cached; + } + + function getHtml() + { + global $tikilib, $prefs; + $wikilib = TikiLib::lib('wiki'); + + // Fetch all externals once + if ( false === self::$externals ) { + self::$externals = $tikilib->fetchMap('SELECT LOWER(`name`), `extwiki` FROM `tiki_extwiki`'); + } + + $link = new WikiParser_OutputLink; + $link->setIdentifier($this->pageLink); + $link->setNamespace($this->namespace, $prefs['namespace_separator']); + $link->setQualifier($this->reltype); + $link->setDescription($this->description); + $link->setWikiLookup(array( &$this, 'findWikiPage' )); + $link->setWikiLinkBuilder( + function () + { + $wikilib = TikiLib::lib('wiki'); + return $wikilib->sefurl($this->page); + } + ); + $link->setExternals(self::$externals); + $link->setHandlePlurals($this->processPlural); + $link->setAnchor($this->anchor); + + if ( $prefs['feature_multilingual'] == 'y' && isset( $GLOBALS['pageLang'] ) ) { + $link->setLanguage($GLOBALS['pageLang']); + } + + return $link->getHtml(); + } + + public function setExtras($extras = array()) + { + foreach($extras as $key => $value) { + $this->$key = $value; + } + + return $this; + } + + function findWikiPage() + { + global $prefs; + $tikilib = TikiLib::lib('tiki'); + $page_info = $tikilib->get_page_info($this->page, false); + + if ( $page_info !== false ) { + return $page_info; + } + + // If page does not exist directly, attempt to find an alias + if ( $prefs['feature_wiki_pagealias'] == 'y' ) { + $semanticlib = TikiLib::lib('semantic'); + + $toPage = $this->page; + $tokens = explode(',', $prefs['wiki_pagealias_tokens']); + + $prefixes = explode(',', $prefs["wiki_prefixalias_tokens"]); + foreach ($prefixes as $p) { + $p = trim($p); + if (strlen($p) > 0 && TikiLib::strtolower(substr($this->page, 0, strlen($p))) == TikiLib::strtolower($p)) { + $toPage = $p; + $tokens = 'prefixalias'; + } + } + + $links = $semanticlib->getLinksUsing( + $tokens, + array( 'toPage' => $toPage ) + ); + + if ( count($links) > 1 ) { + // There are multiple aliases for this page. Need to disambiguate. + // + // When feature_likePages is set, trying to display the alias itself will + // display an error page with the list of aliased pages in the "like pages" section. + // This allows the user to pick the appropriate alias. + // So, leave the $pageName to the alias. + // + // If feature_likePages is not set, then the user will only see that the page does not + // exist. So it's better to just pick the first one. + // + if ($prefs['feature_likePages'] == 'y' || $tokens == 'prefixalias') { + // Even if there is more then one match, if prefix is being redirected then better + // to fail than to show possibly wrong page + return true; + } else { + // If feature_likePages is NOT set, then trying to display the first one is fine + // $pageName is by ref so it does get replaced + $pageName = $links[0]['fromPage']; + return $tikilib->get_page_info($this->page, true); + } + } elseif (count($links)) { + // there is exactly one match + if ($prefs['feature_wiki_1like_redirection'] == 'y') { + return true; + } else { + $pageName = $links[0]['fromPage']; + return $tikilib->get_page_info($this->page, true); + } + } + } + } +} \ No newline at end of file Property changes on: branches/10.x/lib/core/JisonParser/Wiki/Link.php ___________________________________________________________________ Added: svn:keywords + Id Modified: branches/10.x/lib/core/JisonParser/Wiki.jison =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 13:46:39 UTC (rev 43611) +++ branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 14:07:37 UTC (rev 43612) @@ -470,11 +470,13 @@ if (parser.isContent()) return 'CONTENT'; //js parser.linkStack = true; //js lexer.begin('link'); //js + $yytext = 'external'; //js return 'LINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('link'); + //php $yytext = 'external'; //php return 'LINK_START'; %} @@ -620,26 +622,26 @@ if (parser.isContent(['linkStack'])) return 'CONTENT'; //js parser.linkStack = false; //js lexer.popState(); //js - return 'WIKILINK_END'; //js + return 'LINK_END'; //js //php if ($this->isContent(array('linkStack'))) return 'CONTENT'; //php $this->linkStack = false; //php $this->popState(); - //php return 'WIKILINK_END'; + //php return 'LINK_END'; %} "((" %{ if (parser.isContent()) return 'CONTENT'; //js parser.linkStack = true; //js lexer.begin('wikilink'); //js - $yytext = ''; //js - return 'WIKILINK_START'; //js + $yytext = 'wiki'; //js + return 'LINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); - //php $yytext = ''; - //php return 'WIKILINK_START'; + //php $yytext = 'wiki'; + //php return 'LINK_START'; %} "))" %{ @@ -647,13 +649,13 @@ parser.linkStack = true; //js lexer.begin('wikilink'); //js $yytext = 'np'; //js - return 'WIKILINK_START'; //js + return 'LINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); //php $yytext = 'np'; - //php return 'WIKILINK_START'; + //php return 'LINK_START'; %} "("{WIKI_LINK_TYPE}"(" %{ @@ -661,13 +663,13 @@ parser.linkStack = true; //js lexer.begin('wikilink'); //js $yytext = $yytext.substring(1, $yytext.length - 1); //js - return 'WIKILINK_START'; //js + return 'LINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); //php $yytext = substr($yytext, 1, -1); - //php return 'WIKILINK_START'; + //php return 'LINK_START'; %} {CAPITOL_WORD} %{ @@ -870,9 +872,14 @@ | LINK_START LINK_END | LINK_START contents LINK_END { - $$ = parser.link($2); //js - //php $$ = $this->link($2); + $$ = parser.link($1, $2); //js + //php $$ = $this->link($1, $2); } +| LINK + { + $$ = parser.link('word', $1); //js + //php $$ = $this->link('word', $1); + } | STRIKE_START STRIKE_END | STRIKE_START contents STRIKE_END { @@ -902,17 +909,6 @@ $$ = parser.underscore($2); //js //php $$ = $this->underscore($2); } - | WIKILINK_START WIKILINK_END - | WIKILINK_START contents WIKILINK_END - { - $$ = parser.wikilink($1, $2); //js - //php $$ = $this->wikilink($1, $2); - } - | WIKILINK - { - $$ = parser.wikilink('word', $1); //js - //php $$ = $this->wikilink('word', $1); - } | INLINE_PLUGIN { $$ = parser.plugin($1); //js Modified: branches/10.x/lib/core/JisonParser/Wiki.js =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 13:46:39 UTC (rev 43611) +++ branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 14:07:37 UTC (rev 43612) @@ -2,9 +2,9 @@ var Wiki = (function(){ var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"STRIKE_START":38,"STRIKE_END":39,"DOUBLE_DASH":40,"TABLE_START":41,"TABLE_END":42,"TITLEBAR_START":43,"TITLEBAR_END":44,"UNDERSCORE_START":45,"UNDERSCORE_END":46,"WIKILINK_START":47,"WIKILINK_END":48,"WIKILINK":49,"INLINE_PLUGIN":50,"PLUGIN_START":51,"PLUGIN_END":52,"LINE_END":53,"FORCED_LINE_END":54,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"STRIKE_START",39:"STRIKE_END",40:"DOUBLE_DASH",41:"TABLE_START",42:"TABLE_END",43:"TITLEBAR_START",44:"TITLEBAR_END",45:"UNDERSCORE_START",46:"UNDERSCORE_END",47:"WIKILINK_START",48:"WIKILINK_END",49:"WIKILINK",50:"INLINE_PLUGIN",51:"PLUGIN_START",52:"PLUGIN_END",53:"LINE_END",54:"FORCED_LINE_END"}, -productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], +symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"LINK":38,"STRIKE_START":39,"STRIKE_END":40,"DOUBLE_DASH":41,"TABLE_START":42,"TABLE_END":43,"TITLEBAR_START":44,"TITLEBAR_END":45,"UNDERSCORE_START":46,"UNDERSCORE_END":47,"INLINE_PLUGIN":48,"PLUGIN_START":49,"PLUGIN_END":50,"LINE_END":51,"FORCED_LINE_END":52,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"LINK",39:"STRIKE_START",40:"STRIKE_END",41:"DOUBLE_DASH",42:"TABLE_START",43:"TABLE_END",44:"TITLEBAR_START",45:"TITLEBAR_END",46:"UNDERSCORE_START",47:"UNDERSCORE_END",48:"INLINE_PLUGIN",49:"PLUGIN_START",50:"PLUGIN_END",51:"LINE_END",52:"FORCED_LINE_END"}, +productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { var $0 = $$.length - 1; @@ -120,52 +120,47 @@ break; case 37: - this.$ = parser.link($$[$0-1]); //js - //php this.$ = this->link($$[$0-1]); + this.$ = parser.link($$[$0-2], $$[$0-1]); //js + //php this.$ = this->link($$[$0-2], $$[$0-1]); break; -case 39: +case 38: + this.$ = parser.link('word', $$[$0]); //js + //php this.$ = this->link('word', $$[$0]); + +break; +case 40: this.$ = parser.strike($$[$0-1]); //js //php this.$ = this->strike($$[$0-1]); break; -case 40: +case 41: this.$ = parser.doubleDash(); //js //php this.$ = this->doubleDash(); break; -case 42: +case 43: this.$ = parser.tableParser($$[$0-1]); //js //php this.$ = this->tableParser($$[$0-1]); break; -case 44: +case 45: this.$ = parser.titlebar($$[$0-1]); //js //php this.$ = this->titlebar($$[$0-1]); break; -case 46: +case 47: this.$ = parser.underscore($$[$0-1]); //js //php this.$ = this->underscore($$[$0-1]); break; case 48: - this.$ = parser.wikilink($$[$0-2], $$[$0-1]); //js - //php this.$ = this->wikilink($$[$0-2], $$[$0-1]); - -break; -case 49: - this.$ = parser.wikilink('word', $$[$0]); //js - //php this.$ = this->wikilink('word', $$[$0]); - -break; -case 50: this.$ = parser.plugin($$[$0]); //js //php this.$ = this->plugin($$[$0]); break; -case 51: +case 49: $$[$0].body = ''; //js this.$ = parser.plugin($$[$0]); //js @@ -173,7 +168,7 @@ //php this.$ = this->plugin($$[$0]); break; -case 52: +case 50: $$[$0].body = $$[$0-1]; //js this.$ = parser.plugin($$[$0]); //js @@ -181,25 +176,25 @@ //php this.$ = this->plugin($$[$0]); break; -case 53: +case 51: this.$ = parser.line($$[$0]); //js //php this.$ = this->line($$[$0]); break; -case 54: +case 52: this.$ = parser.forcedLineEnd(); //js //php this.$ = this->forcedLineEnd(); break; -case 55: +case 53: this.$ = parser.block($$[$0-2] + $$[$0-1]); //js //php this.$ = this->block($$[$0-2] . $$[$0-1]); break; } }, -table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[3]},{1:[2,1],5:[1,36]},{1:[2,3]},{1:[2,4],4:37,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,6],5:[2,6],8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:41,8:[1,39],9:[1,40],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9],53:[2,9],54:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11],53:[2,11],54:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12],53:[2,12],54:[2,12]},{7:43,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,42],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:45,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,44],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17],53:[2,17],54:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,18],18:[2,18],19:[2,18],20:[2,18],21:[2,18],22:[2,18],23:[2,18],24:[2,18],25:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],35:[2,18],36:[2,18],37:[2,18],38:[2,18],39:[2,18],40:[2,18],41:[2,18],42:[2,18],43:[2,18],44:[2,18],45:[2,18],46:[2,18],47:[2,18],48:[2,18],49:[2,18],50:[2,18],51:[2,18],52:[2,18],53:[2,18],54:[2,18]},{1:[2,19],5:[2,19],8:[2,19],9:[2,19],11:[2,19],12:[2,19],13:[2,19],14:[2,19],15:[2,19],16:[2,19],17:[2,19],18:[2,19],19:[2,19],20:[2,19],21:[2,19],22:[2,19],23:[2,19],24:[2,19],25:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],35:[2,19],36:[2,19],37:[2,19],38:[2,19],39:[2,19],40:[2,19],41:[2,19],42:[2,19],43:[2,19],44:[2,19],45:[2,19],46:[2,19],47:[2,19],48:[2,19],49:[2,19],50:[2,19],51:[2,19],52:[2,19],53:[2,19],54:[2,19]},{1:[2,20],5:[2,20],8:[2,20],9:[2,20],11:[2,20],12:[2,20],13:[2,20],14:[2,20],15:[2,20],16:[2,20],17:[2,20],18:[2,20],19:[2,20],20:[2,20],21:[2,20],22:[2,20],23:[2,20],24:[2,20],25:[2,20],26:[2,20],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],34:[2,20],35:[2,20],36:[2,20],37:[2,20],38:[2,20],39:[2,20],40:[2,20],41:[2,20],42:[2,20],43:[2,20],44:[2,20],45:[2,20],46:[2,20],47:[2,20],48:[2,20],49:[2,20],50:[2,20],51:[2,20],52:[2,20],53:[2,20],54:[2,20]},{1:[2,21],5:[2,21],8:[2,21],9:[2,21],11:[2,21],12:[2,21],13:[2,21],14:[2,21],15:[2,21],16:[2,21],17:[2,21],18:[2,21],19:[2,21],20:[2,21],21:[2,21],22:[2,21],23:[2,21],24:[2,21],25:[2,21],26:[2,21],27:[2,21],28:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[2,21],35:[2,21],36:[2,21],37:[2,21],38:[2,21],39:[2,21],40:[2,21],41:[2,21],42:[2,21],43:[2,21],44:[2,21],45:[2,21],46:[2,21],47:[2,21],48:[2,21],49:[2,21],50:[2,21],51:[2,21],52:[2,21],53:[2,21],54:[2,21]},{7:47,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,46],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:49,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,48],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:51,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,50],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:53,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,52],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:55,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,54],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:57,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,56],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:59,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,58],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:61,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,60],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:63,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,62],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,40],5:[2,40],8:[2,40],9:[2,40],11:[2,40],12:[2,40],13:[2,40],14:[2,40],15:[2,40],16:[2,40],17:[2,40],18:[2,40],19:[2,40],20:[2,40],21:[2,40],22:[2,40],23:[2,40],24:[2,40],25:[2,40],26:[2,40],27:[2,40],28:[2,40],29:[2,40],30:[2,40],31:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],37:[2,40],38:[2,40],39:[2,40],40:[2,40],41:[2,40],42:[2,40],43:[2,40],44:[2,40],45:[2,40],46:[2,40],47:[2,40],48:[2,40],49:[2,40],50:[2,40],51:[2,40],52:[2,40],53:[2,40],54:[2,40]},{7:65,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],42:[1,64],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:67,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],44:[1,66],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:69,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],46:[1,68],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:71,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],48:[1,70],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,49],5:[2,49],8:[2,49],9:[2,49],11:[2,49],12:[2,49],13:[2,49],14:[2,49],15:[2,49],16:[2,49],17:[2,49],18:[2,49],19:[2,49],20:[2,49],21:[2,49],22:[2,49],23:[2,49],24:[2,49],25:[2,49],26:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],34:[2,49],35:[2,49],36:[2,49],37:[2,49],38:[2,49],39:[2,49],40:[2,49],41:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],47:[2,49],48:[2,49],49:[2,49],50:[2,49],51:[2,49],52:[2,49],53:[2,49],54:[2,49]},{1:[2,50],5:[2,50],8:[2,50],9:[2,50],11:[2,50],12:[2,50],13:[2,50],14:[2,50],15:[2,50],16:[2,50],17:[2,50],18:[2,50],19:[2,50],20:[2,50],21:[2,50],22:[2,50],23:[2,50],24:[2,50],25:[2,50],26:[2,50],27:[2,50],28:[2,50],29:[2,50],30:[2,50],31:[2,50],32:[2,50],33:[2,50],34:[2,50],35:[2,50],36:[2,50],37:[2,50],38:[2,50],39:[2,50],40:[2,50],41:[2,50],42:[2,50],43:[2,50],44:[2,50],45:[2,50],46:[2,50],47:[2,50],48:[2,50],49:[2,50],50:[2,50],51:[2,50],52:[2,50],53:[2,50],54:[2,50]},{7:73,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],52:[1,72],53:[1,34],54:[1,35]},{1:[2,53],5:[2,53],8:[2,53],9:[2,53],11:[2,53],12:[2,53],13:[2,53],14:[2,53],15:[2,53],16:[2,53],17:[2,53],18:[2,53],19:[2,53],20:[2,53],21:[2,53],22:[2,53],23:[2,53],24:[2,53],25:[2,53],26:[2,53],27:[2,53],28:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],34:[2,53],35:[2,53],36:[2,53],37:[2,53],38:[2,53],39:[2,53],40:[2,53],41:[2,53],42:[2,53],43:[2,53],44:[2,53],45:[2,53],46:[2,53],47:[2,53],48:[2,53],49:[2,53],50:[2,53],51:[2,53],52:[2,53],53:[2,53],54:[2,53]},{1:[2,54],5:[2,54],8:[2,54],9:[2,54],11:[2,54],12:[2,54],13:[2,54],14:[2,54],15:[2,54],16:[2,54],17:[2,54],18:[2,54],19:[2,54],20:[2,54],21:[2,54],22:[2,54],23:[2,54],24:[2,54],25:[2,54],26:[2,54],27:[2,54],28:[2,54],29:[2,54],30:[2,54],31:[2,54],32:[2,54],33:[2,54],34:[2,54],35:[2,54],36:[2,54],37:[2,54],38:[2,54],39:[2,54],40:[2,54],41:[2,54],42:[2,54],43:[2,54],44:[2,54],45:[2,54],46:[2,54],47:[2,54],48:[2,54],49:[2,54],50:[2,54],51:[2,54],52:[2,54],53:[2,54],54:[2,54]},{1:[2,2]},{1:[2,5],5:[2,5]},{1:[2,10],5:[2,10],8:[2,10],9:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[2,10],17:[2,10],18:[2,10],19:[2,10],20:[2,10],21:[2,10],22:[2,10],23:[2,10],24:[2,10],25:[2,10],26:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],35:[2,10],36:[2,10],37:[2,10],38:[2,10],39:[2,10],40:[2,10],41:[2,10],42:[2,10],43:[2,10],44:[2,10],45:[2,10],46:[2,10],47:[2,10],48:[2,10],49:[2,10],50:[2,10],51:[2,10],52:[2,10],53:[2,10],54:[2,10]},{7:74,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,7],5:[2,7],8:[2,7],11:[2,7],12:[2,7],13:[2,7],15:[2,7],17:[2,7],18:[2,7],19:[2,7],20:[2,7],21:[2,7],22:[2,7],24:[2,7],26:[2,7],28:[2,7],30:[2,7],32:[2,7],34:[2,7],36:[2,7],38:[2,7],40:[2,7],41:[2,7],43:[2,7],45:[2,7],47:[2,7],49:[2,7],50:[2,7],51:[2,7],53:[2,7],54:[2,7]},{8:[1,39],9:[1,75],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,13],5:[2,13],8:[2,13],9:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],17:[2,13],18:[2,13],19:[2,13],20:[2,13],21:[2,13],22:[2,13],23:[2,13],24:[2,13],25:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],35:[2,13],36:[2,13],37:[2,13],38:[2,13],39:[2,13],40:[2,13],41:[2,13],42:[2,13],43:[2,13],44:[2,13],45:[2,13],46:[2,13],47:[2,13],48:[2,13],49:[2,13],50:[2,13],51:[2,13],52:[2,13],53:[2,13],54:[2,13]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],14:[1,76],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,15],5:[2,15],8:[2,15],9:[2,15],11:[2,15],12:[2,15],13:[2,15],14:[2,15],15:[2,15],16:[2,15],17:[2,15],18:[2,15],19:[2,15],20:[2,15],21:[2,15],22:[2,15],23:[2,15],24:[2,15],25:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],35:[2,15],36:[2,15],37:[2,15],38:[2,15],39:[2,15],40:[2,15],41:[2,15],42:[2,15],43:[2,15],44:[2,15],45:[2,15],46:[2,15],47:[2,15],48:[2,15],49:[2,15],50:[2,15],51:[2,15],52:[2,15],53:[2,15],54:[2,15]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,77],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,22],5:[2,22],8:[2,22],9:[2,22],11:[2,22],12:[2,22],13:[2,22],14:[2,22],15:[2,22],16:[2,22],17:[2,22],18:[2,22],19:[2,22],20:[2,22],21:[2,22],22:[2,22],23:[2,22],24:[2,22],25:[2,22],26:[2,22],27:[2,22],28:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[2,22],35:[2,22],36:[2,22],37:[2,22],38:[2,22],39:[2,22],40:[2,22],41:[2,22],42:[2,22],43:[2,22],44:[2,22],45:[2,22],46:[2,22],47:[2,22],48:[2,22],49:[2,22],50:[2,22],51:[2,22],52:[2,22],53:[2,22],54:[2,22]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,78],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,24],5:[2,24],8:[2,24],9:[2,24],11:[2,24],12:[2,24],13:[2,24],14:[2,24],15:[2,24],16:[2,24],17:[2,24],18:[2,24],19:[2,24],20:[2,24],21:[2,24],22:[2,24],23:[2,24],24:[2,24],25:[2,24],26:[2,24],27:[2,24],28:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[2,24],35:[2,24],36:[2,24],37:[2,24],38:[2,24],39:[2,24],40:[2,24],41:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],47:[2,24],48:[2,24],49:[2,24],50:[2,24],51:[2,24],52:[2,24],53:[2,24],54:[2,24]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,79],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,26],5:[2,26],8:[2,26],9:[2,26],11:[2,26],12:[2,26],13:[2,26],14:[2,26],15:[2,26],16:[2,26],17:[2,26],18:[2,26],19:[2,26],20:[2,26],21:[2,26],22:[2,26],23:[2,26],24:[2,26],25:[2,26],26:[2,26],27:[2,26],28:[2,26],29:[2,26],30:[2,26],31:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],37:[2,26],38:[2,26],39:[2,26],40:[2,26],41:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],47:[2,26],48:[2,26],49:[2,26],50:[2,26],51:[2,26],52:[2,26],53:[2,26],54:[2,26]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,80],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,28],5:[2,28],8:[2,28],9:[2,28],11:[2,28],12:[2,28],13:[2,28],14:[2,28],15:[2,28],16:[2,28],17:[2,28],18:[2,28],19:[2,28],20:[2,28],21:[2,28],22:[2,28],23:[2,28],24:[2,28],25:[2,28],26:[2,28],27:[2,28],28:[2,28],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],37:[2,28],38:[2,28],39:[2,28],40:[2,28],41:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],47:[2,28],48:[2,28],49:[2,28],50:[2,28],51:[2,28],52:[2,28],53:[2,28],54:[2,28]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,81],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,30],5:[2,30],8:[2,30],9:[2,30],11:[2,30],12:[2,30],13:[2,30],14:[2,30],15:[2,30],16:[2,30],17:[2,30],18:[2,30],19:[2,30],20:[2,30],21:[2,30],22:[2,30],23:[2,30],24:[2,30],25:[2,30],26:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],37:[2,30],38:[2,30],39:[2,30],40:[2,30],41:[2,30],42:[2,30],43:[2,30],44:[2,30],45:[2,30],46:[2,30],47:[2,30],48:[2,30],49:[2,30],50:[2,30],51:[2,30],52:[2,30],53:[2,30],54:[2,30]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,82],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,32],5:[2,32],8:[2,32],9:[2,32],11:[2,32],12:[2,32],13:[2,32],14:[2,32],15:[2,32],16:[2,32],17:[2,32],18:[2,32],19:[2,32],20:[2,32],21:[2,32],22:[2,32],23:[2,32],24:[2,32],25:[2,32],26:[2,32],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],34:[2,32],35:[2,32],36:[2,32],37:[2,32],38:[2,32],39:[2,32],40:[2,32],41:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],46:[2,32],47:[2,32],48:[2,32],49:[2,32],50:[2,32],51:[2,32],52:[2,32],53:[2,32],54:[2,32]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,83],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,34],5:[2,34],8:[2,34],9:[2,34],11:[2,34],12:[2,34],13:[2,34],14:[2,34],15:[2,34],16:[2,34],17:[2,34],18:[2,34],19:[2,34],20:[2,34],21:[2,34],22:[2,34],23:[2,34],24:[2,34],25:[2,34],26:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],34:[2,34],35:[2,34],36:[2,34],37:[2,34],38:[2,34],39:[2,34],40:[2,34],41:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],47:[2,34],48:[2,34],49:[2,34],50:[2,34],51:[2,34],52:[2,34],53:[2,34],54:[2,34]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,84],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,36],5:[2,36],8:[2,36],9:[2,36],11:[2,36],12:[2,36],13:[2,36],14:[2,36],15:[2,36],16:[2,36],17:[2,36],18:[2,36],19:[2,36],20:[2,36],21:[2,36],22:[2,36],23:[2,36],24:[2,36],25:[2,36],26:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],34:[2,36],35:[2,36],36:[2,36],37:[2,36],38:[2,36],39:[2,36],40:[2,36],41:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],47:[2,36],48:[2,36],49:[2,36],50:[2,36],51:[2,36],52:[2,36],53:[2,36],54:[2,36]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,85],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,38],5:[2,38],8:[2,38],9:[2,38],11:[2,38],12:[2,38],13:[2,38],14:[2,38],15:[2,38],16:[2,38],17:[2,38],18:[2,38],19:[2,38],20:[2,38],21:[2,38],22:[2,38],23:[2,38],24:[2,38],25:[2,38],26:[2,38],27:[2,38],28:[2,38],29:[2,38],30:[2,38],31:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],37:[2,38],38:[2,38],39:[2,38],40:[2,38],41:[2,38],42:[2,38],43:[2,38],44:[2,38],45:[2,38],46:[2,38],47:[2,38],48:[2,38],49:[2,38],50:[2,38],51:[2,38],52:[2,38],53:[2,38],54:[2,38]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,86],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,41],5:[2,41],8:[2,41],9:[2,41],11:[2,41],12:[2,41],13:[2,41],14:[2,41],15:[2,41],16:[2,41],17:[2,41],18:[2,41],19:[2,41],20:[2,41],21:[2,41],22:[2,41],23:[2,41],24:[2,41],25:[2,41],26:[2,41],27:[2,41],28:[2,41],29:[2,41],30:[2,41],31:[2,41],32:[2,41],33:[2,41],34:[2,41],35:[2,41],36:[2,41],37:[2,41],38:[2,41],39:[2,41],40:[2,41],41:[2,41],42:[2,41],43:[2,41],44:[2,41],45:[2,41],46:[2,41],47:[2,41],48:[2,41],49:[2,41],50:[2,41],51:[2,41],52:[2,41],53:[2,41],54:[2,41]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],42:[1,87],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,43],5:[2,43],8:[2,43],9:[2,43],11:[2,43],12:[2,43],13:[2,43],14:[2,43],15:[2,43],16:[2,43],17:[2,43],18:[2,43],19:[2,43],20:[2,43],21:[2,43],22:[2,43],23:[2,43],24:[2,43],25:[2,43],26:[2,43],27:[2,43],28:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],37:[2,43],38:[2,43],39:[2,43],40:[2,43],41:[2,43],42:[2,43],43:[2,43],44:[2,43],45:[2,43],46:[2,43],47:[2,43],48:[2,43],49:[2,43],50:[2,43],51:[2,43],52:[2,43],53:[2,43],54:[2,43]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],44:[1,88],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,45],5:[2,45],8:[2,45],9:[2,45],11:[2,45],12:[2,45],13:[2,45],14:[2,45],15:[2,45],16:[2,45],17:[2,45],18:[2,45],19:[2,45],20:[2,45],21:[2,45],22:[2,45],23:[2,45],24:[2,45],25:[2,45],26:[2,45],27:[2,45],28:[2,45],29:[2,45],30:[2,45],31:[2,45],32:[2,45],33:[2,45],34:[2,45],35:[2,45],36:[2,45],37:[2,45],38:[2,45],39:[2,45],40:[2,45],41:[2,45],42:[2,45],43:[2,45],44:[2,45],45:[2,45],46:[2,45],47:[2,45],48:[2,45],49:[2,45],50:[2,45],51:[2,45],52:[2,45],53:[2,45],54:[2,45]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],46:[1,89],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,47],5:[2,47],8:[2,47],9:[2,47],11:[2,47],12:[2,47],13:[2,47],14:[2,47],15:[2,47],16:[2,47],17:[2,47],18:[2,47],19:[2,47],20:[2,47],21:[2,47],22:[2,47],23:[2,47],24:[2,47],25:[2,47],26:[2,47],27:[2,47],28:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],34:[2,47],35:[2,47],36:[2,47],37:[2,47],38:[2,47],39:[2,47],40:[2,47],41:[2,47],42:[2,47],43:[2,47],44:[2,47],45:[2,47],46:[2,47],47:[2,47],48:[2,47],49:[2,47],50:[2,47],51:[2,47],52:[2,47],53:[2,47],54:[2,47]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],48:[1,90],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,51],5:[2,51],8:[2,51],9:[2,51],11:[2,51],12:[2,51],13:[2,51],14:[2,51],15:[2,51],16:[2,51],17:[2,51],18:[2,51],19:[2,51],20:[2,51],21:[2,51],22:[2,51],23:[2,51],24:[2,51],25:[2,51],26:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],34:[2,51],35:[2,51],36:[2,51],37:[2,51],38:[2,51],39:[2,51],40:[2,51],41:[2,51],42:[2,51],43:[2,51],44:[2,51],45:[2,51],46:[2,51],47:[2,51],48:[2,51],49:[2,51],50:[2,51],51:[2,51],52:[2,51],53:[2,51],54:[2,51]},{8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],52:[1,91],53:[1,34],54:[1,35]},{8:[1,39],9:[1,92],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,8],5:[2,8],8:[2,8],11:[2,8],12:[2,8],13:[2,8],15:[2,8],17:[2,8],18:[2,8],19:[2,8],20:[2,8],21:[2,8],22:[2,8],24:[2,8],26:[2,8],28:[2,8],30:[2,8],32:[2,8],34:[2,8],36:[2,8],38:[2,8],40:[2,8],41:[2,8],43:[2,8],45:[2,8],47:[2,8],49:[2,8],50:[2,8],51:[2,8],53:[2,8],54:[2,8]},{1:[2,14],5:[2,14],8:[2,14],9:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],17:[2,14],18:[2,14],19:[2,14],20:[2,14],21:[2,14],22:[2,14],23:[2,14],24:[2,14],25:[2,14],26:[2,14],27:[2,14],28:[2,14],29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],34:[2,14],35:[2,14],36:[2,14],37:[2,14],38:[2,14],39:[2,14],40:[2,14],41:[2,14],42:[2,14],43:[2,14],44:[2,14],45:[2,14],46:[2,14],47:[2,14],48:[2,14],49:[2,14],50:[2,14],51:[2,14],52:[2,14],53:[2,14],54:[2,14]},{1:[2,16],5:[2,16],8:[2,16],9:[2,16],11:[2,16],12:[2,16],13:[2,16],14:[2,16],15:[2,16],16:[2,16],17:[2,16],18:[2,16],19:[2,16],20:[2,16],21:[2,16],22:[2,16],23:[2,16],24:[2,16],25:[2,16],26:[2,16],27:[2,16],28:[2,16],29:[2,16],30:[2,16],31:[2,16],32:[2,16],33:[2,16],34:[2,16],35:[2,16],36:[2,16],37:[2,16],38:[2,16],39:[2,16],40:[2,16],41:[2,16],42:[2,16],43:[2,16],44:[2,16],45:[2,16],46:[2,16],47:[2,16],48:[2,16],49:[2,16],50:[2,16],51:[2,16],52:[2,16],53:[2,16],54:[2,16]},{1:[2,23],5:[2,23],8:[2,23],9:[2,23],11:[2,23],12:[2,23],13:[2,23],14:[2,23],15:[2,23],16:[2,23],17:[2,23],18:[2,23],19:[2,23],20:[2,23],21:[2,23],22:[2,23],23:[2,23],24:[2,23],25:[2,23],26:[2,23],27:[2,23],28:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],34:[2,23],35:[2,23],36:[2,23],37:[2,23],38:[2,23],39:[2,23],40:[2,23],41:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],47:[2,23],48:[2,23],49:[2,23],50:[2,23],51:[2,23],52:[2,23],53:[2,23],54:[2,23]},{1:[2,25],5:[2,25],8:[2,25],9:[2,25],11:[2,25],12:[2,25],13:[2,25],14:[2,25],15:[2,25],16:[2,25],17:[2,25],18:[2,25],19:[2,25],20:[2,25],21:[2,25],22:[2,25],23:[2,25],24:[2,25],25:[2,25],26:[2,25],27:[2,25],28:[2,25],29:[2,25],30:[2,25],31:[2,25],32:[2,25],33:[2,25],34:[2,25],35:[2,25],36:[2,25],37:[2,25],38:[2,25],39:[2,25],40:[2,25],41:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],47:[2,25],48:[2,25],49:[2,25],50:[2,25],51:[2,25],52:[2,25],53:[2,25],54:[2,25]},{1:[2,27],5:[2,27],8:[2,27],9:[2,27],11:[2,27],12:[2,27],13:[2,27],14:[2,27],15:[2,27],16:[2,27],17:[2,27],18:[2,27],19:[2,27],20:[2,27],21:[2,27],22:[2,27],23:[2,27],24:[2,27],25:[2,27],26:[2,27],27:[2,27],28:[2,27],29:[2,27],30:[2,27],31:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],37:[2,27],38:[2,27],39:[2,27],40:[2,27],41:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],47:[2,27],48:[2,27],49:[2,27],50:[2,27],51:[2,27],52:[2,27],53:[2,27],54:[2,27]},{1:[2,29],5:[2,29],8:[2,29],9:[2,29],11:[2,29],12:[2,29],13:[2,29],14:[2,29],15:[2,29],16:[2,29],17:[2,29],18:[2,29],19:[2,29],20:[2,29],21:[2,29],22:[2,29],23:[2,29],24:[2,29],25:[2,29],26:[2,29],27:[2,29],28:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],37:[2,29],38:[2,29],39:[2,29],40:[2,29],41:[2,29],42:[2,29],43:[2,29],44:[2,29],45:[2,29],46:[2,29],47:[2,29],48:[2,29],49:[2,29],50:[2,29],51:[2,29],52:[2,29],53:[2,29],54:[2,29]},{1:[2,31],5:[2,31],8:[2,31],9:[2,31],11:[2,31],12:[2,31],13:[2,31],14:[2,31],15:[2,31],16:[2,31],17:[2,31],18:[2,31],19:[2,31],20:[2,31],21:[2,31],22:[2,31],23:[2,31],24:[2,31],25:[2,31],26:[2,31],27:[2,31],28:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],37:[2,31],38:[2,31],39:[2,31],40:[2,31],41:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],46:[2,31],47:[2,31],48:[2,31],49:[2,31],50:[2,31],51:[2,31],52:[2,31],53:[2,31],54:[2,31]},{1:[2,33],5:[2,33],8:[2,33],9:[2,33],11:[2,33],12:[2,33],13:[2,33],14:[2,33],15:[2,33],16:[2,33],17:[2,33],18:[2,33],19:[2,33],20:[2,33],21:[2,33],22:[2,33],23:[2,33],24:[2,33],25:[2,33],26:[2,33],27:[2,33],28:[2,33],29:[2,33],30:[2,33],31:[2,33],32:[2,33],33:[2,33],34:[2,33],35:[2,33],36:[2,33],37:[2,33],38:[2,33],39:[2,33],40:[2,33],41:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],46:[2,33],47:[2,33],48:[2,33],49:[2,33],50:[2,33],51:[2,33],52:[2,33],53:[2,33],54:[2,33]},{1:[2,35],5:[2,35],8:[2,35],9:[2,35],11:[2,35],12:[2,35],13:[2,35],14:[2,35],15:[2,35],16:[2,35],17:[2,35],18:[2,35],19:[2,35],20:[2,35],21:[2,35],22:[2,35],23:[2,35],24:[2,35],25:[2,35],26:[2,35],27:[2,35],28:[2,35],29:[2,35],30:[2,35],31:[2,35],32:[2,35],33:[2,35],34:[2,35],35:[2,35],36:[2,35],37:[2,35],38:[2,35],39:[2,35],40:[2,35],41:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],47:[2,35],48:[2,35],49:[2,35],50:[2,35],51:[2,35],52:[2,35],53:[2,35],54:[2,35]},{1:[2,37],5:[2,37],8:[2,37],9:[2,37],11:[2,37],12:[2,37],13:[2,37],14:[2,37],15:[2,37],16:[2,37],17:[2,37],18:[2,37],19:[2,37],20:[2,37],21:[2,37],22:[2,37],23:[2,37],24:[2,37],25:[2,37],26:[2,37],27:[2,37],28:[2,37],29:[2,37],30:[2,37],31:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],37:[2,37],38:[2,37],39:[2,37],40:[2,37],41:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],47:[2,37],48:[2,37],49:[2,37],50:[2,37],51:[2,37],52:[2,37],53:[2,37],54:[2,37]},{1:[2,39],5:[2,39],8:[2,39],9:[2,39],11:[2,39],12:[2,39],13:[2,39],14:[2,39],15:[2,39],16:[2,39],17:[2,39],18:[2,39],19:[2,39],20:[2,39],21:[2,39],22:[2,39],23:[2,39],24:[2,39],25:[2,39],26:[2,39],27:[2,39],28:[2,39],29:[2,39],30:[2,39],31:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],37:[2,39],38:[2,39],39:[2,39],40:[2,39],41:[2,39],42:[2,39],43:[2,39],44:[2,39],45:[2,39],46:[2,39],47:[2,39],48:[2,39],49:[2,39],50:[2,39],51:[2,39],52:[2,39],53:[2,39],54:[2,39]},{1:[2,42],5:[2,42],8:[2,42],9:[2,42],11:[2,42],12:[2,42],13:[2,42],14:[2,42],15:[2,42],16:[2,42],17:[2,42],18:[2,42],19:[2,42],20:[2,42],21:[2,42],22:[2,42],23:[2,42],24:[2,42],25:[2,42],26:[2,42],27:[2,42],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],35:[2,42],36:[2,42],37:[2,42],38:[2,42],39:[2,42],40:[2,42],41:[2,42],42:[2,42],43:[2,42],44:[2,42],45:[2,42],46:[2,42],47:[2,42],48:[2,42],49:[2,42],50:[2,42],51:[2,42],52:[2,42],53:[2,42],54:[2,42]},{1:[2,44],5:[2,44],8:[2,44],9:[2,44],11:[2,44],12:[2,44],13:[2,44],14:[2,44],15:[2,44],16:[2,44],17:[2,44],18:[2,44],19:[2,44],20:[2,44],21:[2,44],22:[2,44],23:[2,44],24:[2,44],25:[2,44],26:[2,44],27:[2,44],28:[2,44],29:[2,44],30:[2,44],31:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],37:[2,44],38:[2,44],39:[2,44],40:[2,44],41:[2,44],42:[2,44],43:[2,44],44:[2,44],45:[2,44],46:[2,44],47:[2,44],48:[2,44],49:[2,44],50:[2,44],51:[2,44],52:[2,44],53:[2,44],54:[2,44]},{1:[2,46],5:[2,46],8:[2,46],9:[2,46],11:[2,46],12:[2,46],13:[2,46],14:[2,46],15:[2,46],16:[2,46],17:[2,46],18:[2,46],19:[2,46],20:[2,46],21:[2,46],22:[2,46],23:[2,46],24:[2,46],25:[2,46],26:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,46],35:[2,46],36:[2,46],37:[2,46],38:[2,46],39:[2,46],40:[2,46],41:[2,46],42:[2,46],43:[2,46],44:[2,46],45:[2,46],46:[2,46],47:[2,46],48:[2,46],49:[2,46],50:[2,46],51:[2,46],52:[2,46],53:[2,46],54:[2,46]},{1:[2,48],5:[2,48],8:[2,48],9:[2,48],11:[2,48],12:[2,48],13:[2,48],14:[2,48],15:[2,48],16:[2,48],17:[2,48],18:[2,48],19:[2,48],20:[2,48],21:[2,48],22:[2,48],23:[2,48],24:[2,48],25:[2,48],26:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],34:[2,48],35:[2,48],36:[2,48],37:[2,48],38:[2,48],39:[2,48],40:[2,48],41:[2,48],42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],47:[2,48],48:[2,48],49:[2,48],50:[2,48],51:[2,48],52:[2,48],53:[2,48],54:[2,48]},{1:[2,52],5:[2,52],8:[2,52],9:[2,52],11:[2,52],12:[2,52],13:[2,52],14:[2,52],15:[2,52],16:[2,52],17:[2,52],18:[2,52],19:[2,52],20:[2,52],21:[2,52],22:[2,52],23:[2,52],24:[2,52],25:[2,52],26:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],34:[2,52],35:[2,52],36:[2,52],37:[2,52],38:[2,52],39:[2,52],40:[2,52],41:[2,52],42:[2,52],43:[2,52],44:[2,52],45:[2,52],46:[2,52],47:[2,52],48:[2,52],49:[2,52],50:[2,52],51:[2,52],52:[2,52],53:[2,52],54:[2,52]},{1:[2,55],5:[2,55],8:[2,55],9:[2,55],11:[2,55],12:[2,55],13:[2,55],14:[2,55],15:[2,55],16:[2,55],17:[2,55],18:[2,55],19:[2,55],20:[2,55],21:[2,55],22:[2,55],23:[2,55],24:[2,55],25:[2,55],26:[2,55],27:[2,55],28:[2,55],29:[2,55],30:[2,55],31:[2,55],32:[2,55],33:[2,55],34:[2,55],35:[2,55],36:[2,55],37:[2,55],38:[2,55],39:[2,55],40:[2,55],41:[2,55],42:[2,55],43:[2,55],44:[2,55],45:[2,55],46:[2,55],47:[2,55],48:[2,55],49:[2,55],50:[2,55],51:[2,55],52:[2,55],53:[2,55],54:[2,55]}], -defaultActions: {3:[2,3],36:[2,2]}, +table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[3]},{1:[2,1],5:[1,35]},{1:[2,3]},{1:[2,4],4:36,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,6],5:[2,6],8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:40,8:[1,38],9:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12]},{7:42,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,41],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:44,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,43],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,1... [truncated message content] |
From: <rob...@us...> - 2012-10-23 21:39:40
|
Revision: 43618 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43618&view=rev Author: robertplummer Date: 2012-10-23 21:39:30 +0000 (Tue, 23 Oct 2012) Log Message: ----------- [FIX] Fixes for lists and links to both pass tests, and aesthetically look correct Modified Paths: -------------- branches/10.x/lib/core/JisonParser/Wiki/Handler.php branches/10.x/lib/core/JisonParser/Wiki/List.php branches/10.x/lib/core/JisonParser/Wiki.jison branches/10.x/lib/core/JisonParser/Wiki.js branches/10.x/lib/core/JisonParser/Wiki.php branches/10.x/lib/test/core/JisonParser/Abstract.php branches/10.x/lib/test/core/JisonParser/OutputTest.php Removed Paths: ------------- branches/10.x/lib/core/JisonParser/Wiki/Link.php Modified: branches/10.x/lib/core/JisonParser/Wiki/Handler.php =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 21:23:18 UTC (rev 43617) +++ branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 21:39:30 UTC (rev 43618) @@ -392,8 +392,6 @@ //$output = preg_replace("/^(([<]br [\/][>])?([\n][\r]|[\n\r]))/", "", $output); $output = preg_replace("/(([<]br [\/][>])?([\n][\r]|[\r][\n]|[\n\r]))$/", "", $output); - $output = $this->unprotectSpecialChars($output); - if ( $this->getOption('parseLists') == true) { $lists = $this->Parser->list->toHtml(); if (!empty($lists)) { @@ -421,6 +419,7 @@ if ($this->Parser->parseDepth == 0) { ini_set("pcre.recursion_limit", $this->pcreRecursionLimit); + $output = $this->unprotectSpecialChars($output); } } @@ -1164,8 +1163,16 @@ $parts = explode('|', $content); $page = (isset($parts[0]) ? $parts[0] : $content); - $description = (isset($parts[1]) ? $parts[1] : null); + array_shift($parts); + $description = implode('|', $parts); + if (!empty($description)) { + $feature_wikiwords = $prefs['feature_wikiwords']; + $prefs['feature_wikiwords'] = 'n'; + $description = $this->parse($description); + $prefs['feature_wikiwords'] = $feature_wikiwords; + } + return JisonParser_Wiki_Link::page($page, $this->Parser) ->setNamespace($this->getOption('namespace')) ->setDescription($description) Deleted: branches/10.x/lib/core/JisonParser/Wiki/Link.php =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 21:23:18 UTC (rev 43617) +++ branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 21:39:30 UTC (rev 43618) @@ -1,268 +0,0 @@ -<?php -// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project -// -// All Rights Reserved. See copyright.txt for details and a complete list of authors. -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. -// $Id$ - -class JisonParser_Wiki_Link -{ - public $page; - public $pageLink; - public $type; - public $namespace; - public $namespaceSeparator; - public $description; - public $reltype; - public $processPlural = false; - public $anchor; - public $language; - public $suppressIcons; - public $skipPageCache = false; - public $parser; - - static $externals = false; - - function __construct() - { - global $prefs; - - $this->namespaceSeparator = $prefs['namespace_separator']; - } - - static function page($page, &$parser, $namespace = '') - { - $link = new self(); - - $link->page = $page; - - $link->parser = &$parser; - - $link->setDescription($page); - - // HTML entities encoding breaks page lookup - $link->pageLink = html_entity_decode($page, ENT_COMPAT, 'UTF-8'); - - if (!empty($namespace)) { - $link->namespace = $namespace; - } - - return $link; - } - - public function setType($type) - { - $this->type = $type; - - return $this; - } - - - public function setNamespace($namespace) - { - $this->namespace = $namespace; - - return $this; - } - - public function setDescription($description) - { - global $prefs; - - if (!empty($description)) { - $feature_wikiwords = $prefs['feature_wikiwords']; - $prefs['feature_wikiwords'] = 'n'; - - //$this->description = $this->parser->parse($description); - $this->description = $description; - - $prefs['feature_wikiwords'] = $feature_wikiwords; - } - - return $this; - } - - public function processPlural($processPlural) - { - $this->processPlural = $processPlural; - - return $this; - } - - public function setSuppressIcons($suppressIcons) - { - $this->suppressIcons = $suppressIcons; - - return $this; - } - - public function setSkipPageCache($skipPageCache) - { - $this->skipPageCache = $skipPageCache; - - return $this; - } - - function parse() - { - switch ($this->type) { - case 'np': - break; - case 'alias': - $this->reltype = $this->type; - break; - case 'word': - break; - case 'external': - return $this->external(); - break; - } - - return $this->getHtml(); - } - - function external() - { - global $tikilib, $prefs, $smarty; - - $target = ''; - $class = 'wiki'; - $ext_icon = ''; - $rel = ''; - $cached = ''; - - if ($prefs['popupLinks'] == 'y') { - $target = '_blank"'; - } - - if (!strstr($this->page, '://')) { - $target = ''; - } else { - $class .= ' external'; - if ($prefs['feature_wiki_ext_icon'] == 'y' && !$this->suppressIcons) { - include_once('lib/smarty_tiki/function.icon.php'); - $ext_icon = smarty_function_icon(array('_id'=>'external_link', 'alt'=>tra('(external link)'), '_class' => 'externallink', '_extension' => 'gif', '_defaultdir' => 'img/icons', 'width' => 15, 'height' => 14), $smarty); - } - $rel='external'; - if ($prefs['feature_wiki_ext_rel_nofollow'] == 'y') { - $rel .= ' nofollow'; - } - } - - if ($prefs['cachepages'] == 'y' && $tikilib->is_cached($this->page)) { - $cached = " <a class=\"wikicache\" target=\"_blank\" href=\"tiki-view_cache.php?url=".urlencode($this->pageLink)."\">(cache)</a>"; - } - - return '<a class="' . $class . '"' . - (!empty($target) ? ' target="' . $target . '"' : '') . - ' href="' . $this->page . - (!empty($rel) ? '" rel="' . $rel : '') . '">' . $this->description . '</a>' . $ext_icon . $cached; - } - - function getHtml() - { - global $tikilib, $prefs; - $wikilib = TikiLib::lib('wiki'); - - // Fetch all externals once - if ( false === self::$externals ) { - self::$externals = $tikilib->fetchMap('SELECT LOWER(`name`), `extwiki` FROM `tiki_extwiki`'); - } - - $link = new WikiParser_OutputLink; - $link->setIdentifier($this->pageLink); - $link->setNamespace($this->namespace, $prefs['namespace_separator']); - $link->setQualifier($this->reltype); - $link->setDescription($this->description); - $link->setWikiLookup(array( &$this, 'findWikiPage' )); - $link->setWikiLinkBuilder( - function () - { - $wikilib = TikiLib::lib('wiki'); - return $wikilib->sefurl($this->page); - } - ); - $link->setExternals(self::$externals); - $link->setHandlePlurals($this->processPlural); - $link->setAnchor($this->anchor); - - if ( $prefs['feature_multilingual'] == 'y' && isset( $GLOBALS['pageLang'] ) ) { - $link->setLanguage($GLOBALS['pageLang']); - } - - return $link->getHtml(); - } - - public function setExtras($extras = array()) - { - foreach($extras as $key => $value) { - $this->$key = $value; - } - - return $this; - } - - function findWikiPage() - { - global $prefs; - $tikilib = TikiLib::lib('tiki'); - $page_info = $tikilib->get_page_info($this->page, false); - - if ( $page_info !== false ) { - return $page_info; - } - - // If page does not exist directly, attempt to find an alias - if ( $prefs['feature_wiki_pagealias'] == 'y' ) { - $semanticlib = TikiLib::lib('semantic'); - - $toPage = $this->page; - $tokens = explode(',', $prefs['wiki_pagealias_tokens']); - - $prefixes = explode(',', $prefs["wiki_prefixalias_tokens"]); - foreach ($prefixes as $p) { - $p = trim($p); - if (strlen($p) > 0 && TikiLib::strtolower(substr($this->page, 0, strlen($p))) == TikiLib::strtolower($p)) { - $toPage = $p; - $tokens = 'prefixalias'; - } - } - - $links = $semanticlib->getLinksUsing( - $tokens, - array( 'toPage' => $toPage ) - ); - - if ( count($links) > 1 ) { - // There are multiple aliases for this page. Need to disambiguate. - // - // When feature_likePages is set, trying to display the alias itself will - // display an error page with the list of aliased pages in the "like pages" section. - // This allows the user to pick the appropriate alias. - // So, leave the $pageName to the alias. - // - // If feature_likePages is not set, then the user will only see that the page does not - // exist. So it's better to just pick the first one. - // - if ($prefs['feature_likePages'] == 'y' || $tokens == 'prefixalias') { - // Even if there is more then one match, if prefix is being redirected then better - // to fail than to show possibly wrong page - return true; - } else { - // If feature_likePages is NOT set, then trying to display the first one is fine - // $pageName is by ref so it does get replaced - $pageName = $links[0]['fromPage']; - return $tikilib->get_page_info($this->page, true); - } - } elseif (count($links)) { - // there is exactly one match - if ($prefs['feature_wiki_1like_redirection'] == 'y') { - return true; - } else { - $pageName = $links[0]['fromPage']; - return $tikilib->get_page_info($this->page, true); - } - } - } - } -} \ No newline at end of file Modified: branches/10.x/lib/core/JisonParser/Wiki/List.php =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 21:23:18 UTC (rev 43617) +++ branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 21:39:30 UTC (rev 43618) @@ -94,66 +94,122 @@ return $lists; } - private function toHtmlChildren(&$stack, $html = "") + private function toHtmlChildren(&$stack) { - $result = ''; - $style = ''; - $parentTagType = 'ul'; - $id = $this->id(); - $lastListType = ''; + global $headerlib; + $length = count($stack); + if ($length < 1) return ''; //if there isn't anything in this list, don't process it + $lastParentTagType = ''; + $lastType = ''; + $id = ''; + $html = ''; - for ($i = 0, $length = count($stack); $i < $length; $i++) { + for ($i = 0; $i < $length; $i++) { if (isset($stack[$i]) && empty($stack[$i]['content']) == false) { - if (empty($style)) { - switch($stack[$i]['type']) { - case '-': - $style = 'display: none;'; - $html = '<br />' . "\n" . '<a id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id . '\');" class="link">[+]</a>'; - case '+': - if ($lastListType == '') { - $lastListType = "*"; - $stack[$i]['type'] = "*"; - } - case '*': - $result .= '<li class="tikiListItem">' . $stack[$i]['content']; - if (!empty($stack[$i]['children'])) { - $result .= $this->toHtmlChildren($stack[$i]['children']); - } - $result .= $this->advanceUntilNotType($i, $stack); - $result .= '</li>' . "\n"; - break; - case '#': - $parentTagType = 'ol'; - $result .= '<li class="tikiListItem">' . $stack[$i]['content']; - if (!empty($stack[$i]['children'])) { - $result .= $this->toHtmlChildren($stack[$i]['children']); - } - $result .= $this->advanceUntilNotType($i, $stack); - $result .= '</li>' . "\n"; - break; - case ';': - $parentTagType = 'dl'; - $parts = explode(':', $stack[$i]['content']); - $result .= '<dt>' . $parts[0] . '</dt>'; - if (isset($parts[1])) { - $result .= '<dd>' . $parts[1] . '</dd>'; - } - $result .= "\n"; - break; - } + + $html .= $this->writeParentStartTag($stack[$i]['type'], $lastType, $lastParentTagType, $id); + + switch($stack[$i]['type']) { + case '-': + $headerlib->add_css("#" . $id . "{display: none;}"); + case '+': + case '*': + $html .= '<li class="tikiListItem">' . $stack[$i]['content']; + if (!empty($stack[$i]['children'])) { + $html .= $this->toHtmlChildren($stack[$i]['children']); + } + $html .= $this->advanceUntilNotType($i, $stack); + $html .= '</li>' . "\n"; + break; + case '#': + $html .= '<li class="tikiListItem">' . $stack[$i]['content']; + if (!empty($stack[$i]['children'])) { + $html .= $this->toHtmlChildren($stack[$i]['children']); + } + $html .= $this->advanceUntilNotType($i, $stack); + $html .= '</li>' . "\n"; + break; + case ';': + $parts = explode(':', $stack[$i]['content']); + $html .= '<dt>' . $parts[0] . '</dt>'; + if (isset($parts[1])) { + $html .= '<dd>' . $parts[1] . '</dd>'; + } + $html .= "\n"; + break; } } + } - if (isset($stack[$i]['type'])) { - $lastListType = $stack[$i]['type']; + unset($stack); + + $html .= $this->writeParentEndTag($lastParentTagType); + + return $html; + } + + private function writeParentStartTag($listType, &$lastListType, &$parentTagType, &$id) + { + $result = ''; + if ($listType != $lastListType && $this->lineCompatibility($listType, $lastListType) != true) { + $preTag = ''; + if (empty($parentTagType) == false) { + $result .= $this->writeParentEndTag($parentTagType); } + + $parentTagType = $this->parentTagType($listType); + + $id = $this->id(); + + if ($listType == "-") { + $preTag = '<br />' . "\n" . '<a id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id . '\');" class="link">[+]</a>'; + } + + $lastListType = $listType; + $result .= $preTag . '<' . $parentTagType . ' class="tikiList" id="' . $id . '">'; } - unset($stack); + return $result; + } - return $html . '<' . $parentTagType . ' class="tikiList" id="' . $id . '" style="' . $style . '">' . $result . '</' . $parentTagType . '>'; + private function lineCompatibility($thisListType = '', $lastListType = '') + { + if ( + ($lastListType == "*" && $thisListType == "+") || + ($lastListType == "+" && $thisListType == "*") + ) { + return true; + } + + if ($lastListType == $thisListType) { + return true; + } + + return false; } + private function writeParentEndTag($parentTagType) + { + return '</' . $parentTagType . '>'; + } + + private function parentTagType($listType = '') + { + switch ($listType) { + case '-': + case '+': + case '*': + return 'ul'; + break; + case '#': + return 'ol'; + break; + case ';': + return 'dl'; + break; + } + } + private function advanceUntilNotType(&$i, &$stack, $type = "+", $wrapping = array("<br />", "\n")) { $result = ''; Modified: branches/10.x/lib/core/JisonParser/Wiki.jison =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 21:23:18 UTC (rev 43617) +++ branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 21:39:30 UTC (rev 43618) @@ -222,11 +222,19 @@ "---" %{ - return 'HORIZONTAL_BAR'; + if (parser.isContent()) return 'CONTENT'; //js + return 'HORIZONTAL_BAR'; //js + + //php if ($this->isContent()) return 'CONTENT'; + //php return 'HORIZONTAL_BAR'; %} "%%%" %{ - return 'FORCED_LINE_END'; + if (parser.isContent()) return 'CONTENT'; //js + return 'FORCED_LINE_END'; //js + + //php if ($this->isContent()) return 'CONTENT'; + //php return 'FORCED_LINE_END'; %} @@ -622,12 +630,12 @@ if (parser.isContent(['linkStack'])) return 'CONTENT'; //js parser.linkStack = false; //js lexer.popState(); //js - return 'LINK_END'; //js + return 'WIKILINK_END'; //js //php if ($this->isContent(array('linkStack'))) return 'CONTENT'; //php $this->linkStack = false; //php $this->popState(); - //php return 'LINK_END'; + //php return 'WIKILINK_END'; %} "((" %{ @@ -635,13 +643,13 @@ parser.linkStack = true; //js lexer.begin('wikilink'); //js $yytext = 'wiki'; //js - return 'LINK_START'; //js + return 'WIKILINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); //php $yytext = 'wiki'; - //php return 'LINK_START'; + //php return 'WIKILINK_START'; %} "))" %{ @@ -649,13 +657,13 @@ parser.linkStack = true; //js lexer.begin('wikilink'); //js $yytext = 'np'; //js - return 'LINK_START'; //js + return 'WIKILINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); //php $yytext = 'np'; - //php return 'LINK_START'; + //php return 'WIKILINK_START'; %} "("{WIKI_LINK_TYPE}"(" %{ @@ -663,13 +671,13 @@ parser.linkStack = true; //js lexer.begin('wikilink'); //js $yytext = $yytext.substring(1, $yytext.length - 1); //js - return 'LINK_START'; //js + return 'WIKILINK_START'; //js //php if ($this->isContent()) return 'CONTENT'; //php $this->linkStack = true; //php $this->begin('wikilink'); //php $yytext = substr($yytext, 1, -1); - //php return 'LINK_START'; + //php return 'WIKILINK_START'; %} {CAPITOL_WORD} %{ @@ -875,11 +883,6 @@ $$ = parser.link($1, $2); //js //php $$ = $this->link($1, $2); } -| LINK - { - $$ = parser.link('word', $1); //js - //php $$ = $this->link('word', $1); - } | STRIKE_START STRIKE_END | STRIKE_START contents STRIKE_END { @@ -909,6 +912,17 @@ $$ = parser.underscore($2); //js //php $$ = $this->underscore($2); } + | WIKILINK_START WIKILINK_END + | WIKILINK_START contents WIKILINK_END + { + $$ = parser.link($1, $2); //js + //php $$ = $this->link($1, $2); + } + | WIKILINK + { + $$ = parser.link('word', $1); //js + //php $$ = $this->link('word', $1); + } | INLINE_PLUGIN { $$ = parser.plugin($1); //js Modified: branches/10.x/lib/core/JisonParser/Wiki.js =================================================================== --- branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 21:23:18 UTC (rev 43617) +++ branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 21:39:30 UTC (rev 43618) @@ -2,9 +2,9 @@ var Wiki = (function(){ var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"LINK":38,"STRIKE_START":39,"STRIKE_END":40,"DOUBLE_DASH":41,"TABLE_START":42,"TABLE_END":43,"TITLEBAR_START":44,"TITLEBAR_END":45,"UNDERSCORE_START":46,"UNDERSCORE_END":47,"INLINE_PLUGIN":48,"PLUGIN_START":49,"PLUGIN_END":50,"LINE_END":51,"FORCED_LINE_END":52,"$accept":0,"$end":1}, -terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"LINK",39:"STRIKE_START",40:"STRIKE_END",41:"DOUBLE_DASH",42:"TABLE_START",43:"TABLE_END",44:"TITLEBAR_START",45:"TITLEBAR_END",46:"UNDERSCORE_START",47:"UNDERSCORE_END",48:"INLINE_PLUGIN",49:"PLUGIN_START",50:"PLUGIN_END",51:"LINE_END",52:"FORCED_LINE_END"}, -productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], +symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"STRIKE_START":38,"STRIKE_END":39,"DOUBLE_DASH":40,"TABLE_START":41,"TABLE_END":42,"TITLEBAR_START":43,"TITLEBAR_END":44,"UNDERSCORE_START":45,"UNDERSCORE_END":46,"WIKILINK_START":47,"WIKILINK_END":48,"WIKILINK":49,"INLINE_PLUGIN":50,"PLUGIN_START":51,"PLUGIN_END":52,"LINE_END":53,"FORCED_LINE_END":54,"$accept":0,"$end":1}, +terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"STRIKE_START",39:"STRIKE_END",40:"DOUBLE_DASH",41:"TABLE_START",42:"TABLE_END",43:"TITLEBAR_START",44:"TITLEBAR_END",45:"UNDERSCORE_START",46:"UNDERSCORE_END",47:"WIKILINK_START",48:"WIKILINK_END",49:"WIKILINK",50:"INLINE_PLUGIN",51:"PLUGIN_START",52:"PLUGIN_END",53:"LINE_END",54:"FORCED_LINE_END"}, +productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { var $0 = $$.length - 1; @@ -124,43 +124,48 @@ //php this.$ = this->link($$[$0-2], $$[$0-1]); break; -case 38: - this.$ = parser.link('word', $$[$0]); //js - //php this.$ = this->link('word', $$[$0]); - -break; -case 40: +case 39: this.$ = parser.strike($$[$0-1]); //js //php this.$ = this->strike($$[$0-1]); break; -case 41: +case 40: this.$ = parser.doubleDash(); //js //php this.$ = this->doubleDash(); break; -case 43: +case 42: this.$ = parser.tableParser($$[$0-1]); //js //php this.$ = this->tableParser($$[$0-1]); break; -case 45: +case 44: this.$ = parser.titlebar($$[$0-1]); //js //php this.$ = this->titlebar($$[$0-1]); break; -case 47: +case 46: this.$ = parser.underscore($$[$0-1]); //js //php this.$ = this->underscore($$[$0-1]); break; case 48: + this.$ = parser.link($$[$0-2], $$[$0-1]); //js + //php this.$ = this->link($$[$0-2], $$[$0-1]); + +break; +case 49: + this.$ = parser.link('word', $$[$0]); //js + //php this.$ = this->link('word', $$[$0]); + +break; +case 50: this.$ = parser.plugin($$[$0]); //js //php this.$ = this->plugin($$[$0]); break; -case 49: +case 51: $$[$0].body = ''; //js this.$ = parser.plugin($$[$0]); //js @@ -168,7 +173,7 @@ //php this.$ = this->plugin($$[$0]); break; -case 50: +case 52: $$[$0].body = $$[$0-1]; //js this.$ = parser.plugin($$[$0]); //js @@ -176,25 +181,25 @@ //php this.$ = this->plugin($$[$0]); break; -case 51: +case 53: this.$ = parser.line($$[$0]); //js //php this.$ = this->line($$[$0]); break; -case 52: +case 54: this.$ = parser.forcedLineEnd(); //js //php this.$ = this->forcedLineEnd(); break; -case 53: +case 55: this.$ = parser.block($$[$0-2] + $$[$0-1]); //js //php this.$ = this->block($$[$0-2] . $$[$0-1]); break; } }, -table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[3]},{1:[2,1],5:[1,35]},{1:[2,3]},{1:[2,4],4:36,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,6],5:[2,6],8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:40,8:[1,38],9:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12]},{7:42,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,41],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:44,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,43],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,18],18:[2,18],19:[2,18],20:[2,18],21:[2,18],22:[2,18],23:[2,18],24:[2,18],25:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],35:[2,18],36:[2,18],37:[2,18],38:[2,18],39:[2,18],40:[2,18],41:[2,18],42:[2,18],43:[2,18],44:[2,18],45:[2,18],46:[2,18],47:[2,18],48:[2,18],49:[2,18],50:[2,18],51:[2,18],52:[2,18]},{1:[2,19],5:[2,19],8:[2,19],9:[2,19],11:[2,19],12:[2,19],13:[2,19],14:[2,19],15:[2,19],16:[2,19],17:[2,19],18:[2,19],19:[2,19],20:[2,19],21:[2,19],22:[2,19],23:[2,19],24:[2,19],25:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],35:[2,19],36:[2,19],37:[2,19],38:[2,19],39:[2,19],40:[2,19],41:[2,19],42:[2,19],43:[2,19],44:[2,19],45:[2,19],46:[2,19],47:[2,19],48:[2,19],49:[2,19],50:[2,19],51:[2,19],52:[2,19]},{1:[2,20],5:[2,20],8:[2,20],9:[2,20],11:[2,20],12:[2,20],13:[2,20],14:[2,20],15:[2,20],16:[2,20],17:[2,20],18:[2,20],19:[2,20],20:[2,20],21:[2,20],22:[2,20],23:[2,20],24:[2,20],25:[2,20],26:[2,20],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],34:[2,20],35:[2,20],36:[2,20],37:[2,20],38:[2,20],39:[2,20],40:[2,20],41:[2,20],42:[2,20],43:[2,20],44:[2,20],45:[2,20],46:[2,20],47:[2,20],48:[2,20],49:[2,20],50:[2,20],51:[2,20],52:[2,20]},{1:[2,21],5:[2,21],8:[2,21],9:[2,21],11:[2,21],12:[2,21],13:[2,21],14:[2,21],15:[2,21],16:[2,21],17:[2,21],18:[2,21],19:[2,21],20:[2,21],21:[2,21],22:[2,21],23:[2,21],24:[2,21],25:[2,21],26:[2,21],27:[2,21],28:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[2,21],35:[2,21],36:[2,21],37:[2,21],38:[2,21],39:[2,21],40:[2,21],41:[2,21],42:[2,21],43:[2,21],44:[2,21],45:[2,21],46:[2,21],47:[2,21],48:[2,21],49:[2,21],50:[2,21],51:[2,21],52:[2,21]},{7:46,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,45],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:48,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,47],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:50,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,49],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:52,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,51],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:54,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,53],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:56,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,55],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:58,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,57],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:60,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,59],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,38],5:[2,38],8:[2,38],9:[2,38],11:[2,38],12:[2,38],13:[2,38],14:[2,38],15:[2,38],16:[2,38],17:[2,38],18:[2,38],19:[2,38],20:[2,38],21:[2,38],22:[2,38],23:[2,38],24:[2,38],25:[2,38],26:[2,38],27:[2,38],28:[2,38],29:[2,38],30:[2,38],31:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],37:[2,38],38:[2,38],39:[2,38],40:[2,38],41:[2,38],42:[2,38],43:[2,38],44:[2,38],45:[2,38],46:[2,38],47:[2,38],48:[2,38],49:[2,38],50:[2,38],51:[2,38],52:[2,38]},{7:62,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,61],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,41],5:[2,41],8:[2,41],9:[2,41],11:[2,41],12:[2,41],13:[2,41],14:[2,41],15:[2,41],16:[2,41],17:[2,41],18:[2,41],19:[2,41],20:[2,41],21:[2,41],22:[2,41],23:[2,41],24:[2,41],25:[2,41],26:[2,41],27:[2,41],28:[2,41],29:[2,41],30:[2,41],31:[2,41],32:[2,41],33:[2,41],34:[2,41],35:[2,41],36:[2,41],37:[2,41],38:[2,41],39:[2,41],40:[2,41],41:[2,41],42:[2,41],43:[2,41],44:[2,41],45:[2,41],46:[2,41],47:[2,41],48:[2,41],49:[2,41],50:[2,41],51:[2,41],52:[2,41]},{7:64,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,63],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:66,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,65],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:68,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,67],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,48],5:[2,48],8:[2,48],9:[2,48],11:[2,48],12:[2,48],13:[2,48],14:[2,48],15:[2,48],16:[2,48],17:[2,48],18:[2,48],19:[2,48],20:[2,48],21:[2,48],22:[2,48],23:[2,48],24:[2,48],25:[2,48],26:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],34:[2,48],35:[2,48],36:[2,48],37:[2,48],38:[2,48],39:[2,48],40:[2,48],41:[2,48],42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],47:[2,48],48:[2,48],49:[2,48],50:[2,48],51:[2,48],52:[2,48]},{7:70,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,69],51:[1,33],52:[1,34]},{1:[2,51],5:[2,51],8:[2,51],9:[2,51],11:[2,51],12:[2,51],13:[2,51],14:[2,51],15:[2,51],16:[2,51],17:[2,51],18:[2,51],19:[2,51],20:[2,51],21:[2,51],22:[2,51],23:[2,51],24:[2,51],25:[2,51],26:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],34:[2,51],35:[2,51],36:[2,51],37:[2,51],38:[2,51],39:[2,51],40:[2,51],41:[2,51],42:[2,51],43:[2,51],44:[2,51],45:[2,51],46:[2,51],47:[2,51],48:[2,51],49:[2,51],50:[2,51],51:[2,51],52:[2,51]},{1:[2,52],5:[2,52],8:[2,52],9:[2,52],11:[2,52],12:[2,52],13:[2,52],14:[2,52],15:[2,52],16:[2,52],17:[2,52],18:[2,52],19:[2,52],20:[2,52],21:[2,52],22:[2,52],23:[2,52],24:[2,52],25:[2,52],26:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],34:[2,52],35:[2,52],36:[2,52],37:[2,52],38:[2,52],39:[2,52],40:[2,52],41:[2,52],42:[2,52],43:[2,52],44:[2,52],45:[2,52],46:[2,52],47:[2,52],48:[2,52],49:[2,52],50:[2,52],51:[2,52],52:[2,52]},{1:[2,2]},{1:[2,5],5:[2,5]},{1:[2,10],5:[2,10],8:[2,10],9:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[2,10],17:[2,10],18:[2,10],19:[2,10],20:[2,10],21:[2,10],22:[2,10],23:[2,10],24:[2,10],25:[2,10],26:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],35:[2,10],36:[2,10],37:[2,10],38:[2,10],39:[2,10],40:[2,10],41:[2,10],42:[2,10],43:[2,10],44:[2,10],45:[2,10],46:[2,10],47:[2,10],48:[2,10],49:[2,10],50:[2,10],51:[2,10],52:[2,10]},{7:71,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,7],5:[2,7],8:[2,7],11:[2,7],12:[2,7],13:[2,7],15:[2,7],17:[2,7],18:[2,7],19:[2,7],20:[2,7],21:[2,7],22:[2,7],24:[2,7],26:[2,7],28:[2,7],30:[2,7],32:[2,7],34:[2,7],36:[2,7],38:[2,7],39:[2,7],41:[2,7],42:[2,7],44:[2,7],46:[2,7],48:[2,7],49:[2,7],51:[2,7],52:[2,7]},{8:[1,38],9:[1,72],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,13],5:[2,13],8:[2,13],9:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],17:[2,13],18:[2,13],19:[2,13],20:[2,13],21:[2,13],22:[2,13],23:[2,13],24:[2,13],25:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],35:[2,13],36:[2,13],37:[2,13],38:[2,13],39:[2,13],40:[2,13],41:[2,13],42:[2,13],43:[2,13],44:[2,13],45:[2,13],46:[2,13],47:[2,13],48:[2,13],49:[2,13],50:[2,13],51:[2,13],52:[2,13]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],14:[1,73],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,15],5:[2,15],8:[2,15],9:[2,15],11:[2,15],12:[2,15],13:[2,15],14:[2,15],15:[2,15],16:[2,15],17:[2,15],18:[2,15],19:[2,15],20:[2,15],21:[2,15],22:[2,15],23:[2,15],24:[2,15],25:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],35:[2,15],36:[2,15],37:[2,15],38:[2,15],39:[2,15],40:[2,15],41:[2,15],42:[2,15],43:[2,15],44:[2,15],45:[2,15],46:[2,15],47:[2,15],48:[2,15],49:[2,15],50:[2,15],51:[2,15],52:[2,15]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,74],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,22],5:[2,22],8:[2,22],9:[2,22],11:[2,22],12:[2,22],13:[2,22],14:[2,22],15:[2,22],16:[2,22],17:[2,22],18:[2,22],19:[2,22],20:[2,22],21:[2,22],22:[2,22],23:[2,22],24:[2,22],25:[2,22],26:[2,22],27:[2,22],28:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[2,22],35:[2,22],36:[2,22],37:[2,22],38:[2,22],39:[2,22],40:[2,22],41:[2,22],42:[2,22],43:[2,22],44:[2,22],45:[2,22],46:[2,22],47:[2,22],48:[2,22],49:[2,22],50:[2,22],51:[2,22],52:[2,22]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,75],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,24],5:[2,24],8:[2,24],9:[2,24],11:[2,24],12:[2,24],13:[2,24],14:[2,24],15:[2,24],16:[2,24],17:[2,24],18:[2,24],19:[2,24],20:[2,24],21:[2,24],22:[2,24],23:[2,24],24:[2,24],25:[2,24],26:[2,24],27:[2,24],28:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[2,24],35:[2,24],36:[2,24],37:[2,24],38:[2,24],39:[2,24],40:[2,24],41:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],47:[2,24],48:[2,24],49:[2,24],50:[2,24],51:[2,24],52:[2,24]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,76],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,26],5:[2,26],8:[2,26],9:[2,26],11:[2,26],12:[2,26],13:[2,26],14:[2,26],15:[2,26],16:[2,26],17:[2,26],18:[2,26],19:[2,26],20:[2,26],21:[2,26],22:[2,26],23:[2,26],24:[2,26],25:[2,26],26:[2,26],27:[2,26],28:[2,26],29:[2,26],30:[2,26],31:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],37:[2,26],38:[2,26],39:[2,26],40:[2,26],41:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],47:[2,26],48:[2,26],49:[2,26],50:[2,26],51:[2,26],52:[2,26]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,77],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,28],5:[2,28],8:[2,28],9:[2,28],11:[2,28],12:[2,28],13:[2,28],14:[2,28],15:[2,28],16:[2,28],17:[2,28],18:[2,28],19:[2,28],20:[2,28],21:[2,28],22:[2,28],23:[2,28],24:[2,28],25:[2,28],26:[2,28],27:[2,28],28:[2,28],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],37:[2,28],38:[2,28],39:[2,28],40:[2,28],41:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],47:[2,28],48:[2,28],49:[2,28],50:[2,28],51:[2,28],52:[2,28]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,78],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,30],5:[2,30],8:[2,30],9:[2,30],11:[2,30],12:[2,30],13:[2,30],14:[2,30],15:[2,30],16:[2,30],17:[2,30],18:[2,30],19:[2,30],20:[2,30],21:[2,30],22:[2,30],23:[2,30],24:[2,30],25:[2,30],26:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],37:[2,30],38:[2,30],39:[2,30],40:[2,30],41:[2,30],42:[2,30],43:[2,30],44:[2,30],45:[2,30],46:[2,30],47:[2,30],48:[2,30],49:[2,30],50:[2,30],51:[2,30],52:[2,30]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,79],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,32],5:[2,32],8:[2,32],9:[2,32],11:[2,32],12:[2,32],13:[2,32],14:[2,32],15:[2,32],16:[2,32],17:[2,32],18:[2,32],19:[2,32],20:[2,32],21:[2,32],22:[2,32],23:[2,32],24:[2,32],25:[2,32],26:[2,32],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],34:[2,32],35:[2,32],36:[2,32],37:[2,32],38:[2,32],39:[2,32],40:[2,32],41:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],46:[2,32],47:[2,32],48:[2,32],49:[2,32],50:[2,32],51:[2,32],52:[2,32]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,80],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,34],5:[2,34],8:[2,34],9:[2,34],11:[2,34],12:[2,34],13:[2,34],14:[2,34],15:[2,34],16:[2,34],17:[2,34],18:[2,34],19:[2,34],20:[2,34],21:[2,34],22:[2,34],23:[2,34],24:[2,34],25:[2,34],26:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],34:[2,34],35:[2,34],36:[2,34],37:[2,34],38:[2,34],39:[2,34],40:[2,34],41:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],47:[2,34],48:[2,34],49:[2,34],50:[2,34],51:[2,34],52:[2,34]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,81],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,36],5:[2,36],8:[2,36],9:[2,36],11:[2,36],12:[2,36],13:[2,36],14:[2,36],15:[2,36],16:[2,36],17:[2,36],18:[2,36],19:[2,36],20:[2,36],21:[2,36],22:[2,36],23:[2,36],24:[2,36],25:[2,36],26:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],34:[2,36],35:[2,36],36:[2,36],37:[2,36],38:[2,36],39:[2,36],40:[2,36],41:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],47:[2,36],48:[2,36],49:[2,36],50:[2,36],51:[2,36],52:[2,36]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,82],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,39],5:[2,39],8:[2,39],9:[2,39],11:[2,39],12:[2,39],13:[2,39],14:[2,39],15:[2,39],16:[2,39],17:[2,39],18:[2,39],19:[2,39],20:[2,39],21:[2,39],22:[2,39],23:[2,39],24:[2,39],25:[2,39],26:[2,39],27:[2,39],28:[2,39],29:[2,39],30:[2,39],31:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],37:[2,39],38:[2,39],39:[2,39],40:[2,39],41:[2,39],42:[2,39],43:[2,39],44:[2,39],45:[2,39],46:[2,39],47:[2,39],48:[2,39],49:[2,39],50:[2,39],51:[2,39],52:[2,39]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,83],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,42],5:[2,42],8:[2,42],9:[2,42],11:[2,42],12:[2,42],13:[2,42],14:[2,42],15:[2,42],16:[2,42],17:[2,42],18:[2,42],19:[2,42],20:[2,42],21:[2,42],22:[2,42],23:[2,42],24:[2,42],25:[2,42],26:[2,42],27:[2,42],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],35:[2,42],36:[2,42],37:[2,42],38:[2,42],39:[2,42],40:[2,42],41:[2,42],42:[2,42],43:[2,42],44:[2,42],45:[2,42],46:[2,42],47:[2,42],48:[2,42],49:[2,42],50:[2,42],51:[2,42],52:[2,42]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,84],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,44],5:[2,44],8:[2,44],9:[2,44],11:[2,44],12:[2,44],13:[2,44],14:[2,44],15:[2,44],16:[2,44],17:[2,44],18:[2,44],19:[2,44],20:[2,44],21:[2,44],22:[2,44],23:[2,44],24:[2,44],25:[2,44],26:[2,44],27:[2,44],28:[2,44],29:[2,44],30:[2,44],31:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],37:[2,44],38:[2,44],39:[2,44],40:[2,44],41:[2,44],42:[2,44],43:[2,44],44:[2,44],45:[2,44],46:[2,44],47:[2,44],48:[2,44],49:[2,44],50:[2,44],51:[2,44],52:[2,44]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,85],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,46],5:[2,46],8:[2,46],9:[2,46],11:[2,46],12:[2,46],13:[2,46],14:[2,46],15:[2,46],16:[2,46],17:[2,46],18:[2,46],19:[2,46],20:[2,46],21:[2,46],22:[2,46],23:[2,46],24:[2,46],25:[2,46],26:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,46],35:[2,46],36:[2,46],37:[2,46],38:[2,46],39:[2,46],40:[2,46],41:[2,46],42:[2,46],43:[2,46],44:[2,46],45:[2,46],46:[2,46],47:[2,46],48:[2,46],49:[2,46],50:[2,46],51:[2,46],52:[2,46]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,86],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,49],5:[2,49],8:[2,49],9:[2,49],11:[2,49],12:[2,49],13:[2,49],14:[2,49],15:[2,49],16:[2,49],17:[2,49],18:[2,49],19:[2,49],20:[2,49],21:[2,49],22:[2,49],23:[2,49],24:[2,49],25:[2,49],26:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],34:[2,49],35:[2,49],36:[2,49],37:[2,49],38:[2,49],39:[2,49],40:[2,49],41:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],47:[2,49],48:[2,49],49:[2,49],50:[2,49],51:[2,49],52:[2,49]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,87],51:[1,33],52:[1,34]},{8:[1,38],9:[1,88],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,8],5:[2,8],8:[2,8],11:[2,8],12:[2,8],13:[2,8],15:[2,8],17:[2,8],18:[2,8],19:[2,8],20:[2,8],21:[2,8],22:[2,8],24:[2,8],26:[2,8],28:[2,8],30:[2,8],32:[2,8],34:[2,8],36:[2,8],38:[2,8],39:[2,8],41:[2,8],42:[2,8],44:[2,8],46:[2,8],48:[2,8],49:[2,8],51:[2,8],52:[2,8]},{1:[2,14],5:[2,14],8:[2,14],9:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],17:[2,14],18:[2,14],19:[2,14],20:[2,14],21:[2,14],22:[2,14],23:[2,14],24:[2,14],25:[2,14],26:[2,14],27:[2,14],28:[2,14],29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],34:[2,14],35:[2,14],36:[2,14],37:[2,14],38:[2,14],39:[2,14],40:[2,14],41:[2,14],42:[2,14],43:[2,14],44:[2,14],45:[2,14],46:[2,14],47:[2,14],48:[2,14],49:[2,14],50:[2,14],51:[2,14],52:[2,14]},{1:[2,16],5:[2,16],8:[2,16],9:[2,16],11:[2,16],12:[2,16],13:[2,16],14:[2,16],15:[2,16],16:[2,16],17:[2,16],18:[2,16],19:[2,16],20:[2,16],21:[2,16],22:[2,16],23:[2,16],24:[2,16],25:[2,16],26:[2,16],27:[2,16],28:[2,16],29:[2,16],30:[2,16],31:[2,16],32:[2,16],33:[2,16],34:[2,16],35:[2,16],36:[2,16],37:[2,16],38:[2,16],39:[2,16],40:[2,16],41:[2,16],42:[2,16],43:[2,16],44:[2,16],45:[2,16],46:[2,16],47:[2,16],48:[2,16],49:[2,16],50:[2,16],51:[2,16],52:[2,16]},{1:[2,23],5:[2,23],8:[2,23],9:[2,23],11:[2,23],12:[2,23],13:[2,23],14:[2,23],15:[2,23],16:[2,23],17:[2,23],18:[2,23],19:[2,23],20:[2,23],21:[2,23],22:[2,23],23:[2,23],24:[2,23],25:[2,23],26:[2,23],27:[2,23],28:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],34:[2,23],35:[2,23],36:[2,23],37:[2,23],38:[2,23],39:[2,23],40:[2,23],41:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],47:[2,23],48:[2,23],49:[2,23],50:[2,23],51:[2,23],52:[2,23]},{1:[2,25],5:[2,25],8:[2,25],9:[2,25],11:[2,25],12:[2,25],13:[2,25],14:[2,25],15:[2,25],16:[2,25],17:[2,25],18:[2,25],19:[2,25],20:[2,25],21:[2,25],22:[2,25],23:[2,25],24:[2,25],25:[2,25],26:[2,25],27:[2,25],28:[2,25],29:[2,25],30:[2,25],31:[2,25],32:[2,25],33:[2,25],34:[2,25],35:[2,25],36:[2,25],37:[2,25],38:[2,25],39:[2,25],40:[2,25],41:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],47:[2,25],48:[2,25],49:[2,25],50:[2,25],51:[2,25],52:[2,25]},{1:[2,27],5:[2,27],8:[2,27],9:[2,27],11:[2,27],12:[2,27],13:[2,27],14:[2,27],15:[2,27],16:[2,27],17:[2,27],18:[2,27],19:[2,27],20:[2,27],21:[2,27],22:[2,27],23:[2,27],24:[2,27],25:[2,27],26:[2,27],27:[2,27],28:[2,27],29:[2,27],30:[2,27],31:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],37:[2,27],38:[2,27],39:[2,27],40:[2,27],41:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],47:[2,27],48:[2,27],49:[2,27],50:[2,27],51:[2,27],52:[2,27]},{1:[2,29],5:[2,29],8:[2,29],9:[2,29],11:[2,29],12:[2,29],13:[2,29],14:[2,29],15:[2,29],16:[2,29],17:[2,29],18:[2,29],19:[2,29],20:[2,29],21:[2,29],22:[2,29],23:[2,29],24:[2,29],25:[2,29],26:[2,29],27:[2,29],28:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],37:[2,29],38:[2,29],39:[2,29],40:[2,29],41:[2,29],42:[2,29],43:[2,29],44:[2,29],45:[2,29],46:[2,29],47:[2,29],48:[2,29],49:[2,29],50:[2,29],51:[2,29],52:[2,29]},{1:[2,31],5:[2,31],8:[2,31],9:[2,31],11:[2,31],12:[2,31],13:[2,31],14:[2,31],15:[2,31],16:[2,31],17:[2,31],18:[2,31],19:[2,31],20:[2,31],21:[2,31],22:[2,31],23:[2,31],24:[2,31],25:[2,31],26:[2,31],27:[2,31],28:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],37:[2,31],38:[2,31],39:[2,31],40:[2,31],41:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],46:[2,31],47:[2,31],48:[2,31],49:[2,31],50:[2,31],51:[2,31],52:[2,31]},{1:[2,33],5:[2,33],8:[2,33],9:[2,33],11:[2,33],12:[2,33],13:[2,33],14:[2,33],15:[2,33],16:[2,33],17:[2,33],18:[2,33],19:[2,33],20:[2,33],21:[2,33],22:[2,33],23:[2,33],24:[2,33],25:[2,33],26:[2,33],27:[2,33],28:[2,33],29:[2,33],30:[2,33],31:[2,33],32:[2,33],33:[2,33],34:[2,33],35:[2,33],36:[2,33],37:[2,33],38:[2,33],39:[2,33],40:[2,33],41:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],46:[2,33],47:[2,33],48:[2,33],49:[2,33],50:[2,33],51:[2,33],52:[2,33]},{1:[2,35],5:[2,35],8:[2,35],9:[2,35],11:[2,35],12:[2,35],13:[2,35],14:[2,35],15:[2,35],16:[2,35],17:[2,35],18:[2,35],19:[2,35],20:[2,35],21:[2,35],22:[2,35],23:[2,35],24:[2,35],25:[2,35],26:[2,35],27:[2,35],28:[2,35],29:[2,35],30:[2,35],31:[2,35],32:[2,35],33:[2,35],34:[2,35],35:[2,35],36:[2,35],37:[2,35],38:[2,35],39:[2,35],40:[2,35],41:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],47:[2,35],48:[2,35],49:[2,35],50:[2,35],51:[2,35],52:[2,35]},{1:[2,37],5:[2,37],8:[2,37],9:[2,37],11:[2,37],12:[2,37],13:[2,37],14:[2,37],15:[2,37],16:[2,37],17:[2,37],18:[2,37],19:[2,37],20:[2,37],21:[2,37],22:[2,37],23:[2,37],24:[2,37],25:[2,37],26:[2,37],27:[2,37],28:[2,37],29:[2,37],30:[2,37],31:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],37:[2,37],38:[2,37],39:[2,37],40:[2,37],41:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],47:[2,37],48:[2,37],49:[2,37],50:[2,37],51:[2,37],52:[2,37]},{1:[2,40],5:[2,40],8:[2,40],9:[2,40],11:[2,40],12:[2,40],13:[2,40],14:[2,40],15:[2,40],16:[2,40],17:[2,40],18:[2,40],19:[2,40],20:[2,40],21:[2,40],22:[2,40],23:[2,40],24:[2,40],25:[2,40],26:[2,40],27:[2,40],28:[2,40],29:[2,40],30:[2,40],31:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],37:[2,40],38:[2,40],39:[2,40],40:[2,40],41:[2,40],42:[2,40],43:[2,40],44:[2,40],45:[2,40],46:[2,40],47:[2,40],48:[2,40],49:[2,40],50:[2,40],51:[2,40],52:[2,40]},{1:[2,43],5:[2,43],8:[2,43],9:[2,43],11:[2,43],12:[2,43],13:[2,43],14:[2,43],15:[2,43],16:[2,43],17:[2,43],18:[2,43],19:[2,43],20:[2,43],21:[2,43],22:[2,43],23:[2,43],24:[2,43],25:[2,43],26:[2,43],27:[2,43],28:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],37:[2,43],38:[2,43],39:[2,43],40:[2,43],41:[2,43],42:[2,43],43:[2,43],44:[2,43],45:[2,43],46:[2,43],47:[2,43],48:[2,43],49:[2,43],50:[2,43],51:[2,43],52:[2,43]},{1:[2,45],5:[2,45],8:[2,45],9:[2,45],11:[2,45],12:[2,45],13:[2,45],14:[2,45],15:[2,45],16:[2,45],17:[2,45],18:[2,45],19:[2,45],20:[2,45],21:[2,45],22:[2,45],23:[2,45],24:[2,45],25:[2,45],26:[2,45],27:[2,45],28:[2,45],29:[2,45],30:[2,45],31:[2,45],32:[2,45],33:[2,45],34:[2,45],35:[2,45],36:[2,45],37:[2,45],38:[2,45],39:[2,45],40:[2,45],41:[2,45],42:[2,45],43:[2,45],44:[2,45],45:[2,45],46:[2,45],47:[2,45],48:[2,45],49:[2,45],50:[2,45],51:[2,45],52:[2,45]},{1:[2,47],5:[2,47],8:[2,47],9:[2,47],11:[2,47],12:[2,47],13:[2,47],14:[2,47],15:[2,47],16:[2,47],17:[2,47],18:[2,47],19:[2,47],20:[2,47],21:[2,47],22:[2,47],23:[2,47],24:[2,47],25:[2,47],26:[2,47],27:[2,47],28:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],34:[2,47],35:[2,47],36:[2,47],37:[2,47],38:[2,47],39:[2,47],40:[2,47],41:[2,47],42:[2,47],43:[2,47],44:[2,47],45:[2,47],46:[2,47],47:[2,47],48:[2,47],49:[2,47],50:[2,47],51:[2,47],52:[2,47]},{1:[2,50],5:[2,50],8:[2,50],9:[2,50],11:[2,50],12:[2,50],13:[2,50],14:[2,50],15:[2,50],16:[2,50],17:[2,50],18:[2,50],19:[2,50],20:[2,50],21:[2,50],22:[2,50],23:[2,50],24:[2,50],25:[2,50],26:[2,50],27:[2,50],28:[2,50],29:[2,50],30:[2,50],31:[2,50],32:[2,50],33:[2,50],34:[2,50],35:[2,50],36:[2,50],37:[2,50],38:[2,50],39:[2,50],40:[2,50],41:[2,50],42:[2,50],43:[2,50],44:[2,50],45:[2,50],46:[2,50],47:[2,50],48:[2,50],49:[2,50],50:[2,50],51:[2,50],52:[2,50]},{1:[2,53],5:[2,53],8:[2,53],9:[2,53],11:[2,53],12:[2,53],13:[2,53],14:[2,53],15:[2,53],16:[2,53],17:[2,53],18:[2,53],19:[2,53],20:[2,53],21:[2,53],22:[2,53],23:[2,53],24:[2,53],25:[2,53],26:[2,53],27:[2,53],28:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],34:[2,53],35:[2,53],36:[2,53],37:[2,53],38:[2,53],39:[2,53],40:[2,53],41:[2,53],42:[2,53],43:[2,53],44:[2,53],45:[2,53],46:[2,53],47:[2,53],48:[2,53],49:[2,53],50:[2,53],51:[2,53],52:[2,53]}], -defaultActions: {3:[2,3],35:[2,2]}, +table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[3]},{1:[2,1],5:[1,36]},{1:[2,3]},{1:[2,4],4:37,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,6],5:[2,6],8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:41,8:[1,39],9:[1,40],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9],53:[2,9],54:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11],53:[2,11],54:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12],53:[2,12],54:[2,12]},{7:43,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,42],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:45,8:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,44],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17],53:[2,17],54:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,18],18:[2,18],19:[2,18],20:[2,18],21:[2,18],22:[2,18],23:[2,18],24:[2,18],25:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],35:[2,18],36:[2,18... [truncated message content] |
From: Jonny B. <svn...@no...> - 2012-10-24 13:35:22
|
Hi Robert, This or 43612 (maybe) totally breaks anything with wiki parsing in 10.x for me - on r43636 > Fatal error: Class 'JisonParser_Wiki_Link' not found in branches/10.x/lib/core/JisonParser/Wiki/Handler.php on line 1176 This is one of the reasons i don't trust tests, or coders who rely on them so completely - making the tests "look pretty" at the expense of having a functional app seems like a waste of resources. I'll be disabling jison parser now as i have work to do... (have to hack the database i guess). jb On 23 Oct 2012, at 22:39, rob...@us... wrote: > Revision: 43618 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43618&view=rev > Author: robertplummer > Date: 2012-10-23 21:39:30 +0000 (Tue, 23 Oct 2012) > Log Message: > ----------- > [FIX] Fixes for lists and links to both pass tests, and aesthetically look correct > > Modified Paths: > -------------- > branches/10.x/lib/core/JisonParser/Wiki/Handler.php > branches/10.x/lib/core/JisonParser/Wiki/List.php > branches/10.x/lib/core/JisonParser/Wiki.jison > branches/10.x/lib/core/JisonParser/Wiki.js > branches/10.x/lib/core/JisonParser/Wiki.php > branches/10.x/lib/test/core/JisonParser/Abstract.php > branches/10.x/lib/test/core/JisonParser/OutputTest.php > > Removed Paths: > ------------- > branches/10.x/lib/core/JisonParser/Wiki/Link.php > > Modified: branches/10.x/lib/core/JisonParser/Wiki/Handler.php > =================================================================== > --- branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 21:23:18 UTC (rev 43617) > +++ branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 21:39:30 UTC (rev 43618) > @@ -392,8 +392,6 @@ > //$output = preg_replace("/^(([<]br [\/][>])?([\n][\r]|[\n\r]))/", "", $output); > $output = preg_replace("/(([<]br [\/][>])?([\n][\r]|[\r][\n]|[\n\r]))$/", "", $output); > > - $output = $this->unprotectSpecialChars($output); > - > if ( $this->getOption('parseLists') == true) { > $lists = $this->Parser->list->toHtml(); > if (!empty($lists)) { > @@ -421,6 +419,7 @@ > > if ($this->Parser->parseDepth == 0) { > ini_set("pcre.recursion_limit", $this->pcreRecursionLimit); > + $output = $this->unprotectSpecialChars($output); > } > } > > @@ -1164,8 +1163,16 @@ > > $parts = explode('|', $content); > $page = (isset($parts[0]) ? $parts[0] : $content); > - $description = (isset($parts[1]) ? $parts[1] : null); > + array_shift($parts); > + $description = implode('|', $parts); > > + if (!empty($description)) { > + $feature_wikiwords = $prefs['feature_wikiwords']; > + $prefs['feature_wikiwords'] = 'n'; > + $description = $this->parse($description); > + $prefs['feature_wikiwords'] = $feature_wikiwords; > + } > + > return JisonParser_Wiki_Link::page($page, $this->Parser) > ->setNamespace($this->getOption('namespace')) > ->setDescription($description) > > Deleted: branches/10.x/lib/core/JisonParser/Wiki/Link.php > =================================================================== > --- branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 21:23:18 UTC (rev 43617) > +++ branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 21:39:30 UTC (rev 43618) > @@ -1,268 +0,0 @@ > -<?php > -// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project > -// > -// All Rights Reserved. See copyright.txt for details and a complete list of authors. > -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. > -// $Id$ > - > -class JisonParser_Wiki_Link > -{ > - public $page; > - public $pageLink; > - public $type; > - public $namespace; > - public $namespaceSeparator; > - public $description; > - public $reltype; > - public $processPlural = false; > - public $anchor; > - public $language; > - public $suppressIcons; > - public $skipPageCache = false; > - public $parser; > - > - static $externals = false; > - > - function __construct() > - { > - global $prefs; > - > - $this->namespaceSeparator = $prefs['namespace_separator']; > - } > - > - static function page($page, &$parser, $namespace = '') > - { > - $link = new self(); > - > - $link->page = $page; > - > - $link->parser = &$parser; > - > - $link->setDescription($page); > - > - // HTML entities encoding breaks page lookup > - $link->pageLink = html_entity_decode($page, ENT_COMPAT, 'UTF-8'); > - > - if (!empty($namespace)) { > - $link->namespace = $namespace; > - } > - > - return $link; > - } > - > - public function setType($type) > - { > - $this->type = $type; > - > - return $this; > - } > - > - > - public function setNamespace($namespace) > - { > - $this->namespace = $namespace; > - > - return $this; > - } > - > - public function setDescription($description) > - { > - global $prefs; > - > - if (!empty($description)) { > - $feature_wikiwords = $prefs['feature_wikiwords']; > - $prefs['feature_wikiwords'] = 'n'; > - > - //$this->description = $this->parser->parse($description); > - $this->description = $description; > - > - $prefs['feature_wikiwords'] = $feature_wikiwords; > - } > - > - return $this; > - } > - > - public function processPlural($processPlural) > - { > - $this->processPlural = $processPlural; > - > - return $this; > - } > - > - public function setSuppressIcons($suppressIcons) > - { > - $this->suppressIcons = $suppressIcons; > - > - return $this; > - } > - > - public function setSkipPageCache($skipPageCache) > - { > - $this->skipPageCache = $skipPageCache; > - > - return $this; > - } > - > - function parse() > - { > - switch ($this->type) { > - case 'np': > - break; > - case 'alias': > - $this->reltype = $this->type; > - break; > - case 'word': > - break; > - case 'external': > - return $this->external(); > - break; > - } > - > - return $this->getHtml(); > - } > - > - function external() > - { > - global $tikilib, $prefs, $smarty; > - > - $target = ''; > - $class = 'wiki'; > - $ext_icon = ''; > - $rel = ''; > - $cached = ''; > - > - if ($prefs['popupLinks'] == 'y') { > - $target = '_blank"'; > - } > - > - if (!strstr($this->page, '://')) { > - $target = ''; > - } else { > - $class .= ' external'; > - if ($prefs['feature_wiki_ext_icon'] == 'y' && !$this->suppressIcons) { > - include_once('lib/smarty_tiki/function.icon.php'); > - $ext_icon = smarty_function_icon(array('_id'=>'external_link', 'alt'=>tra('(external link)'), '_class' => 'externallink', '_extension' => 'gif', '_defaultdir' => 'img/icons', 'width' => 15, 'height' => 14), $smarty); > - } > - $rel='external'; > - if ($prefs['feature_wiki_ext_rel_nofollow'] == 'y') { > - $rel .= ' nofollow'; > - } > - } > - > - if ($prefs['cachepages'] == 'y' && $tikilib->is_cached($this->page)) { > - $cached = " <a class=\"wikicache\" target=\"_blank\" href=\"tiki-view_cache.php?url=".urlencode($this->pageLink)."\">(cache)</a>"; > - } > - > - return '<a class="' . $class . '"' . > - (!empty($target) ? ' target="' . $target . '"' : '') . > - ' href="' . $this->page . > - (!empty($rel) ? '" rel="' . $rel : '') . '">' . $this->description . '</a>' . $ext_icon . $cached; > - } > - > - function getHtml() > - { > - global $tikilib, $prefs; > - $wikilib = TikiLib::lib('wiki'); > - > - // Fetch all externals once > - if ( false === self::$externals ) { > - self::$externals = $tikilib->fetchMap('SELECT LOWER(`name`), `extwiki` FROM `tiki_extwiki`'); > - } > - > - $link = new WikiParser_OutputLink; > - $link->setIdentifier($this->pageLink); > - $link->setNamespace($this->namespace, $prefs['namespace_separator']); > - $link->setQualifier($this->reltype); > - $link->setDescription($this->description); > - $link->setWikiLookup(array( &$this, 'findWikiPage' )); > - $link->setWikiLinkBuilder( > - function () > - { > - $wikilib = TikiLib::lib('wiki'); > - return $wikilib->sefurl($this->page); > - } > - ); > - $link->setExternals(self::$externals); > - $link->setHandlePlurals($this->processPlural); > - $link->setAnchor($this->anchor); > - > - if ( $prefs['feature_multilingual'] == 'y' && isset( $GLOBALS['pageLang'] ) ) { > - $link->setLanguage($GLOBALS['pageLang']); > - } > - > - return $link->getHtml(); > - } > - > - public function setExtras($extras = array()) > - { > - foreach($extras as $key => $value) { > - $this->$key = $value; > - } > - > - return $this; > - } > - > - function findWikiPage() > - { > - global $prefs; > - $tikilib = TikiLib::lib('tiki'); > - $page_info = $tikilib->get_page_info($this->page, false); > - > - if ( $page_info !== false ) { > - return $page_info; > - } > - > - // If page does not exist directly, attempt to find an alias > - if ( $prefs['feature_wiki_pagealias'] == 'y' ) { > - $semanticlib = TikiLib::lib('semantic'); > - > - $toPage = $this->page; > - $tokens = explode(',', $prefs['wiki_pagealias_tokens']); > - > - $prefixes = explode(',', $prefs["wiki_prefixalias_tokens"]); > - foreach ($prefixes as $p) { > - $p = trim($p); > - if (strlen($p) > 0 && TikiLib::strtolower(substr($this->page, 0, strlen($p))) == TikiLib::strtolower($p)) { > - $toPage = $p; > - $tokens = 'prefixalias'; > - } > - } > - > - $links = $semanticlib->getLinksUsing( > - $tokens, > - array( 'toPage' => $toPage ) > - ); > - > - if ( count($links) > 1 ) { > - // There are multiple aliases for this page. Need to disambiguate. > - // > - // When feature_likePages is set, trying to display the alias itself will > - // display an error page with the list of aliased pages in the "like pages" section. > - // This allows the user to pick the appropriate alias. > - // So, leave the $pageName to the alias. > - // > - // If feature_likePages is not set, then the user will only see that the page does not > - // exist. So it's better to just pick the first one. > - // > - if ($prefs['feature_likePages'] == 'y' || $tokens == 'prefixalias') { > - // Even if there is more then one match, if prefix is being redirected then better > - // to fail than to show possibly wrong page > - return true; > - } else { > - // If feature_likePages is NOT set, then trying to display the first one is fine > - // $pageName is by ref so it does get replaced > - $pageName = $links[0]['fromPage']; > - return $tikilib->get_page_info($this->page, true); > - } > - } elseif (count($links)) { > - // there is exactly one match > - if ($prefs['feature_wiki_1like_redirection'] == 'y') { > - return true; > - } else { > - $pageName = $links[0]['fromPage']; > - return $tikilib->get_page_info($this->page, true); > - } > - } > - } > - } > -} > \ No newline at end of file > > Modified: branches/10.x/lib/core/JisonParser/Wiki/List.php > =================================================================== > --- branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 21:23:18 UTC (rev 43617) > +++ branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 21:39:30 UTC (rev 43618) > @@ -94,66 +94,122 @@ > return $lists; > } > > - private function toHtmlChildren(&$stack, $html = "") > + private function toHtmlChildren(&$stack) > { > - $result = ''; > - $style = ''; > - $parentTagType = 'ul'; > - $id = $this->id(); > - $lastListType = ''; > + global $headerlib; > + $length = count($stack); > + if ($length < 1) return ''; //if there isn't anything in this list, don't process it > + $lastParentTagType = ''; > + $lastType = ''; > + $id = ''; > + $html = ''; > > - for ($i = 0, $length = count($stack); $i < $length; $i++) { > + for ($i = 0; $i < $length; $i++) { > if (isset($stack[$i]) && empty($stack[$i]['content']) == false) { > - if (empty($style)) { > - switch($stack[$i]['type']) { > - case '-': > - $style = 'display: none;'; > - $html = '<br />' . "\n" . '<a id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id . '\');" class="link">[+]</a>'; > - case '+': > - if ($lastListType == '') { > - $lastListType = "*"; > - $stack[$i]['type'] = "*"; > - } > - case '*': > - $result .= '<li class="tikiListItem">' . $stack[$i]['content']; > - if (!empty($stack[$i]['children'])) { > - $result .= $this->toHtmlChildren($stack[$i]['children']); > - } > - $result .= $this->advanceUntilNotType($i, $stack); > - $result .= '</li>' . "\n"; > - break; > - case '#': > - $parentTagType = 'ol'; > - $result .= '<li class="tikiListItem">' . $stack[$i]['content']; > - if (!empty($stack[$i]['children'])) { > - $result .= $this->toHtmlChildren($stack[$i]['children']); > - } > - $result .= $this->advanceUntilNotType($i, $stack); > - $result .= '</li>' . "\n"; > - break; > - case ';': > - $parentTagType = 'dl'; > - $parts = explode(':', $stack[$i]['content']); > - $result .= '<dt>' . $parts[0] . '</dt>'; > - if (isset($parts[1])) { > - $result .= '<dd>' . $parts[1] . '</dd>'; > - } > - $result .= "\n"; > - break; > - } > + > + $html .= $this->writeParentStartTag($stack[$i]['type'], $lastType, $lastParentTagType, $id); > + > + switch($stack[$i]['type']) { > + case '-': > + $headerlib->add_css("#" . $id . "{display: none;}"); > + case '+': > + case '*': > + $html .= '<li class="tikiListItem">' . $stack[$i]['content']; > + if (!empty($stack[$i]['children'])) { > + $html .= $this->toHtmlChildren($stack[$i]['children']); > + } > + $html .= $this->advanceUntilNotType($i, $stack); > + $html .= '</li>' . "\n"; > + break; > + case '#': > + $html .= '<li class="tikiListItem">' . $stack[$i]['content']; > + if (!empty($stack[$i]['children'])) { > + $html .= $this->toHtmlChildren($stack[$i]['children']); > + } > + $html .= $this->advanceUntilNotType($i, $stack); > + $html .= '</li>' . "\n"; > + break; > + case ';': > + $parts = explode(':', $stack[$i]['content']); > + $html .= '<dt>' . $parts[0] . '</dt>'; > + if (isset($parts[1])) { > + $html .= '<dd>' . $parts[1] . '</dd>'; > + } > + $html .= "\n"; > + break; > } > } > + } > > - if (isset($stack[$i]['type'])) { > - $lastListType = $stack[$i]['type']; > + unset($stack); > + > + $html .= $this->writeParentEndTag($lastParentTagType); > + > + return $html; > + } > + > + private function writeParentStartTag($listType, &$lastListType, &$parentTagType, &$id) > + { > + $result = ''; > + if ($listType != $lastListType && $this->lineCompatibility($listType, $lastListType) != true) { > + $preTag = ''; > + if (empty($parentTagType) == false) { > + $result .= $this->writeParentEndTag($parentTagType); > } > + > + $parentTagType = $this->parentTagType($listType); > + > + $id = $this->id(); > + > + if ($listType == "-") { > + $preTag = '<br />' . "\n" . '<a id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id . '\');" class="link">[+]</a>'; > + } > + > + $lastListType = $listType; > + $result .= $preTag . '<' . $parentTagType . ' class="tikiList" id="' . $id . '">'; > } > > - unset($stack); > + return $result; > + } > > - return $html . '<' . $parentTagType . ' class="tikiList" id="' . $id . '" style="' . $style . '">' . $result . '</' . $parentTagType . '>'; > + private function lineCompatibility($thisListType = '', $lastListType = '') > + { > + if ( > + ($lastListType == "*" && $thisListType == "+") || > + ($lastListType == "+" && $thisListType == "*") > + ) { > + return true; > + } > + > + if ($lastListType == $thisListType) { > + return true; > + } > + > + return false; > } > > + private function writeParentEndTag($parentTagType) > + { > + return '</' . $parentTagType . '>'; > + } > + > + private function parentTagType($listType = '') > + { > + switch ($listType) { > + case '-': > + case '+': > + case '*': > + return 'ul'; > + break; > + case '#': > + return 'ol'; > + break; > + case ';': > + return 'dl'; > + break; > + } > + } > + > private function advanceUntilNotType(&$i, &$stack, $type = "+", $wrapping = array("<br />", "\n")) > { > $result = ''; > > Modified: branches/10.x/lib/core/JisonParser/Wiki.jison > =================================================================== > --- branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 21:23:18 UTC (rev 43617) > +++ branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 21:39:30 UTC (rev 43618) > @@ -222,11 +222,19 @@ > > "---" > %{ > - return 'HORIZONTAL_BAR'; > + if (parser.isContent()) return 'CONTENT'; //js > + return 'HORIZONTAL_BAR'; //js > + > + //php if ($this->isContent()) return 'CONTENT'; > + //php return 'HORIZONTAL_BAR'; > %} > "%%%" > %{ > - return 'FORCED_LINE_END'; > + if (parser.isContent()) return 'CONTENT'; //js > + return 'FORCED_LINE_END'; //js > + > + //php if ($this->isContent()) return 'CONTENT'; > + //php return 'FORCED_LINE_END'; > %} > > > @@ -622,12 +630,12 @@ > if (parser.isContent(['linkStack'])) return 'CONTENT'; //js > parser.linkStack = false; //js > lexer.popState(); //js > - return 'LINK_END'; //js > + return 'WIKILINK_END'; //js > > //php if ($this->isContent(array('linkStack'))) return 'CONTENT'; > //php $this->linkStack = false; > //php $this->popState(); > - //php return 'LINK_END'; > + //php return 'WIKILINK_END'; > %} > "((" > %{ > @@ -635,13 +643,13 @@ > parser.linkStack = true; //js > lexer.begin('wikilink'); //js > $yytext = 'wiki'; //js > - return 'LINK_START'; //js > + return 'WIKILINK_START'; //js > > //php if ($this->isContent()) return 'CONTENT'; > //php $this->linkStack = true; > //php $this->begin('wikilink'); > //php $yytext = 'wiki'; > - //php return 'LINK_START'; > + //php return 'WIKILINK_START'; > %} > "))" > %{ > @@ -649,13 +657,13 @@ > parser.linkStack = true; //js > lexer.begin('wikilink'); //js > $yytext = 'np'; //js > - return 'LINK_START'; //js > + return 'WIKILINK_START'; //js > > //php if ($this->isContent()) return 'CONTENT'; > //php $this->linkStack = true; > //php $this->begin('wikilink'); > //php $yytext = 'np'; > - //php return 'LINK_START'; > + //php return 'WIKILINK_START'; > %} > "("{WIKI_LINK_TYPE}"(" > %{ > @@ -663,13 +671,13 @@ > parser.linkStack = true; //js > lexer.begin('wikilink'); //js > $yytext = $yytext.substring(1, $yytext.length - 1); //js > - return 'LINK_START'; //js > + return 'WIKILINK_START'; //js > > //php if ($this->isContent()) return 'CONTENT'; > //php $this->linkStack = true; > //php $this->begin('wikilink'); > //php $yytext = substr($yytext, 1, -1); > - //php return 'LINK_START'; > + //php return 'WIKILINK_START'; > %} > {CAPITOL_WORD} > %{ > @@ -875,11 +883,6 @@ > $$ = parser.link($1, $2); //js > //php $$ = $this->link($1, $2); > } > -| LINK > - { > - $$ = parser.link('word', $1); //js > - //php $$ = $this->link('word', $1); > - } > | STRIKE_START STRIKE_END > | STRIKE_START contents STRIKE_END > { > @@ -909,6 +912,17 @@ > $$ = parser.underscore($2); //js > //php $$ = $this->underscore($2); > } > + | WIKILINK_START WIKILINK_END > + | WIKILINK_START contents WIKILINK_END > + { > + $$ = parser.link($1, $2); //js > + //php $$ = $this->link($1, $2); > + } > + | WIKILINK > + { > + $$ = parser.link('word', $1); //js > + //php $$ = $this->link('word', $1); > + } > | INLINE_PLUGIN > { > $$ = parser.plugin($1); //js > > Modified: branches/10.x/lib/core/JisonParser/Wiki.js > =================================================================== > --- branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 21:23:18 UTC (rev 43617) > +++ branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 21:39:30 UTC (rev 43618) > @@ -2,9 +2,9 @@ > var Wiki = (function(){ > var parser = {trace: function trace() { }, > yy: {}, > -symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"LINK":38,"STRIKE_START":39,"STRIKE_END":40,"DOUBLE_DASH":41,"TABLE_START":42,"TABLE_END":43,"TITLEBAR_START":44,"TITLEBAR_END":45,"UNDERSCORE_START":46,"UNDERSCORE_END":47,"INLINE_PLUGIN":48,"PLUGIN_START":49,"PLUGIN_END":50,"LINE_END":51,"FORCED_LINE_END":52,"$accept":0,"$end":1}, > -terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"LINK",39:"STRIKE_START",40:"STRIKE_END",41:"DOUBLE_DASH",42:"TABLE_START",43:"TABLE_END",44:"TITLEBAR_START",45:"TITLEBAR_END",46:"UNDERSCORE_START",47:"UNDERSCORE_END",48:"INLINE_PLUGIN",49:"PLUGIN_START",50:"PLUGIN_END",51:"LINE_END",52:"FORCED_LINE_END"}, > -productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], > +symbols_: {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"STRIKE_START":38,"STRIKE_END":39,"DOUBLE_DASH":40,"TABLE_START":41,"TABLE_END":42,"TITLEBAR_START":43,"TITLEBAR_END":44,"UNDERSCORE_START":45,"UNDERSCORE_END":46,"WIKILINK_START":47,"WIKILINK_END":48,"WIKILINK":49,"INLINE_PLUGIN":50,"PLUGIN_START":51,"PLUGIN_END":52,"LINE_END":53,"FORCED_LINE_END":54,"$accept":0,"$end":1}, > +terminals_: {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"STRIKE_START",39:"STRIKE_END",40:"DOUBLE_DASH",41:"TABLE_START",42:"TABLE_END",43:"TITLEBAR_START",44:"TITLEBAR_END",45:"UNDERSCORE_START",46:"UNDERSCORE_END",47:"WIKILINK_START",48:"WIKILINK_END",49:"WIKILINK",50:"INLINE_PLUGIN",51:"PLUGIN_START",52:"PLUGIN_END",53:"LINE_END",54:"FORCED_LINE_END"}, > +productions_: [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], > performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { > > var $0 = $$.length - 1; > @@ -124,43 +124,48 @@ > //php this.$ = this->link($$[$0-2], $$[$0-1]); > > break; > -case 38: > - this.$ = parser.link('word', $$[$0]); //js > - //php this.$ = this->link('word', $$[$0]); > - > -break; > -case 40: > +case 39: > this.$ = parser.strike($$[$0-1]); //js > //php this.$ = this->strike($$[$0-1]); > > break; > -case 41: > +case 40: > this.$ = parser.doubleDash(); //js > //php this.$ = this->doubleDash(); > > break; > -case 43: > +case 42: > this.$ = parser.tableParser($$[$0-1]); //js > //php this.$ = this->tableParser($$[$0-1]); > > break; > -case 45: > +case 44: > this.$ = parser.titlebar($$[$0-1]); //js > //php this.$ = this->titlebar($$[$0-1]); > > break; > -case 47: > +case 46: > this.$ = parser.underscore($$[$0-1]); //js > //php this.$ = this->underscore($$[$0-1]); > > break; > case 48: > + this.$ = parser.link($$[$0-2], $$[$0-1]); //js > + //php this.$ = this->link($$[$0-2], $$[$0-1]); > + > +break; > +case 49: > + this.$ = parser.link('word', $$[$0]); //js > + //php this.$ = this->link('word', $$[$0]); > + > +break; > +case 50: > this.$ = parser.plugin($$[$0]); //js > > //php this.$ = this->plugin($$[$0]); > > break; > -case 49: > +case 51: > $$[$0].body = ''; //js > this.$ = parser.plugin($$[$0]); //js > > @@ -168,7 +173,7 @@ > //php this.$ = this->plugin($$[$0]); > > break; > -case 50: > +case 52: > $$[$0].body = $$[$0-1]; //js > this.$ = parser.plugin($$[$0]); //js > > @@ -176,25 +181,25 @@ > //php this.$ = this->plugin($$[$0]); > > break; > -case 51: > +case 53: > this.$ = parser.line($$[$0]); //js > //php this.$ = this->line($$[$0]); > > break; > -case 52: > +case 54: > this.$ = parser.forcedLineEnd(); //js > //php this.$ = this->forcedLineEnd(); > > break; > -case 53: > +case 55: > this.$ = parser.block($$[$0-2] + $$[$0-1]); //js > //php this.$ = this->block($$[$0-2] . $$[$0-1]); > > break; > } > }, > -table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[3]},{1:[2,1],5:[1,35]},{1:[2,3]},{1:[2,4],4:36,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,6],5:[2,6],8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:40,8:[1,38],9:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12]},{7:42,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,41],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:44,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,43],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,18],18:[2,18],19:[2,18],20:[2,18],21:[2,18],22:[2,18],23:[2,18],24:[2,18],25:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],35:[2,18],36:[2,18],37:[2,18],38:[2,18],39:[2,18],40:[2,18],41:[2,18],42:[2,18],43:[2,18],44:[2,18],45:[2,18],46:[2,18],47:[2,18],48:[2,18],49:[2,18],50:[2,18],51:[2,18],52:[2,18]},{1:[2,19],5:[2,19],8:[2,19],9:[2,19],11:[2,19],12:[2,19],13:[2,19],14:[2,19],15:[2,19],16:[2,19],17:[2,19],18:[2,19],19:[2,19],20:[2,19],21:[2,19],22:[2,19],23:[2,19],24:[2,19],25:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],35:[2,19],36:[2,19],37:[2,19],38:[2,19],39:[2,19],40:[2,19],41:[2,19],42:[2,19],43:[2,19],44:[2,19],45:[2,19],46:[2,19],47:[2,19],48:[2,19],49:[2,19],50:[2,19],51:[2,19],52:[2,19]},{1:[2,20],5:[2,20],8:[2,20],9:[2,20],11:[2,20],12:[2,20],13:[2,20],14:[2,20],15:[2,20],16:[2,20],17:[2,20],18:[2,20],19:[2,20],20:[2,20],21:[2,20],22:[2,20],23:[2,20],24:[2,20],25:[2,20],26:[2,20],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],34:[2,20],35:[2,20],36:[2,20],37:[2,20],38:[2,20],39:[2,20],40:[2,20],41:[2,20],42:[2,20],43:[2,20],44:[2,20],45:[2,20],46:[2,20],47:[2,20],48:[2,20],49:[2,20],50:[2,20],51:[2,20],52:[2,20]},{1:[2,21],5:[2,21],8:[2,21],9:[2,21],11:[2,21],12:[2,21],13:[2,21],14:[2,21],15:[2,21],16:[2,21],17:[2,21],18:[2,21],19:[2,21],20:[2,21],21:[2,21],22:[2,21],23:[2,21],24:[2,21],25:[2,21],26:[2,21],27:[2,21],28:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[2,21],35:[2,21],36:[2,21],37:[2,21],38:[2,21],39:[2,21],40:[2,21],41:[2,21],42:[2,21],43:[2,21],44:[2,21],45:[2,21],46:[2,21],47:[2,21],48:[2,21],49:[2,21],50:[2,21],51:[2,21],52:[2,21]},{7:46,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,45],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:48,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,47],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:50,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,49],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:52,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,51],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:54,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,53],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:56,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,55],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:58,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,57],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:60,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,59],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,38],5:[2,38],8:[2,38],9:[2,38],11:[2,38],12:[2,38],13:[2,38],14:[2,38],15:[2,38],16:[2,38],17:[2,38],18:[2,38],19:[2,38],20:[2,38],21:[2,38],22:[2,38],23:[2,38],24:[2,38],25:[2,38],26:[2,38],27:[2,38],28:[2,38],29:[2,38],30:[2,38],31:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],37:[2,38],38:[2,38],39:[2,38],40:[2,38],41:[2,38],42:[2,38],43:[2,38],44:[2,38],45:[2,38],46:[2,38],47:[2,38],48:[2,38],49:[2,38],50:[2,38],51:[2,38],52:[2,38]},{7:62,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,61],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,41],5:[2,41],8:[2,41],9:[2,41],11:[2,41],12:[2,41],13:[2,41],14:[2,41],15:[2,41],16:[2,41],17:[2,41],18:[2,41],19:[2,41],20:[2,41],21:[2,41],22:[2,41],23:[2,41],24:[2,41],25:[2,41],26:[2,41],27:[2,41],28:[2,41],29:[2,41],30:[2,41],31:[2,41],32:[2,41],33:[2,41],34:[2,41],35:[2,41],36:[2,41],37:[2,41],38:[2,41],39:[2,41],40:[2,41],41:[2,41],42:[2,41],43:[2,41],44:[2,41],45:[2,41],46:[2,41],47:[2,41],48:[2,41],49:[2,41],50:[2,41],51:[2,41],52:[2,41]},{7:64,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,63],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:66,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,65],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:68,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,67],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,48],5:[2,48],8:[2,48],9:[2,48],11:[2,48],12:[2,48],13:[2,48],14:[2,48],15:[2,48],16:[2,48],17:[2,48],18:[2,48],19:[2,48],20:[2,48],21:[2,48],22:[2,48],23:[2,48],24:[2,48],25:[2,48],26:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],34:[2,48],35:[2,48],36:[2,48],37:[2,48],38:[2,48],39:[2,48],40:[2,48],41:[2,48],42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],47:[2,48],48:[2,48],49:[2,48],50:[2,48],51:[2,48],52:[2,48]},{7:70,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,69],51:[1,33],52:[1,34]},{1:[2,51],5:[2,51],8:[2,51],9:[2,51],11:[2,51],12:[2,51],13:[2,51],14:[2,51],15:[2,51],16:[2,51],17:[2,51],18:[2,51],19:[2,51],20:[2,51],21:[2,51],22:[2,51],23:[2,51],24:[2,51],25:[2,51],26:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],34:[2,51],35:[2,51],36:[2,51],37:[2,51],38:[2,51],39:[2,51],40:[2,51],41:[2,51],42:[2,51],43:[2,51],44:[2,51],45:[2,51],46:[2,51],47:[2,51],48:[2,51],49:[2,51],50:[2,51],51:[2,51],52:[2,51]},{1:[2,52],5:[2,52],8:[2,52],9:[2,52],11:[2,52],12:[2,52],13:[2,52],14:[2,52],15:[2,52],16:[2,52],17:[2,52],18:[2,52],19:[2,52],20:[2,52],21:[2,52],22:[2,52],23:[2,52],24:[2,52],25:[2,52],26:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],34:[2,52],35:[2,52],36:[2,52],37:[2,52],38:[2,52],39:[2,52],40:[2,52],41:[2,52],42:[2,52],43:[2,52],44:[2,52],45:[2,52],46:[2,52],47:[2,52],48:[2,52],49:[2,52],50:[2,52],51:[2,52],52:[2,52]},{1:[2,2]},{1:[2,5],5:[2,5]},{1:[2,10],5:[2,10],8:[2,10],9:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[2,10],17:[2,10],18:[2,10],19:[2,10],20:[2,10],21:[2,10],22:[2,10],23:[2,10],24:[2,10],25:[2,10],26:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],35:[2,10],36:[2,10],37:[2,10],38:[2,10],39:[2,10],40:[2,10],41:[2,10],42:[2,10],43:[2,10],44:[2,10],45:[2,10],46:[2,10],47:[2,10],48:[2,10],49:[2,10],50:[2,10],51:[2,10],52:[2,10]},{7:71,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,7],5:[2,7],8:[2,7],11:[2,7],12:[2,7],13:[2,7],15:[2,7],17:[2,7],18:[2,7],19:[2,7],20:[2,7],21:[2,7],22:[2,7],24:[2,7],26:[2,7],28:[2,7],30:[2,7],32:[2,7],34:[2,7],36:[2,7],38:[2,7],39:[2,7],41:[2,7],42:[2,7],44:[2,7],46:[2,7],48:[2,7],49:[2,7],51:[2,7],52:[2,7]},{8:[1,38],9:[1,72],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,13],5:[2,13],8:[2,13],9:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],17:[2,13],18:[2,13],19:[2,13],20:[2,13],21:[2,13],22:[2,13],23:[2,13],24:[2,13],25:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],35:[2,13],36:[2,13],37:[2,13],38:[2,13],39:[2,13],40:[2,13],41:[2,13],42:[2,13],43:[2,13],44:[2,13],45:[2,13],46:[2,13],47:[2,13],48:[2,13],49:[2,13],50:[2,13],51:[2,13],52:[2,13]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],14:[1,73],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,15],5:[2,15],8:[2,15],9:[2,15],11:[2,15],12:[2,15],13:[2,15],14:[2,15],15:[2,15],16:[2,15],17:[2,15],18:[2,15],19:[2,15],20:[2,15],21:[2,15],22:[2,15],23:[2,15],24:[2,15],25:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],35:[2,15],36:[2,15],37:[2,15],38:[2,15],39:[2,15],40:[2,15],41:[2,15],42:[2,15],43:[2,15],44:[2,15],45:[2,15],46:[2,15],47:[2,15],48:[2,15],49:[2,15],50:[2,15],51:[2,15],52:[2,15]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,74],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,22],5:[2,22],8:[2,22],9:[2,22],11:[2,22],12:[2,22],13:[2,22],14:[2,22],15:[2,22],16:[2,22],17:[2,22],18:[2,22],19:[2,22],20:[2,22],21:[2,22],22:[2,22],23:[2,22],24:[2,22],25:[2,22],26:[2,22],27:[2,22],28:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[2,22],35:[2,22],36:[2,22],37:[2,22],38:[2,22],39:[2,22],40:[2,22],41:[2,22],42:[2,22],43:[2,22],44:[2,22],45:[2,22],46:[2,22],47:[2,22],48:[2,22],49:[2,22],50:[2,22],51:[2,22],52:[2,22]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,75],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,24],5:[2,24],8:[2,24],9:[2,24],11:[2,24],12:[2,24],13:[2,24],14:[2,24],15:[2,24],16:[2,24],17:[2,24],18:[2,24],19:[2,24],20:[2,24],21:[2,24],22:[2,24],23:[2,24],24:[2,24],25:[2,24],26:[2,24],27:[2,24],28:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[2,24],35:[2,24],36:[2,24],37:[2,24],38:[2,24],39:[2,24],40:[2,24],41:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],47:[2,24],48:[2,24],49:[2,24],50:[2,24],51:[2,24],52:[2,24]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,76],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,26],5:[2,26],8:[2,26],9:[2,26],11:[2,26],12:[2,26],13:[2,26],14:[2,26],15:[2,26],16:[2,26],17:[2,26],18:[2,26],19:[2,26],20:[2,26],21:[2,26],22:[2,26],23:[2,26],24:[2,26],25:[2,26],26:[2,26],27:[2,26],28:[2,26],29:[2,26],30:[2,26],31:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],37:[2,26],38:[2,26],39:[2,26],40:[2,26],41:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],47:[2,26],48:[2,26],49:[2,26],50:[2,26],51:[2,26],52:[2,26]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,77],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,28],5:[2,28],8:[2,28],9:[2,28],11:[2,28],12:[2,28],13:[2,28],14:[2,28],15:[2,28],16:[2,28],17:[2,28],18:[2,28],19:[2,28],20:[2,28],21:[2,28],22:[2,28],23:[2,28],24:[2,28],25:[2,28],26:[2,28],27:[2,28],28:[2,28],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],37:[2,28],38:[2,28],39:[2,28],40:[2,28],41:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],47:[2,28],48:[2,28],49:[2,28],50:[2,28],51:[2,28],52:[2,28]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,78],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,30],5:[2,30],8:[2,30],9:[2,30],11:[2,30],12:[2,30],13:[2,30],14:[2,30],15:[2,30],16:[2,30],17:[2,30],18:[2,30],19:[2,30],20:[2,30],21:[2,30],22:[2,30],23:[2,30],24:[2,30],25:[2,30],26:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],37:[2,30],38:[2,30],39:[2,30],40:[2,30],41:[2,30],42:[2,30],43:[2,30],44:[2,30],45:[2,30],46:[2,30],47:[2,30],48:[2,30],49:[2,30],50:[2,30],51:[2,30],52:[2,30]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,79],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,32],5:[2,32],8:[2,32],9:[2,32],11:[2,32],12:[2,32],13:[2,32],14:[2,32],15:[2,32],16:[2,32],17:[2,32],18:[2,32],19:[2,32],20:[2,32],21:[2,32],22:[2,32],23:[2,32],24:[2,32],25:[2,32],26:[2,32],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],34:[2,32],35:[2,32],36:[2,32],37:[2,32],38:[2,32],39:[2,32],40:[2,32],41:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],46:[2,32],47:[2,32],48:[2,32],49:[2,32],50:[2,32],51:[2,32],52:[2,32]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,80],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,34],5:[2,34],8:[2,34],9:[2,34],11:[2,34],12:[2,34],13:[2,34],14:[2,34],15:[2,34],16:[2,34],17:[2,34],18:[2,34],19:[2,34],20:[2,34],21:[2,34],22:[2,34],23:[2,34],24:[2,34],25:[2,34],26:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],34:[2,34],35:[2,34],36:[2,34],37:[2,34],38:[2,34],39:[2,34],40:[2,34],41:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],47:[2,34],48:[2,34],49:[2,34],50:[2,34],51:[2,34],52:[2,34]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,81],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,36],5:[2,36],8:[2,36],9:[2,36],11:[2,36],12:[2,36],13:[2,36],14:[2,36],15:[2,36],16:[2,36],17:[2,36],18:[2,36],19:[2,36],20:[2,36],21:[2,36],22:[2,36],23:[2,36],24:[2,36],25:[2,36],26:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],34:[2,36],35:[2,36],36:[2,36],37:[2,36],38:[2,36],39:[2,36],40:[2,36],41:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],47:[2,36],48:[2,36],49:[2,36],50:[2,36],51:[2,36],52:[2,36]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,82],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,39],5:[2,39],8:[2,39],9:[2,39],11:[2,39],12:[2,39],13:[2,39],14:[2,39],15:[2,39],16:[2,39],17:[2,39],18:[2,39],19:[2,39],20:[2,39],21:[2,39],22:[2,39],23:[2,39],24:[2,39],25:[2,39],26:[2,39],27:[2,39],28:[2,39],29:[2,39],30:[2,39],31:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],37:[2,39],38:[2,39],39:[2,39],40:[2,39],41:[2,39],42:[2,39],43:[2,39],44:[2,39],45:[2,39],46:[2,39],47:[2,39],48:[2,39],49:[2,39],50:[2,39],51:[2,39],52:[2,39]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,83],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,42],5:[2,42],8:[2,42],9:[2,42],11:[2,42],12:[2,42],13:[2,42],14:[2,42],15:[2,42],16:[2,42],17:[2,42],18:[2,42],19:[2,42],20:[2,42],21:[2,42],22:[2,42],23:[2,42],24:[2,42],25:[2,42],26:[2,42],27:[2,42],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],35:[2,42],36:[2,42],37:[2,42],38:[2,42],39:[2,42],40:[2,42],41:[2,42],42:[2,42],43:[2,42],44:[2,42],45:[2,42],46:[2,42],47:[2,42],48:[2,42],49:[2,42],50:[2,42],51:[2,42],52:[2,42]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,84],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,44],5:[2,44],8:[2,44],9:[2,44],11:[2,44],12:[2,44],13:[2,44],14:[2,44],15:[2,44],16:[2,44],17:[2,44],18:[2,44],19:[2,44],20:[2,44],21:[2,44],22:[2,44],23:[2,44],24:[2,44],25:[2,44],26:[2,44],27:[2,44],28:[2,44],29:[2,44],30:[2,44],31:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],37:[2,44],38:[2,44],39:[2,44],40:[2,44],41:[2,44],42:[2,44],43:[2,44],44:[2,44],45:[2,44],46:[2,44],47:[2,44],48:[2,44],49:[2,44],50:[2,44],51:[2,44],52:[2,44]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,85],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,46],5:[2,46],8:[2,46],9:[2,46],11:[2,46],12:[2,46],13:[2,46],14:[2,46],15:[2,46],16:[2,46],17:[2,46],18:[2,46],19:[2,46],20:[2,46],21:[2,46],22:[2,46],23:[2,46],24:[2,46],25:[2,46],26:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,46],35:[2,46],36:[2,46],37:[2,46],38:[2,46],39:[2,46],40:[2,46],41:[2,46],42:[2,46],43:[2,46],44:[2,46],45:[2,46],46:[2,46],47:[2,46],48:[2,46],49:[2,46],50:[2,46],51:[2,46],52:[2,46]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,86],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,49],5:[2,49],8:[2,49],9:[2,49],11:[2,49],12:[2,49],13:[2,49],14:[2,49],15:[2,49],16:[2,49],17:[2,49],18:[2,49],19:[2,49],20:[2,49],21:[2,49],22:[2,49],23:[2,49],24:[2,49],25:[2,49],26:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],34:[2,49],35:[2,49],36:[2,49],37:[2,49],38:[2,49],39:[2,49],40:[2,49],41:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],47:[2,49],48:[2,49],49:[2,49],50:[2,49],51:[2,49],52:[2,49]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,87],51:[1,33],52:[1,34]},{8:[1,38],9:[1,88],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,8],5:[2,8],8:[2,8],11:[2,8],12:[2,8],13:[2,8],15:[2,8],17:[2,8],18:[2,8],19:[2,8],20:[2,8],21:[2,8],22:[2,8],24:[2,8],26:[2,8],28:[2,8],30:[2,8],32:[2,8],34:[2,8],36:[2,8],38:[2,8],39:[2,8],41:[2,8],42:[2,8],44:[2,8],46:[2,8],48:[2,8],49:[2,8],51:[2,8],52:[2,8]},{1:[2,14],5:[2,14],8:[2,14],9:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],17:[2,14],18:[2,14],19:[2,14],20:[2,14],21:[2,14],22:[2,14],23:[2,14],24:[2,14],25:[2,14],26:[2,14],27:[2,14],28:[2,14],29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],34:[2,14],35:[2,14],36:[2,14],37:[2,14],38:[2,14],39:[2,14],40:[2,14],41:[2,14],42:[2,14],43:[2,14],44:[2,14],45:[2,14],46:[2,14],47:[2,14],48:[2,14],49:[2,14],50:[2,14],51:[2,14],52:[2,14]},{1:[2,16],5:[2,16],8:[2,16],9:[2,16],11:[2,16],12:[2,16],13:[2,16],14:[2,16],15:[2,16],16:[2,16],17:[2,16],18:[2,16],19:[2,16],20:[2,16],21:[2,16],22:[2,16],23:[2,16],24:[2,16],25:[2,16],26:[2,16],27:[2,16],28:[2,16],29:[2,16],30:[2,16],31:[2,16],32:[2,16],33:[2,16],34:[2,16],35:[2,16],36:[2,16],37:[2,16],38:[2,16],39:[2,16],40:[2,16],41:[2,16],42:[2,16],43:[2,16],44:[2,16],45:[2,16],46:[2,16],47:[2,16],48:[2,16],49:[2,16],50:[2,16],51:[2,16],52:[2,16]},{1:[2,23],5:[2,23],8:[2,23],9:[2,23],11:[2,23],12:[2,23],13:[2,23],14:[2,23],15:[2,23],16:[2,23],17:[2,23],18:[2,23],19:[2,23],20:[2,23],21:[2,23],22:[2,23],23:[2,23],24:[2,23],25:[2,23],26:[2,23],27:[2,23],28:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],34:[2,23],35:[2,23],36:[2,23],37:[2,23],38:[2,23],39:[2,23],40:[2,23],41:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],47:[2,23],48:[2,23],49:[2,23],50:[2,23],51:[2,23],52:[2,23]},{1:[2,25],5:[2,25],8:[2,25],9:[2,25],11:[2,25],12:[2,25],13:[2,25],14:[2,25],15:[2,25],16:[2,25],17:[2,25],18:[2,25],19:[2,25],20:[2,25],21:[2,25],22:[2,25],23:[2,25],24:[2,25],25:[2,25],26:[2,25],27:[2,25],28:[2,25],29:[2,25],30:[2,25],31:[2,25],32:[2,25],33:[2,25],34:[2,25],35:[2,25],36:[2,25],37:[2,25],38:[2,25],39:[2,25],40:[2,25],41:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],47:[2,25],48:[2,25],49:[2,25],50:[2,25],51:[2,25],52:[2,25]},{1:[2,27],5:[2,27],8:[2,27],9:[2,27],11:[2,27],12:[2,27],13:[2,27],14:[2,27],15:[2,27],16:[2,27],17:[2,27],18:[2,27],19:[2,27],20:[2,27],21:[2,27],22:[2,27],23:[2,27],24:[2,27],25:[2,27],26:[2,27],27:[2,27],28:[2,27],29:[2,27],30:[2,27],31:[2,27],32:[2,27],33:[2,27],34:[2,27],35:[2,27],36:[2,27],37:[2,27],38:[2,27],39:[2,27],40:[2,27],41:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],47:[2,27],48:[2,27],49:[2,27],50:[2,27],51:[2,27],52:[2,27]},{1:[2,29],5:[2,29],8:[2,29],9:[2,29],11:[2,29],12:[2,29],13:[2,29],14:[2,29],15:[2,29],16:[2,29],17:[2,29],18:[2,29],19:[2,29],20:[2,29],21:[2,29],22:[2,29],23:[2,29],24:[2,29],25:[2,29],26:[2,29],27:[2,29],28:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],34:[2,29],35:[2,29],36:[2,29],37:[2,29],38:[2,29],39:[2,29],40:[2,29],41:[2,29],42:[2,29],43:[2,29],44:[2,29],45:[2,29],46:[2,29],47:[2,29],48:[2,29],49:[2,29],50:[2,29],51:[2,29],52:[2,29]},{1:[2,31],5:[2,31],8:[2,31],9:[2,31],11:[2,31],12:[2,31],13:[2,31],14:[2,31],15:[2,31],16:[2,31],17:[2,31],18:[2,31],19:[2,31],20:[2,31],21:[2,31],22:[2,31],23:[2,31],24:[2,31],25:[2,31],26:[2,31],27:[2,31],28:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],34:[2,31],35:[2,31],36:[2,31],37:[2,31],38:[2,31],39:[2,31],40:[2,31],41:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],46:[2,31],47:[2,31],48:[2,31],49:[2,31],50:[2,31],51:[2,31],52:[2,31]},{1:[2,33],5:[2,33],8:[2,33],9:[2,33],11:[2,33],12:[2,33],13:[2,33],14:[2,33],15:[2,33],16:[2,33],17:[2,33],18:[2,33],19:[2,33],20:[2,33],21:[2,33],22:[2,33],23:[2,33],24:[2,33],25:[2,33],26:[2,33],27:[2,33],28:[2,33],29:[2,33],30:[2,33],31:[2,33],32:[2,33],33:[2,33],34:[2,33],35:[2,33],36:[2,33],37:[2,33],38:[2,33],39:[2,33],40:[2,33],41:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],46:[2,33],47:[2,33],48:[2,33],49:[2,33],50:[2,33],51:[2,33],52:[2,33]},{1:[2,35],5:[2,35],8:[2,35],9:[2,35],11:[2,35],12:[2,35],13:[2,35],14:[2,35],15:[2,35],16:[2,35],17:[2,35],18:[2,35],19:[2,35],20:[2,35],21:[2,35],22:[2,35],23:[2,35],24:[2,35],25:[2,35],26:[2,35],27:[2,35],28:[2,35],29:[2,35],30:[2,35],31:[2,35],32:[2,35],33:[2,35],34:[2,35],35:[2,35],36:[2,35],37:[2,35],38:[2,35],39:[2,35],40:[2,35],41:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],47:[2,35],48:[2,35],49:[2,35],50:[2,35],51:[2,35],52:[2,35]},{1:[2,37],5:[2,37],8:[2,37],9:[2,37],11:[2,37],12:[2,37],13:[2,37],14:[2,37],15:[2,37],16:[2,37],17:[2,37],18:[2,37],19:[2,37],20:[2,37],21:[2,37],22:[2,37],23:[2,37],24:[2,37],25:[2,37],26:[2,37],27:[2,37],28:[2,37],29:[2,37],30:[2,37],31:[2,37],32:[2,37],33:[2,37],34:[2,37],35:[2,37],36:[2,37],37:[2,37],38:[2,37],39:[2,37],40:[2,37],41:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],47:[2,37],48:[2,37],49:[2,37],50:[2,37],51:[2,37],52:[2,37]},{1:[2,40],5:[2,40],8:[2,40],9:[2,40],11:[2,40],12:[2,40],13:[2,40],14:[2,40],15:[2,40],16:[2,40],17:[2,40],18:[2,40],19:[2,40],20:[2,40],21:[2,40],22:[2,40],23:[2,40],24:[2,40],25:[2,40],26:[2,40],27:[2,40],28:[2,40],29:[2,40],30:[2,40],31:[2,40],32:[2,40],33:[2,40],34:[2,40],35:[2,40],36:[2,40],37:[2,40],38:[2,40],39:[2,40],40:[2,40],41:[2,40],42:[2,40],43:[2,40],44:[2,40],45:[2,40],46:[2,40],47:[2,40],48:[2,40],49:[2,40],50:[2,40],51:[2,40],52:[2,40]},{1:[2,43],5:[2,43],8:[2,43],9:[2,43],11:[2,43],12:[2,43],13:[2,43],14:[2,43],15:[2,43],16:[2,43],17:[2,43],18:[2,43],19:[2,43],20:[2,43],21:[2,43],22:[2,43],23:[2,43],24:[2,43],25:[2,43],26:[2,43],27:[2,43],28:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],34:[2,43],35:[2,43],36:[2,43],37:[2,43],38:[2,43],39:[2,43],40:[2,43],41:[2,43],42:[2,43],43:[2,43],44:[2,43],45:[2,43],46:[2,43],47:[2,43],48:[2,43],49:[2,43],50:[2,43],51:[2,43],52:[2,43]},{1:[2,45],5:[2,45],8:[2,45],9:[2,45],11:[2,45],12:[2,45],13:[2,45],14:[2,45],15:[2,45],16:[2,45],17:[2,45],18:[2,45],19:[2,45],20:[2,45],21:[2,45],22:[2,45],23:[2,45],24:[2,45],25:[2,45],26:[2,45],27:[2,45],28:[2,45],29:[2,45],30:[2,45],31:[2,45],32:[2,45],33:[2,45],34:[2,45],35:[2,45],36:[2,45],37:[2,45],38:[2,45],39:[2,45],40:[2,45],41:[2,45],42:[2,45],43:[2,45],44:[2,45],45:[2,45],46:[2,45],47:[2,45],48:[2,45],49:[2,45],50:[2,45],51:[2,45],52:[2,45]},{1:[2,47],5:[2,47],8:[2,47],9:[2,47],11:[2,47],12:[2,47],13:[2,47],14:[2,47],15:[2,47],16:[2,47],17:[2,47],18:[2,47],19:[2,47],20:[2,47],21:[2,47],22:[2,47],23:[2,47],24:[2,47],25:[2,47],26:[2,47],27:[2,47],28:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],34:[2,47],35:[2,47],36:[2,47],37:[2,47],38:[2,47],39:[2,47],40:[2,47],41:[2,47],42:[2,47],43:[2,47],44:[2,47],45:[2,47],46:[2,47],47:[2,47],48:[2,47],49:[2,47],50:[2,47],51:[2,47],52:[2,47]},{1:[2,50],5:[2,50],8:[2,50],9:[2,50],11:[2,50],12:[2,50],13:[2,50],14:[2,50],15:[2,50],16:[2,50],17:[2,50],18:[2,50],19:[2,50],20:[2,50],21:[2,50],22:[2,50],23:[2,50],24:[2,50],25:[2,50],26:[2,50],27:[2,50],28:[2,50],29:[2,50],30:[2,50],31:[2,50],32:[2,50],33:[2,50],34:[2,50],35:[2,50],36:[2,50],37:[2,50],38:[2,50],39:[2,50],40:[2,50],41:[2,50],42:[2,50],43:[2,50],44:[2,50],45:[2,50],46:[2,50],47:[2,50],48:[2,50],49:[2,50],50:[2,50],51:[2,50],52:[2,50]},{1:[2,53],5:[2,53],8:[2,53],9:[2,53],11:[2,53],12:[2,53],13:[2,53],14:[2,53],15:[2,53],16:[2,53],17:[2,53],18:[2,53],19:[2,53],20:[2,53],21:[2,53],22:[2,53],23:[2,53],24:[2,53],25:[2,53],26:[2,53],27:[2,53],28:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],34:[2,53],35:[2,53],36:[2,53],37:[2,53],38:[2,53],39:[2,53],40:[2,53],41:[2,53],42:[2,53],43:[2,53],44:[2,53],45:[2,53],46:[2,53],47:[2,53],48:[2,53],49:[2,53],50:[2,53],51:[2,53],52:[2,53]}], > -defaultActions: {3:[2,3],35:[2,2]}, > +table: [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[3]},{1:[2,1],5:[1,36]},{1:[2,3]},{1:[2,4],4:37,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,6],5:[2,6],8:[1,39],10:38,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{7:41,8:[1,39],9:[1,40],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],40:[1,26],41:[1,27],43:[1,28],45:[1,29],47:[1,30],49:[1,31],50:[1,32],51:[1,33],53:[1,34],54:[1,35]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9],53:[2,9],54:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[... [truncated message content] |
From: Robert P. <rob...@gm...> - 2012-10-24 17:15:39
|
Jonny, I believe this was due to the outage from source forge. I committed the file, but either it was rollled back or it didn't go through right as sourceforge went down. When it came back up, I had a TON of conflicts, so I can only assume the commit was partially broken. In any case, look for a fix for this in just a few minutes. So so sorry about the confusion. On Wed, Oct 24, 2012 at 9:35 AM, Jonny Bradley <svn...@no...>wrote: > > Hi Robert, > > This or 43612 (maybe) totally breaks anything with wiki parsing in 10.x > for me - on r43636 > > > Fatal error: Class 'JisonParser_Wiki_Link' not found in > branches/10.x/lib/core/JisonParser/Wiki/Handler.php on line 1176 > > > This is one of the reasons i don't trust tests, or coders who rely on them > so completely - making the tests "look pretty" at the expense of having a > functional app seems like a waste of resources. I'll be disabling jison > parser now as i have work to do... (have to hack the database i guess). > > jb > > > > On 23 Oct 2012, at 22:39, rob...@us... wrote: > > > Revision: 43618 > > > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43618&view=rev > > Author: robertplummer > > Date: 2012-10-23 21:39:30 +0000 (Tue, 23 Oct 2012) > > Log Message: > > ----------- > > [FIX] Fixes for lists and links to both pass tests, and aesthetically > look correct > > > > Modified Paths: > > -------------- > > branches/10.x/lib/core/JisonParser/Wiki/Handler.php > > branches/10.x/lib/core/JisonParser/Wiki/List.php > > branches/10.x/lib/core/JisonParser/Wiki.jison > > branches/10.x/lib/core/JisonParser/Wiki.js > > branches/10.x/lib/core/JisonParser/Wiki.php > > branches/10.x/lib/test/core/JisonParser/Abstract.php > > branches/10.x/lib/test/core/JisonParser/OutputTest.php > > > > Removed Paths: > > ------------- > > branches/10.x/lib/core/JisonParser/Wiki/Link.php > > > > Modified: branches/10.x/lib/core/JisonParser/Wiki/Handler.php > > =================================================================== > > --- branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 > 21:23:18 UTC (rev 43617) > > +++ branches/10.x/lib/core/JisonParser/Wiki/Handler.php 2012-10-23 > 21:39:30 UTC (rev 43618) > > @@ -392,8 +392,6 @@ > > //$output = preg_replace("/^(([<]br > [\/][>])?([\n][\r]|[\n\r]))/", "", $output); > > $output = preg_replace("/(([<]br > [\/][>])?([\n][\r]|[\r][\n]|[\n\r]))$/", "", $output); > > > > - $output = $this->unprotectSpecialChars($output); > > - > > if ( $this->getOption('parseLists') == true) { > > $lists = $this->Parser->list->toHtml(); > > if (!empty($lists)) { > > @@ -421,6 +419,7 @@ > > > > if ($this->Parser->parseDepth == 0) { > > ini_set("pcre.recursion_limit", > $this->pcreRecursionLimit); > > + $output = $this->unprotectSpecialChars($output); > > } > > } > > > > @@ -1164,8 +1163,16 @@ > > > > $parts = explode('|', $content); > > $page = (isset($parts[0]) ? $parts[0] : $content); > > - $description = (isset($parts[1]) ? $parts[1] : null); > > + array_shift($parts); > > + $description = implode('|', $parts); > > > > + if (!empty($description)) { > > + $feature_wikiwords = $prefs['feature_wikiwords']; > > + $prefs['feature_wikiwords'] = 'n'; > > + $description = $this->parse($description); > > + $prefs['feature_wikiwords'] = $feature_wikiwords; > > + } > > + > > return JisonParser_Wiki_Link::page($page, $this->Parser) > > ->setNamespace($this->getOption('namespace')) > > ->setDescription($description) > > > > Deleted: branches/10.x/lib/core/JisonParser/Wiki/Link.php > > =================================================================== > > --- branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 > 21:23:18 UTC (rev 43617) > > +++ branches/10.x/lib/core/JisonParser/Wiki/Link.php 2012-10-23 > 21:39:30 UTC (rev 43618) > > @@ -1,268 +0,0 @@ > > -<?php > > -// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware > Project > > -// > > -// All Rights Reserved. See copyright.txt for details and a complete > list of authors. > > -// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See > license.txt for details. > > -// $Id$ > > - > > -class JisonParser_Wiki_Link > > -{ > > - public $page; > > - public $pageLink; > > - public $type; > > - public $namespace; > > - public $namespaceSeparator; > > - public $description; > > - public $reltype; > > - public $processPlural = false; > > - public $anchor; > > - public $language; > > - public $suppressIcons; > > - public $skipPageCache = false; > > - public $parser; > > - > > - static $externals = false; > > - > > - function __construct() > > - { > > - global $prefs; > > - > > - $this->namespaceSeparator = $prefs['namespace_separator']; > > - } > > - > > - static function page($page, &$parser, $namespace = '') > > - { > > - $link = new self(); > > - > > - $link->page = $page; > > - > > - $link->parser = &$parser; > > - > > - $link->setDescription($page); > > - > > - // HTML entities encoding breaks page lookup > > - $link->pageLink = html_entity_decode($page, ENT_COMPAT, > 'UTF-8'); > > - > > - if (!empty($namespace)) { > > - $link->namespace = $namespace; > > - } > > - > > - return $link; > > - } > > - > > - public function setType($type) > > - { > > - $this->type = $type; > > - > > - return $this; > > - } > > - > > - > > - public function setNamespace($namespace) > > - { > > - $this->namespace = $namespace; > > - > > - return $this; > > - } > > - > > - public function setDescription($description) > > - { > > - global $prefs; > > - > > - if (!empty($description)) { > > - $feature_wikiwords = $prefs['feature_wikiwords']; > > - $prefs['feature_wikiwords'] = 'n'; > > - > > - //$this->description = > $this->parser->parse($description); > > - $this->description = $description; > > - > > - $prefs['feature_wikiwords'] = $feature_wikiwords; > > - } > > - > > - return $this; > > - } > > - > > - public function processPlural($processPlural) > > - { > > - $this->processPlural = $processPlural; > > - > > - return $this; > > - } > > - > > - public function setSuppressIcons($suppressIcons) > > - { > > - $this->suppressIcons = $suppressIcons; > > - > > - return $this; > > - } > > - > > - public function setSkipPageCache($skipPageCache) > > - { > > - $this->skipPageCache = $skipPageCache; > > - > > - return $this; > > - } > > - > > - function parse() > > - { > > - switch ($this->type) { > > - case 'np': > > - break; > > - case 'alias': > > - $this->reltype = $this->type; > > - break; > > - case 'word': > > - break; > > - case 'external': > > - return $this->external(); > > - break; > > - } > > - > > - return $this->getHtml(); > > - } > > - > > - function external() > > - { > > - global $tikilib, $prefs, $smarty; > > - > > - $target = ''; > > - $class = 'wiki'; > > - $ext_icon = ''; > > - $rel = ''; > > - $cached = ''; > > - > > - if ($prefs['popupLinks'] == 'y') { > > - $target = '_blank"'; > > - } > > - > > - if (!strstr($this->page, '://')) { > > - $target = ''; > > - } else { > > - $class .= ' external'; > > - if ($prefs['feature_wiki_ext_icon'] == 'y' && > !$this->suppressIcons) { > > - > include_once('lib/smarty_tiki/function.icon.php'); > > - $ext_icon = > smarty_function_icon(array('_id'=>'external_link', 'alt'=>tra('(external > link)'), '_class' => 'externallink', '_extension' => 'gif', '_defaultdir' > => 'img/icons', 'width' => 15, 'height' => 14), $smarty); > > - } > > - $rel='external'; > > - if ($prefs['feature_wiki_ext_rel_nofollow'] == > 'y') { > > - $rel .= ' nofollow'; > > - } > > - } > > - > > - if ($prefs['cachepages'] == 'y' && > $tikilib->is_cached($this->page)) { > > - $cached = " <a class=\"wikicache\" > target=\"_blank\" > href=\"tiki-view_cache.php?url=".urlencode($this->pageLink)."\">(cache)</a>"; > > - } > > - > > - return '<a class="' . $class . '"' . > > - (!empty($target) ? ' target="' . $target . '"' : > '') . > > - ' href="' . $this->page . > > - (!empty($rel) ? '" rel="' . $rel : '') . '">' . > $this->description . '</a>' . $ext_icon . $cached; > > - } > > - > > - function getHtml() > > - { > > - global $tikilib, $prefs; > > - $wikilib = TikiLib::lib('wiki'); > > - > > - // Fetch all externals once > > - if ( false === self::$externals ) { > > - self::$externals = $tikilib->fetchMap('SELECT > LOWER(`name`), `extwiki` FROM `tiki_extwiki`'); > > - } > > - > > - $link = new WikiParser_OutputLink; > > - $link->setIdentifier($this->pageLink); > > - $link->setNamespace($this->namespace, > $prefs['namespace_separator']); > > - $link->setQualifier($this->reltype); > > - $link->setDescription($this->description); > > - $link->setWikiLookup(array( &$this, 'findWikiPage' )); > > - $link->setWikiLinkBuilder( > > - function () > > - { > > - $wikilib = TikiLib::lib('wiki'); > > - return $wikilib->sefurl($this->page); > > - } > > - ); > > - $link->setExternals(self::$externals); > > - $link->setHandlePlurals($this->processPlural); > > - $link->setAnchor($this->anchor); > > - > > - if ( $prefs['feature_multilingual'] == 'y' && isset( > $GLOBALS['pageLang'] ) ) { > > - $link->setLanguage($GLOBALS['pageLang']); > > - } > > - > > - return $link->getHtml(); > > - } > > - > > - public function setExtras($extras = array()) > > - { > > - foreach($extras as $key => $value) { > > - $this->$key = $value; > > - } > > - > > - return $this; > > - } > > - > > - function findWikiPage() > > - { > > - global $prefs; > > - $tikilib = TikiLib::lib('tiki'); > > - $page_info = $tikilib->get_page_info($this->page, false); > > - > > - if ( $page_info !== false ) { > > - return $page_info; > > - } > > - > > - // If page does not exist directly, attempt to find an > alias > > - if ( $prefs['feature_wiki_pagealias'] == 'y' ) { > > - $semanticlib = TikiLib::lib('semantic'); > > - > > - $toPage = $this->page; > > - $tokens = explode(',', > $prefs['wiki_pagealias_tokens']); > > - > > - $prefixes = explode(',', > $prefs["wiki_prefixalias_tokens"]); > > - foreach ($prefixes as $p) { > > - $p = trim($p); > > - if (strlen($p) > 0 && > TikiLib::strtolower(substr($this->page, 0, strlen($p))) == > TikiLib::strtolower($p)) { > > - $toPage = $p; > > - $tokens = 'prefixalias'; > > - } > > - } > > - > > - $links = $semanticlib->getLinksUsing( > > - $tokens, > > - array( 'toPage' => $toPage ) > > - ); > > - > > - if ( count($links) > 1 ) { > > - // There are multiple aliases for this > page. Need to disambiguate. > > - // > > - // When feature_likePages is set, trying > to display the alias itself will > > - // display an error page with the list of > aliased pages in the "like pages" section. > > - // This allows the user to pick the > appropriate alias. > > - // So, leave the $pageName to the alias. > > - // > > - // If feature_likePages is not set, then > the user will only see that the page does not > > - // exist. So it's better to just pick the > first one. > > - // > > - if ($prefs['feature_likePages'] == 'y' || > $tokens == 'prefixalias') { > > - // Even if there is more then one > match, if prefix is being redirected then better > > - // to fail than to show possibly > wrong page > > - return true; > > - } else { > > - // If feature_likePages is NOT > set, then trying to display the first one is fine > > - // $pageName is by ref so it does > get replaced > > - $pageName = $links[0]['fromPage']; > > - return > $tikilib->get_page_info($this->page, true); > > - } > > - } elseif (count($links)) { > > - // there is exactly one match > > - if > ($prefs['feature_wiki_1like_redirection'] == 'y') { > > - return true; > > - } else { > > - $pageName = $links[0]['fromPage']; > > - return > $tikilib->get_page_info($this->page, true); > > - } > > - } > > - } > > - } > > -} > > \ No newline at end of file > > > > Modified: branches/10.x/lib/core/JisonParser/Wiki/List.php > > =================================================================== > > --- branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 > 21:23:18 UTC (rev 43617) > > +++ branches/10.x/lib/core/JisonParser/Wiki/List.php 2012-10-23 > 21:39:30 UTC (rev 43618) > > @@ -94,66 +94,122 @@ > > return $lists; > > } > > > > - private function toHtmlChildren(&$stack, $html = "") > > + private function toHtmlChildren(&$stack) > > { > > - $result = ''; > > - $style = ''; > > - $parentTagType = 'ul'; > > - $id = $this->id(); > > - $lastListType = ''; > > + global $headerlib; > > + $length = count($stack); > > + if ($length < 1) return ''; //if there isn't anything in > this list, don't process it > > + $lastParentTagType = ''; > > + $lastType = ''; > > + $id = ''; > > + $html = ''; > > > > - for ($i = 0, $length = count($stack); $i < $length; $i++) { > > + for ($i = 0; $i < $length; $i++) { > > if (isset($stack[$i]) && > empty($stack[$i]['content']) == false) { > > - if (empty($style)) { > > - switch($stack[$i]['type']) { > > - case '-': > > - $style = 'display: > none;'; > > - $html = '<br />' . > "\n" . '<a id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id > . '\');" class="link">[+]</a>'; > > - case '+': > > - if ($lastListType > == '') { > > - > $lastListType = "*"; > > - > $stack[$i]['type'] = "*"; > > - } > > - case '*': > > - $result .= '<li > class="tikiListItem">' . $stack[$i]['content']; > > - if > (!empty($stack[$i]['children'])) { > > - $result .= > $this->toHtmlChildren($stack[$i]['children']); > > - } > > - $result .= > $this->advanceUntilNotType($i, $stack); > > - $result .= '</li>' > . "\n"; > > - break; > > - case '#': > > - $parentTagType = > 'ol'; > > - $result .= '<li > class="tikiListItem">' . $stack[$i]['content']; > > - if > (!empty($stack[$i]['children'])) { > > - $result .= > $this->toHtmlChildren($stack[$i]['children']); > > - } > > - $result .= > $this->advanceUntilNotType($i, $stack); > > - $result .= '</li>' > . "\n"; > > - break; > > - case ';': > > - $parentTagType = > 'dl'; > > - $parts = > explode(':', $stack[$i]['content']); > > - $result .= '<dt>' > . $parts[0] . '</dt>'; > > - if > (isset($parts[1])) { > > - $result .= > '<dd>' . $parts[1] . '</dd>'; > > - } > > - $result .= "\n"; > > - break; > > - } > > + > > + $html .= > $this->writeParentStartTag($stack[$i]['type'], $lastType, > $lastParentTagType, $id); > > + > > + switch($stack[$i]['type']) { > > + case '-': > > + $headerlib->add_css("#" . > $id . "{display: none;}"); > > + case '+': > > + case '*': > > + $html .= '<li > class="tikiListItem">' . $stack[$i]['content']; > > + if > (!empty($stack[$i]['children'])) { > > + $html .= > $this->toHtmlChildren($stack[$i]['children']); > > + } > > + $html .= > $this->advanceUntilNotType($i, $stack); > > + $html .= '</li>' . "\n"; > > + break; > > + case '#': > > + $html .= '<li > class="tikiListItem">' . $stack[$i]['content']; > > + if > (!empty($stack[$i]['children'])) { > > + $html .= > $this->toHtmlChildren($stack[$i]['children']); > > + } > > + $html .= > $this->advanceUntilNotType($i, $stack); > > + $html .= '</li>' . "\n"; > > + break; > > + case ';': > > + $parts = explode(':', > $stack[$i]['content']); > > + $html .= '<dt>' . > $parts[0] . '</dt>'; > > + if (isset($parts[1])) { > > + $html .= '<dd>' . > $parts[1] . '</dd>'; > > + } > > + $html .= "\n"; > > + break; > > } > > } > > + } > > > > - if (isset($stack[$i]['type'])) { > > - $lastListType = $stack[$i]['type']; > > + unset($stack); > > + > > + $html .= $this->writeParentEndTag($lastParentTagType); > > + > > + return $html; > > + } > > + > > + private function writeParentStartTag($listType, &$lastListType, > &$parentTagType, &$id) > > + { > > + $result = ''; > > + if ($listType != $lastListType && > $this->lineCompatibility($listType, $lastListType) != true) { > > + $preTag = ''; > > + if (empty($parentTagType) == false) { > > + $result .= > $this->writeParentEndTag($parentTagType); > > } > > + > > + $parentTagType = $this->parentTagType($listType); > > + > > + $id = $this->id(); > > + > > + if ($listType == "-") { > > + $preTag = '<br />' . "\n" . '<a > id="flipper' . $id . '" href="javascript:flipWithSign(\'' . $id . '\');" > class="link">[+]</a>'; > > + } > > + > > + $lastListType = $listType; > > + $result .= $preTag . '<' . $parentTagType . ' > class="tikiList" id="' . $id . '">'; > > } > > > > - unset($stack); > > + return $result; > > + } > > > > - return $html . '<' . $parentTagType . ' class="tikiList" > id="' . $id . '" style="' . $style . '">' . $result . '</' . $parentTagType > . '>'; > > + private function lineCompatibility($thisListType = '', > $lastListType = '') > > + { > > + if ( > > + ($lastListType == "*" && $thisListType == "+") || > > + ($lastListType == "+" && $thisListType == "*") > > + ) { > > + return true; > > + } > > + > > + if ($lastListType == $thisListType) { > > + return true; > > + } > > + > > + return false; > > } > > > > + private function writeParentEndTag($parentTagType) > > + { > > + return '</' . $parentTagType . '>'; > > + } > > + > > + private function parentTagType($listType = '') > > + { > > + switch ($listType) { > > + case '-': > > + case '+': > > + case '*': > > + return 'ul'; > > + break; > > + case '#': > > + return 'ol'; > > + break; > > + case ';': > > + return 'dl'; > > + break; > > + } > > + } > > + > > private function advanceUntilNotType(&$i, &$stack, $type = "+", > $wrapping = array("<br />", "\n")) > > { > > $result = ''; > > > > Modified: branches/10.x/lib/core/JisonParser/Wiki.jison > > =================================================================== > > --- branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 > 21:23:18 UTC (rev 43617) > > +++ branches/10.x/lib/core/JisonParser/Wiki.jison 2012-10-23 > 21:39:30 UTC (rev 43618) > > @@ -222,11 +222,19 @@ > > > > "---" > > %{ > > - return 'HORIZONTAL_BAR'; > > + if (parser.isContent()) return 'CONTENT'; //js > > + return 'HORIZONTAL_BAR'; //js > > + > > + //php if ($this->isContent()) return 'CONTENT'; > > + //php return 'HORIZONTAL_BAR'; > > %} > > "%%%" > > %{ > > - return 'FORCED_LINE_END'; > > + if (parser.isContent()) return 'CONTENT'; //js > > + return 'FORCED_LINE_END'; //js > > + > > + //php if ($this->isContent()) return 'CONTENT'; > > + //php return 'FORCED_LINE_END'; > > %} > > > > > > @@ -622,12 +630,12 @@ > > if (parser.isContent(['linkStack'])) return 'CONTENT'; //js > > parser.linkStack = false; //js > > lexer.popState(); //js > > - return 'LINK_END'; //js > > + return 'WIKILINK_END'; //js > > > > //php if ($this->isContent(array('linkStack'))) return > 'CONTENT'; > > //php $this->linkStack = false; > > //php $this->popState(); > > - //php return 'LINK_END'; > > + //php return 'WIKILINK_END'; > > %} > > "((" > > %{ > > @@ -635,13 +643,13 @@ > > parser.linkStack = true; //js > > lexer.begin('wikilink'); //js > > $yytext = 'wiki'; //js > > - return 'LINK_START'; //js > > + return 'WIKILINK_START'; //js > > > > //php if ($this->isContent()) return 'CONTENT'; > > //php $this->linkStack = true; > > //php $this->begin('wikilink'); > > //php $yytext = 'wiki'; > > - //php return 'LINK_START'; > > + //php return 'WIKILINK_START'; > > %} > > "))" > > %{ > > @@ -649,13 +657,13 @@ > > parser.linkStack = true; //js > > lexer.begin('wikilink'); //js > > $yytext = 'np'; //js > > - return 'LINK_START'; //js > > + return 'WIKILINK_START'; //js > > > > //php if ($this->isContent()) return 'CONTENT'; > > //php $this->linkStack = true; > > //php $this->begin('wikilink'); > > //php $yytext = 'np'; > > - //php return 'LINK_START'; > > + //php return 'WIKILINK_START'; > > %} > > "("{WIKI_LINK_TYPE}"(" > > %{ > > @@ -663,13 +671,13 @@ > > parser.linkStack = true; //js > > lexer.begin('wikilink'); //js > > $yytext = $yytext.substring(1, $yytext.length - 1); //js > > - return 'LINK_START'; //js > > + return 'WIKILINK_START'; //js > > > > //php if ($this->isContent()) return 'CONTENT'; > > //php $this->linkStack = true; > > //php $this->begin('wikilink'); > > //php $yytext = substr($yytext, 1, -1); > > - //php return 'LINK_START'; > > + //php return 'WIKILINK_START'; > > %} > > {CAPITOL_WORD} > > %{ > > @@ -875,11 +883,6 @@ > > $$ = parser.link($1, $2); //js > > //php $$ = $this->link($1, $2); > > } > > -| LINK > > - { > > - $$ = parser.link('word', $1); //js > > - //php $$ = $this->link('word', $1); > > - } > > | STRIKE_START STRIKE_END > > | STRIKE_START contents STRIKE_END > > { > > @@ -909,6 +912,17 @@ > > $$ = parser.underscore($2); //js > > //php $$ = $this->underscore($2); > > } > > + | WIKILINK_START WIKILINK_END > > + | WIKILINK_START contents WIKILINK_END > > + { > > + $$ = parser.link($1, $2); //js > > + //php $$ = $this->link($1, $2); > > + } > > + | WIKILINK > > + { > > + $$ = parser.link('word', $1); //js > > + //php $$ = $this->link('word', $1); > > + } > > | INLINE_PLUGIN > > { > > $$ = parser.plugin($1); //js > > > > Modified: branches/10.x/lib/core/JisonParser/Wiki.js > > =================================================================== > > --- branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 > 21:23:18 UTC (rev 43617) > > +++ branches/10.x/lib/core/JisonParser/Wiki.js 2012-10-23 > 21:39:30 UTC (rev 43618) > > @@ -2,9 +2,9 @@ > > var Wiki = (function(){ > > var parser = {trace: function trace() { }, > > yy: {}, > > -symbols_: > {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"LINK":38,"STRIKE_START":39,"STRIKE_END":40,"DOUBLE_DASH":41,"TABLE_START":42,"TABLE_END":43,"TITLEBAR_START":44,"TITLEBAR_END":45,"UNDERSCORE_START":46,"UNDERSCORE_END":47,"INLINE_PLUGIN":48,"PLUGIN_START":49,"PLUGIN_END":50,"LINE_END":51,"FORCED_LINE_END":52,"$accept":0,"$end":1}, > > -terminals_: > {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"LINK",39:"STRIKE_START",40:"STRIKE_END",41:"DOUBLE_DASH",42:"TABLE_START",43:"TABLE_END",44:"TITLEBAR_START",45:"TITLEBAR_END",46:"UNDERSCORE_START",47:"UNDERSCORE_END",48:"INLINE_PLUGIN",49:"PLUGIN_START",50:"PLUGIN_END",51:"LINE_END",52:"FORCED_LINE_END"}, > > -productions_: > [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], > > +symbols_: > {"error":2,"wiki":3,"lines":4,"EOF":5,"line":6,"contents":7,"BLOCK_START":8,"BLOCK_END":9,"content":10,"CONTENT":11,"COMMENT":12,"NP_START":13,"NP_END":14,"PP_START":15,"PP_END":16,"DOUBLE_DYNAMIC_VAR":17,"SINGLE_DYNAMIC_VAR":18,"ARGUMENT_VAR":19,"HTML_TAG":20,"HORIZONTAL_BAR":21,"BOLD_START":22,"BOLD_END":23,"BOX_START":24,"BOX_END":25,"CENTER_START":26,"CENTER_END":27,"CODE_START":28,"CODE_END":29,"COLOR_START":30,"COLOR_END":31,"ITALIC_START":32,"ITALIC_END":33,"UNLINK_START":34,"UNLINK_END":35,"LINK_START":36,"LINK_END":37,"STRIKE_START":38,"STRIKE_END":39,"DOUBLE_DASH":40,"TABLE_START":41,"TABLE_END":42,"TITLEBAR_START":43,"TITLEBAR_END":44,"UNDERSCORE_START":45,"UNDERSCORE_END":46,"WIKILINK_START":47,"WIKILINK_END":48,"WIKILINK":49,"INLINE_PLUGIN":50,"PLUGIN_START":51,"PLUGIN_END":52,"LINE_END":53,"FORCED_LINE_END":54,"$accept":0,"$end":1}, > > +terminals_: > {2:"error",5:"EOF",8:"BLOCK_START",9:"BLOCK_END",11:"CONTENT",12:"COMMENT",13:"NP_START",14:"NP_END",15:"PP_START",16:"PP_END",17:"DOUBLE_DYNAMIC_VAR",18:"SINGLE_DYNAMIC_VAR",19:"ARGUMENT_VAR",20:"HTML_TAG",21:"HORIZONTAL_BAR",22:"BOLD_START",23:"BOLD_END",24:"BOX_START",25:"BOX_END",26:"CENTER_START",27:"CENTER_END",28:"CODE_START",29:"CODE_END",30:"COLOR_START",31:"COLOR_END",32:"ITALIC_START",33:"ITALIC_END",34:"UNLINK_START",35:"UNLINK_END",36:"LINK_START",37:"LINK_END",38:"STRIKE_START",39:"STRIKE_END",40:"DOUBLE_DASH",41:"TABLE_START",42:"TABLE_END",43:"TITLEBAR_START",44:"TITLEBAR_END",45:"UNDERSCORE_START",46:"UNDERSCORE_END",47:"WIKILINK_START",48:"WIKILINK_END",49:"WIKILINK",50:"INLINE_PLUGIN",51:"PLUGIN_START",52:"PLUGIN_END",53:"LINE_END",54:"FORCED_LINE_END"}, > > +productions_: > [0,[3,1],[3,2],[3,1],[4,1],[4,2],[6,1],[6,2],[6,3],[7,1],[7,2],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,2],[10,3],[10,1],[10,1],[10,2],[10,3],[10,1],[10,1],[10,3]], > > performAction: function > anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) { > > > > var $0 = $$.length - 1; > > @@ -124,43 +124,48 @@ > > //php this.$ = this->link($$[$0-2], $$[$0-1]); > > > > break; > > -case 38: > > - this.$ = parser.link('word', $$[$0]); //js > > - //php this.$ = this->link('word', $$[$0]); > > - > > -break; > > -case 40: > > +case 39: > > this.$ = parser.strike($$[$0-1]); //js > > //php this.$ = this->strike($$[$0-1]); > > > > break; > > -case 41: > > +case 40: > > this.$ = parser.doubleDash(); //js > > //php this.$ = this->doubleDash(); > > > > break; > > -case 43: > > +case 42: > > this.$ = parser.tableParser($$[$0-1]); //js > > //php this.$ = this->tableParser($$[$0-1]); > > > > break; > > -case 45: > > +case 44: > > this.$ = parser.titlebar($$[$0-1]); //js > > //php this.$ = this->titlebar($$[$0-1]); > > > > break; > > -case 47: > > +case 46: > > this.$ = parser.underscore($$[$0-1]); //js > > //php this.$ = this->underscore($$[$0-1]); > > > > break; > > case 48: > > + this.$ = parser.link($$[$0-2], $$[$0-1]); //js > > + //php this.$ = this->link($$[$0-2], $$[$0-1]); > > + > > +break; > > +case 49: > > + this.$ = parser.link('word', $$[$0]); //js > > + //php this.$ = this->link('word', $$[$0]); > > + > > +break; > > +case 50: > > this.$ = parser.plugin($$[$0]); //js > > > > //php this.$ = this->plugin($$[$0]); > > > > break; > > -case 49: > > +case 51: > > $$[$0].body = ''; //js > > this.$ = parser.plugin($$[$0]); //js > > > > @@ -168,7 +173,7 @@ > > //php this.$ = this->plugin($$[$0]); > > > > break; > > -case 50: > > +case 52: > > $$[$0].body = $$[$0-1]; //js > > this.$ = parser.plugin($$[$0]); //js > > > > @@ -176,25 +181,25 @@ > > //php this.$ = this->plugin($$[$0]); > > > > break; > > -case 51: > > +case 53: > > this.$ = parser.line($$[$0]); //js > > //php this.$ = this->line($$[$0]); > > > > break; > > -case 52: > > +case 54: > > this.$ = parser.forcedLineEnd(); //js > > //php this.$ = this->forcedLineEnd(); > > > > break; > > -case 53: > > +case 55: > > this.$ = parser.block($$[$0-2] + $$[$0-1]); //js > > //php this.$ = this->block($$[$0-2] . $$[$0-1]); > > > > break; > > } > > }, > > -table: > [{3:1,4:2,5:[1,3],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[3]},{1:[2,1],5:[1,35]},{1:[2,3]},{1:[2,4],4:36,5:[2,4],6:4,7:5,8:[1,6],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,6],5:[2,6],8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:40,8:[1,38],9:[1,39],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,9],5:[2,9],8:[2,9],9:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[2,9],17:[2,9],18:[2,9],19:[2,9],20:[2,9],21:[2,9],22:[2,9],23:[2,9],24:[2,9],25:[2,9],26:[2,9],27:[2,9],28:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],35:[2,9],36:[2,9],37:[2,9],38:[2,9],39:[2,9],40:[2,9],41:[2,9],42:[2,9],43:[2,9],44:[2,9],45:[2,9],46:[2,9],47:[2,9],48:[2,9],49:[2,9],50:[2,9],51:[2,9],52:[2,9]},{1:[2,11],5:[2,11],8:[2,11],9:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],17:[2,11],18:[2,11],19:[2,11],20:[2,11],21:[2,11],22:[2,11],23:[2,11],24:[2,11],25:[2,11],26:[2,11],27:[2,11],28:[2,11],29:[2,11],30:[2,11],31:[2,11],32:[2,11],33:[2,11],34:[2,11],35:[2,11],36:[2,11],37:[2,11],38:[2,11],39:[2,11],40:[2,11],41:[2,11],42:[2,11],43:[2,11],44:[2,11],45:[2,11],46:[2,11],47:[2,11],48:[2,11],49:[2,11],50:[2,11],51:[2,11],52:[2,11]},{1:[2,12],5:[2,12],8:[2,12],9:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],17:[2,12],18:[2,12],19:[2,12],20:[2,12],21:[2,12],22:[2,12],23:[2,12],24:[2,12],25:[2,12],26:[2,12],27:[2,12],28:[2,12],29:[2,12],30:[2,12],31:[2,12],32:[2,12],33:[2,12],34:[2,12],35:[2,12],36:[2,12],37:[2,12],38:[2,12],39:[2,12],40:[2,12],41:[2,12],42:[2,12],43:[2,12],44:[2,12],45:[2,12],46:[2,12],47:[2,12],48:[2,12],49:[2,12],50:[2,12],51:[2,12],52:[2,12]},{7:42,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],14:[1,41],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:44,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,43],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,17],5:[2,17],8:[2,17],9:[2,17],11:[2,17],12:[2,17],13:[2,17],14:[2,17],15:[2,17],16:[2,17],17:[2,17],18:[2,17],19:[2,17],20:[2,17],21:[2,17],22:[2,17],23:[2,17],24:[2,17],25:[2,17],26:[2,17],27:[2,17],28:[2,17],29:[2,17],30:[2,17],31:[2,17],32:[2,17],33:[2,17],34:[2,17],35:[2,17],36:[2,17],37:[2,17],38:[2,17],39:[2,17],40:[2,17],41:[2,17],42:[2,17],43:[2,17],44:[2,17],45:[2,17],46:[2,17],47:[2,17],48:[2,17],49:[2,17],50:[2,17],51:[2,17],52:[2,17]},{1:[2,18],5:[2,18],8:[2,18],9:[2,18],11:[2,18],12:[2,18],13:[2,18],14:[2,18],15:[2,18],16:[2,18],17:[2,18],18:[2,18],19:[2,18],20:[2,18],21:[2,18],22:[2,18],23:[2,18],24:[2,18],25:[2,18],26:[2,18],27:[2,18],28:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],35:[2,18],36:[2,18],37:[2,18],38:[2,18],39:[2,18],40:[2,18],41:[2,18],42:[2,18],43:[2,18],44:[2,18],45:[2,18],46:[2,18],47:[2,18],48:[2,18],49:[2,18],50:[2,18],51:[2,18],52:[2,18]},{1:[2,19],5:[2,19],8:[2,19],9:[2,19],11:[2,19],12:[2,19],13:[2,19],14:[2,19],15:[2,19],16:[2,19],17:[2,19],18:[2,19],19:[2,19],20:[2,19],21:[2,19],22:[2,19],23:[2,19],24:[2,19],25:[2,19],26:[2,19],27:[2,19],28:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],35:[2,19],36:[2,19],37:[2,19],38:[2,19],39:[2,19],40:[2,19],41:[2,19],42:[2,19],43:[2,19],44:[2,19],45:[2,19],46:[2,19],47:[2,19],48:[2,19],49:[2,19],50:[2,19],51:[2,19],52:[2,19]},{1:[2,20],5:[2,20],8:[2,20],9:[2,20],11:[2,20],12:[2,20],13:[2,20],14:[2,20],15:[2,20],16:[2,20],17:[2,20],18:[2,20],19:[2,20],20:[2,20],21:[2,20],22:[2,20],23:[2,20],24:[2,20],25:[2,20],26:[2,20],27:[2,20],28:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,20],34:[2,20],35:[2,20],36:[2,20],37:[2,20],38:[2,20],39:[2,20],40:[2,20],41:[2,20],42:[2,20],43:[2,20],44:[2,20],45:[2,20],46:[2,20],47:[2,20],48:[2,20],49:[2,20],50:[2,20],51:[2,20],52:[2,20]},{1:[2,21],5:[2,21],8:[2,21],9:[2,21],11:[2,21],12:[2,21],13:[2,21],14:[2,21],15:[2,21],16:[2,21],17:[2,21],18:[2,21],19:[2,21],20:[2,21],21:[2,21],22:[2,21],23:[2,21],24:[2,21],25:[2,21],26:[2,21],27:[2,21],28:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[2,21],35:[2,21],36:[2,21],37:[2,21],38:[2,21],39:[2,21],40:[2,21],41:[2,21],42:[2,21],43:[2,21],44:[2,21],45:[2,21],46:[2,21],47:[2,21],48:[2,21],49:[2,21],50:[2,21],51:[2,21],52:[2,21]},{7:46,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,45],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:48,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,47],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:50,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,49],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:52,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,51],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:54,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,53],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:56,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,55],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:58,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,57],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:60,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,59],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,38],5:[2,38],8:[2,38],9:[2,38],11:[2,38],12:[2,38],13:[2,38],14:[2,38],15:[2,38],16:[2,38],17:[2,38],18:[2,38],19:[2,38],20:[2,38],21:[2,38],22:[2,38],23:[2,38],24:[2,38],25:[2,38],26:[2,38],27:[2,38],28:[2,38],29:[2,38],30:[2,38],31:[2,38],32:[2,38],33:[2,38],34:[2,38],35:[2,38],36:[2,38],37:[2,38],38:[2,38],39:[2,38],40:[2,38],41:[2,38],42:[2,38],43:[2,38],44:[2,38],45:[2,38],46:[2,38],47:[2,38],48:[2,38],49:[2,38],50:[2,38],51:[2,38],52:[2,38]},{7:62,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,61],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,41],5:[2,41],8:[2,41],9:[2,41],11:[2,41],12:[2,41],13:[2,41],14:[2,41],15:[2,41],16:[2,41],17:[2,41],18:[2,41],19:[2,41],20:[2,41],21:[2,41],22:[2,41],23:[2,41],24:[2,41],25:[2,41],26:[2,41],27:[2,41],28:[2,41],29:[2,41],30:[2,41],31:[2,41],32:[2,41],33:[2,41],34:[2,41],35:[2,41],36:[2,41],37:[2,41],38:[2,41],39:[2,41],40:[2,41],41:[2,41],42:[2,41],43:[2,41],44:[2,41],45:[2,41],46:[2,41],47:[2,41],48:[2,41],49:[2,41],50:[2,41],51:[2,41],52:[2,41]},{7:64,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,63],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:66,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,65],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{7:68,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,67],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,48],5:[2,48],8:[2,48],9:[2,48],11:[2,48],12:[2,48],13:[2,48],14:[2,48],15:[2,48],16:[2,48],17:[2,48],18:[2,48],19:[2,48],20:[2,48],21:[2,48],22:[2,48],23:[2,48],24:[2,48],25:[2,48],26:[2,48],27:[2,48],28:[2,48],29:[2,48],30:[2,48],31:[2,48],32:[2,48],33:[2,48],34:[2,48],35:[2,48],36:[2,48],37:[2,48],38:[2,48],39:[2,48],40:[2,48],41:[2,48],42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],47:[2,48],48:[2,48],49:[2,48],50:[2,48],51:[2,48],52:[2,48]},{7:70,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,69],51:[1,33],52:[1,34]},{1:[2,51],5:[2,51],8:[2,51],9:[2,51],11:[2,51],12:[2,51],13:[2,51],14:[2,51],15:[2,51],16:[2,51],17:[2,51],18:[2,51],19:[2,51],20:[2,51],21:[2,51],22:[2,51],23:[2,51],24:[2,51],25:[2,51],26:[2,51],27:[2,51],28:[2,51],29:[2,51],30:[2,51],31:[2,51],32:[2,51],33:[2,51],34:[2,51],35:[2,51],36:[2,51],37:[2,51],38:[2,51],39:[2,51],40:[2,51],41:[2,51],42:[2,51],43:[2,51],44:[2,51],45:[2,51],46:[2,51],47:[2,51],48:[2,51],49:[2,51],50:[2,51],51:[2,51],52:[2,51]},{1:[2,52],5:[2,52],8:[2,52],9:[2,52],11:[2,52],12:[2,52],13:[2,52],14:[2,52],15:[2,52],16:[2,52],17:[2,52],18:[2,52],19:[2,52],20:[2,52],21:[2,52],22:[2,52],23:[2,52],24:[2,52],25:[2,52],26:[2,52],27:[2,52],28:[2,52],29:[2,52],30:[2,52],31:[2,52],32:[2,52],33:[2,52],34:[2,52],35:[2,52],36:[2,52],37:[2,52],38:[2,52],39:[2,52],40:[2,52],41:[2,52],42:[2,52],43:[2,52],44:[2,52],45:[2,52],46:[2,52],47:[2,52],48:[2,52],49:[2,52],50:[2,52],51:[2,52],52:[2,52]},{1:[2,2]},{1:[2,5],5:[2,5]},{1:[2,10],5:[2,10],8:[2,10],9:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[2,10],17:[2,10],18:[2,10],19:[2,10],20:[2,10],21:[2,10],22:[2,10],23:[2,10],24:[2,10],25:[2,10],26:[2,10],27:[2,10],28:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],35:[2,10],36:[2,10],37:[2,10],38:[2,10],39:[2,10],40:[2,10],41:[2,10],42:[2,10],43:[2,10],44:[2,10],45:[2,10],46:[2,10],47:[2,10],48:[2,10],49:[2,10],50:[2,10],51:[2,10],52:[2,10]},{7:71,8:[1,38],10:7,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,7],5:[2,7],8:[2,7],11:[2,7],12:[2,7],13:[2,7],15:[2,7],17:[2,7],18:[2,7],19:[2,7],20:[2,7],21:[2,7],22:[2,7],24:[2,7],26:[2,7],28:[2,7],30:[2,7],32:[2,7],34:[2,7],36:[2,7],38:[2,7],39:[2,7],41:[2,7],42:[2,7],44:[2,7],46:[2,7],48:[2,7],49:[2,7],51:[2,7],52:[2,7]},{8:[1,38],9:[1,72],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,13],5:[2,13],8:[2,13],9:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],17:[2,13],18:[2,13],19:[2,13],20:[2,13],21:[2,13],22:[2,13],23:[2,13],24:[2,13],25:[2,13],26:[2,13],27:[2,13],28:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],35:[2,13],36:[2,13],37:[2,13],38:[2,13],39:[2,13],40:[2,13],41:[2,13],42:[2,13],43:[2,13],44:[2,13],45:[2,13],46:[2,13],47:[2,13],48:[2,13],49:[2,13],50:[2,13],51:[2,13],52:[2,13]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],14:[1,73],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,15],5:[2,15],8:[2,15],9:[2,15],11:[2,15],12:[2,15],13:[2,15],14:[2,15],15:[2,15],16:[2,15],17:[2,15],18:[2,15],19:[2,15],20:[2,15],21:[2,15],22:[2,15],23:[2,15],24:[2,15],25:[2,15],26:[2,15],27:[2,15],28:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],35:[2,15],36:[2,15],37:[2,15],38:[2,15],39:[2,15],40:[2,15],41:[2,15],42:[2,15],43:[2,15],44:[2,15],45:[2,15],46:[2,15],47:[2,15],48:[2,15],49:[2,15],50:[2,15],51:[2,15],52:[2,15]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],16:[1,74],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,22],5:[2,22],8:[2,22],9:[2,22],11:[2,22],12:[2,22],13:[2,22],14:[2,22],15:[2,22],16:[2,22],17:[2,22],18:[2,22],19:[2,22],20:[2,22],21:[2,22],22:[2,22],23:[2,22],24:[2,22],25:[2,22],26:[2,22],27:[2,22],28:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[2,22],35:[2,22],36:[2,22],37:[2,22],38:[2,22],39:[2,22],40:[2,22],41:[2,22],42:[2,22],43:[2,22],44:[2,22],45:[2,22],46:[2,22],47:[2,22],48:[2,22],49:[2,22],50:[2,22],51:[2,22],52:[2,22]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],23:[1,75],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,24],5:[2,24],8:[2,24],9:[2,24],11:[2,24],12:[2,24],13:[2,24],14:[2,24],15:[2,24],16:[2,24],17:[2,24],18:[2,24],19:[2,24],20:[2,24],21:[2,24],22:[2,24],23:[2,24],24:[2,24],25:[2,24],26:[2,24],27:[2,24],28:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[2,24],35:[2,24],36:[2,24],37:[2,24],38:[2,24],39:[2,24],40:[2,24],41:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],47:[2,24],48:[2,24],49:[2,24],50:[2,24],51:[2,24],52:[2,24]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],25:[1,76],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,26],5:[2,26],8:[2,26],9:[2,26],11:[2,26],12:[2,26],13:[2,26],14:[2,26],15:[2,26],16:[2,26],17:[2,26],18:[2,26],19:[2,26],20:[2,26],21:[2,26],22:[2,26],23:[2,26],24:[2,26],25:[2,26],26:[2,26],27:[2,26],28:[2,26],29:[2,26],30:[2,26],31:[2,26],32:[2,26],33:[2,26],34:[2,26],35:[2,26],36:[2,26],37:[2,26],38:[2,26],39:[2,26],40:[2,26],41:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],47:[2,26],48:[2,26],49:[2,26],50:[2,26],51:[2,26],52:[2,26]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],27:[1,77],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,28],5:[2,28],8:[2,28],9:[2,28],11:[2,28],12:[2,28],13:[2,28],14:[2,28],15:[2,28],16:[2,28],17:[2,28],18:[2,28],19:[2,28],20:[2,28],21:[2,28],22:[2,28],23:[2,28],24:[2,28],25:[2,28],26:[2,28],27:[2,28],28:[2,28],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[2,28],34:[2,28],35:[2,28],36:[2,28],37:[2,28],38:[2,28],39:[2,28],40:[2,28],41:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],47:[2,28],48:[2,28],49:[2,28],50:[2,28],51:[2,28],52:[2,28]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],29:[1,78],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,30],5:[2,30],8:[2,30],9:[2,30],11:[2,30],12:[2,30],13:[2,30],14:[2,30],15:[2,30],16:[2,30],17:[2,30],18:[2,30],19:[2,30],20:[2,30],21:[2,30],22:[2,30],23:[2,30],24:[2,30],25:[2,30],26:[2,30],27:[2,30],28:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],35:[2,30],36:[2,30],37:[2,30],38:[2,30],39:[2,30],40:[2,30],41:[2,30],42:[2,30],43:[2,30],44:[2,30],45:[2,30],46:[2,30],47:[2,30],48:[2,30],49:[2,30],50:[2,30],51:[2,30],52:[2,30]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],31:[1,79],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,32],5:[2,32],8:[2,32],9:[2,32],11:[2,32],12:[2,32],13:[2,32],14:[2,32],15:[2,32],16:[2,32],17:[2,32],18:[2,32],19:[2,32],20:[2,32],21:[2,32],22:[2,32],23:[2,32],24:[2,32],25:[2,32],26:[2,32],27:[2,32],28:[2,32],29:[2,32],30:[2,32],31:[2,32],32:[2,32],33:[2,32],34:[2,32],35:[2,32],36:[2,32],37:[2,32],38:[2,32],39:[2,32],40:[2,32],41:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],46:[2,32],47:[2,32],48:[2,32],49:[2,32],50:[2,32],51:[2,32],52:[2,32]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],33:[1,80],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,34],5:[2,34],8:[2,34],9:[2,34],11:[2,34],12:[2,34],13:[2,34],14:[2,34],15:[2,34],16:[2,34],17:[2,34],18:[2,34],19:[2,34],20:[2,34],21:[2,34],22:[2,34],23:[2,34],24:[2,34],25:[2,34],26:[2,34],27:[2,34],28:[2,34],29:[2,34],30:[2,34],31:[2,34],32:[2,34],33:[2,34],34:[2,34],35:[2,34],36:[2,34],37:[2,34],38:[2,34],39:[2,34],40:[2,34],41:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],47:[2,34],48:[2,34],49:[2,34],50:[2,34],51:[2,34],52:[2,34]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],35:[1,81],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,36],5:[2,36],8:[2,36],9:[2,36],11:[2,36],12:[2,36],13:[2,36],14:[2,36],15:[2,36],16:[2,36],17:[2,36],18:[2,36],19:[2,36],20:[2,36],21:[2,36],22:[2,36],23:[2,36],24:[2,36],25:[2,36],26:[2,36],27:[2,36],28:[2,36],29:[2,36],30:[2,36],31:[2,36],32:[2,36],33:[2,36],34:[2,36],35:[2,36],36:[2,36],37:[2,36],38:[2,36],39:[2,36],40:[2,36],41:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],47:[2,36],48:[2,36],49:[2,36],50:[2,36],51:[2,36],52:[2,36]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],37:[1,82],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,39],5:[2,39],8:[2,39],9:[2,39],11:[2,39],12:[2,39],13:[2,39],14:[2,39],15:[2,39],16:[2,39],17:[2,39],18:[2,39],19:[2,39],20:[2,39],21:[2,39],22:[2,39],23:[2,39],24:[2,39],25:[2,39],26:[2,39],27:[2,39],28:[2,39],29:[2,39],30:[2,39],31:[2,39],32:[2,39],33:[2,39],34:[2,39],35:[2,39],36:[2,39],37:[2,39],38:[2,39],39:[2,39],40:[2,39],41:[2,39],42:[2,39],43:[2,39],44:[2,39],45:[2,39],46:[2,39],47:[2,39],48:[2,39],49:[2,39],50:[2,39],51:[2,39],52:[2,39]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],40:[1,83],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,42],5:[2,42],8:[2,42],9:[2,42],11:[2,42],12:[2,42],13:[2,42],14:[2,42],15:[2,42],16:[2,42],17:[2,42],18:[2,42],19:[2,42],20:[2,42],21:[2,42],22:[2,42],23:[2,42],24:[2,42],25:[2,42],26:[2,42],27:[2,42],28:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],35:[2,42],36:[2,42],37:[2,42],38:[2,42],39:[2,42],40:[2,42],41:[2,42],42:[2,42],43:[2,42],44:[2,42],45:[2,42],46:[2,42],47:[2,42],48:[2,42],49:[2,42],50:[2,42],51:[2,42],52:[2,42]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],43:[1,84],44:[1,29],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,44],5:[2,44],8:[2,44],9:[2,44],11:[2,44],12:[2,44],13:[2,44],14:[2,44],15:[2,44],16:[2,44],17:[2,44],18:[2,44],19:[2,44],20:[2,44],21:[2,44],22:[2,44],23:[2,44],24:[2,44],25:[2,44],26:[2,44],27:[2,44],28:[2,44],29:[2,44],30:[2,44],31:[2,44],32:[2,44],33:[2,44],34:[2,44],35:[2,44],36:[2,44],37:[2,44],38:[2,44],39:[2,44],40:[2,44],41:[2,44],42:[2,44],43:[2,44],44:[2,44],45:[2,44],46:[2,44],47:[2,44],48:[2,44],49:[2,44],50:[2,44],51:[2,44],52:[2,44]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],45:[1,85],46:[1,30],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,46],5:[2,46],8:[2,46],9:[2,46],11:[2,46],12:[2,46],13:[2,46],14:[2,46],15:[2,46],16:[2,46],17:[2,46],18:[2,46],19:[2,46],20:[2,46],21:[2,46],22:[2,46],23:[2,46],24:[2,46],25:[2,46],26:[2,46],27:[2,46],28:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,46],35:[2,46],36:[2,46],37:[2,46],38:[2,46],39:[2,46],40:[2,46],41:[2,46],42:[2,46],43:[2,46],44:[2,46],45:[2,46],46:[2,46],47:[2,46],48:[2,46],49:[2,46],50:[2,46],51:[2,46],52:[2,46]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],47:[1,86],48:[1,31],49:[1,32],51:[1,33],52:[1,34]},{1:[2,49],5:[2,49],8:[2,49],9:[2,49],11:[2,49],12:[2,49],13:[2,49],14:[2,49],15:[2,49],16:[2,49],17:[2,49],18:[2,49],19:[2,49],20:[2,49],21:[2,49],22:[2,49],23:[2,49],24:[2,49],25:[2,49],26:[2,49],27:[2,49],28:[2,49],29:[2,49],30:[2,49],31:[2,49],32:[2,49],33:[2,49],34:[2,49],35:[2,49],36:[2,49],37:[2,49],38:[2,49],39:[2,49],40:[2,49],41:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],47:[2,49],48:[2,49],49:[2,49],50:[2,49],51:[2,49],52:[2,49]},{8:[1,38],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,12],18:[1,13],19:[1,14],20:[1,15],21:[1,16],22:[1,17],24:[1,18],26:[1,19],28:[1,20],30:[1,21],32:[1,22],34:[1,23],36:[1,24],38:[1,25],39:[1,26],41:[1,27],42:[1,28],44:[1,29],46:[1,30],48:[1,31],49:[1,32],50:[1,87],51:[1,33],52:[1,34]},{8:[1,38],9:[1,88],10:37,11:[1,8],12:[1,9],13:[1,10],15:[1,11],17:[1,1... [truncated message content] |
From: <rob...@us...> - 2012-10-24 19:59:19
|
Revision: 43666 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43666&view=rev Author: robertplummer Date: 2012-10-24 19:59:12 +0000 (Wed, 24 Oct 2012) Log Message: ----------- [ENH] Sorted deliberations, most normalized valuable rating at top sorted descending Modified Paths: -------------- branches/10.x/lib/comments/commentslib.php branches/10.x/lib/rating/ratinglib.php Modified: branches/10.x/lib/comments/commentslib.php =================================================================== --- branches/10.x/lib/comments/commentslib.php 2012-10-24 19:34:07 UTC (rev 43665) +++ branches/10.x/lib/comments/commentslib.php 2012-10-24 19:59:12 UTC (rev 43666) @@ -3072,8 +3072,29 @@ function get_forum_deliberations($threadId) { + global $ratinglib; + require_once 'lib/rating/ratinglib.php'; + $deliberations = $this->fetchAll('SELECT * from tiki_comments WHERE object = ? AND objectType = "forum_deliberation"', array($threadId)); - return $deliberations; + + $votings = array(); + $deliberationsUnsorted = array(); + foreach($deliberations as &$deliberation) { + $votings[$deliberation['threadId']] = $ratinglib->votings($deliberation['threadId'], 'comment', true); + $deliberationsUnsorted[$deliberation['threadId']] = $deliberation; + } + unset($deliberations); + + arsort($votings); + + $deliberationsSorted = array(); + foreach($votings as $threadId => $vote) { + $deliberationsSorted[] = $deliberationsUnsorted[$threadId]; + } + + unset($deliberationsUnsorted); + + return $deliberationsSorted; } function delete_forum_deliberations($threadId) Modified: branches/10.x/lib/rating/ratinglib.php =================================================================== --- branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:34:07 UTC (rev 43665) +++ branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:59:12 UTC (rev 43666) @@ -180,7 +180,7 @@ return in_array($value, $options); } - function get_options( $type, $objectId ) + function get_options( $type, $objectId, $skipOverride = false ) { $pref = 'rating_default_options'; @@ -203,7 +203,7 @@ $override = $this->get_override($type, $objectId); - if (!empty($override)) { + if (!empty($override) && $skipOverride == false) { return $override; } @@ -277,8 +277,10 @@ return $array; } - function votings($threadId, $type = 'comment') + function votings($threadId, $type = 'comment', $normalize = false) { + global $prefs; + switch($type) { case 'wiki page': $type = 'wiki'; } @@ -305,15 +307,34 @@ $votings[$user_voting['optionId']]++; } - foreach ($votings as &$votes) { + $voteOptionsOverride = $this->get_options($type, $threadId); + ksort($voteOptionsOverride); + $voteOptionsGeneral = $this->get_options($type, $threadId, true); + ksort($voteOptionsGeneral); + + + $overrideMin = (int)$voteOptionsOverride[0]; + $overrideMax = (int)$voteOptionsOverride[count($voteOptionsOverride) - 1]; + + //$generalMin = (int)$voteOptionsGeneral[0]; + //$generalMax = (int)$voteOptionsGeneral[count($voteOptionsGeneral) - 1]; + + $normalized = 0; + foreach ($votings as $value => &$votes) { + $normalized += ($overrideMin / $overrideMax) * $value; + $votes = array( "votes" => $votes, - "percent" => round($percent * $votes) + "percent" => round($percent * $votes), ); } ksort($votings); + if ($normalize == true) { + return $normalized; + } + return $votings; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Robert P. <rob...@gm...> - 2012-10-24 20:00:32
|
Please don't roll me back :). Required for 10 and a small feature. On Wed, Oct 24, 2012 at 3:59 PM, <rob...@us...>wrote: > Revision: 43666 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43666&view=rev > Author: robertplummer > Date: 2012-10-24 19:59:12 +0000 (Wed, 24 Oct 2012) > Log Message: > ----------- > [ENH] Sorted deliberations, most normalized valuable rating at top sorted > descending > > Modified Paths: > -------------- > branches/10.x/lib/comments/commentslib.php > branches/10.x/lib/rating/ratinglib.php > > Modified: branches/10.x/lib/comments/commentslib.php > =================================================================== > --- branches/10.x/lib/comments/commentslib.php 2012-10-24 19:34:07 UTC > (rev 43665) > +++ branches/10.x/lib/comments/commentslib.php 2012-10-24 19:59:12 UTC > (rev 43666) > @@ -3072,8 +3072,29 @@ > > function get_forum_deliberations($threadId) > { > + global $ratinglib; > + require_once 'lib/rating/ratinglib.php'; > + > $deliberations = $this->fetchAll('SELECT * from > tiki_comments WHERE object = ? AND objectType = "forum_deliberation"', > array($threadId)); > - return $deliberations; > + > + $votings = array(); > + $deliberationsUnsorted = array(); > + foreach($deliberations as &$deliberation) { > + $votings[$deliberation['threadId']] = > $ratinglib->votings($deliberation['threadId'], 'comment', true); > + $deliberationsUnsorted[$deliberation['threadId']] > = $deliberation; > + } > + unset($deliberations); > + > + arsort($votings); > + > + $deliberationsSorted = array(); > + foreach($votings as $threadId => $vote) { > + $deliberationsSorted[] = > $deliberationsUnsorted[$threadId]; > + } > + > + unset($deliberationsUnsorted); > + > + return $deliberationsSorted; > } > > function delete_forum_deliberations($threadId) > > Modified: branches/10.x/lib/rating/ratinglib.php > =================================================================== > --- branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:34:07 UTC > (rev 43665) > +++ branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:59:12 UTC > (rev 43666) > @@ -180,7 +180,7 @@ > return in_array($value, $options); > } > > - function get_options( $type, $objectId ) > + function get_options( $type, $objectId, $skipOverride = false ) > { > $pref = 'rating_default_options'; > > @@ -203,7 +203,7 @@ > > $override = $this->get_override($type, $objectId); > > - if (!empty($override)) { > + if (!empty($override) && $skipOverride == false) { > return $override; > } > > @@ -277,8 +277,10 @@ > return $array; > } > > - function votings($threadId, $type = 'comment') > + function votings($threadId, $type = 'comment', $normalize = false) > { > + global $prefs; > + > switch($type) { > case 'wiki page': $type = 'wiki'; > } > @@ -305,15 +307,34 @@ > $votings[$user_voting['optionId']]++; > } > > - foreach ($votings as &$votes) { > + $voteOptionsOverride = $this->get_options($type, > $threadId); > + ksort($voteOptionsOverride); > + $voteOptionsGeneral = $this->get_options($type, $threadId, > true); > + ksort($voteOptionsGeneral); > + > + > + $overrideMin = (int)$voteOptionsOverride[0]; > + $overrideMax = > (int)$voteOptionsOverride[count($voteOptionsOverride) - 1]; > + > + //$generalMin = (int)$voteOptionsGeneral[0]; > + //$generalMax = > (int)$voteOptionsGeneral[count($voteOptionsGeneral) - 1]; > + > + $normalized = 0; > + foreach ($votings as $value => &$votes) { > + $normalized += ($overrideMin / $overrideMax) * > $value; > + > $votes = array( > "votes" => $votes, > - "percent" => round($percent * $votes) > + "percent" => round($percent * $votes), > ); > } > > ksort($votings); > > + if ($normalize == true) { > + return $normalized; > + } > + > return $votings; > } > > > This was sent by the SourceForge.net collaborative development platform, > the world's largest Open Source development site. > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs > -- Robert Plummer |
From: Jonny B. <svn...@no...> - 2012-10-25 00:13:55
|
Ok from my POV (Bernard ok too?) - we're still pre-apha here - just remember, after beta, no biggies please? ;) jb p.s. untested by me, and i'm not using comment/ratings much in production so far On 24 Oct 2012, at 21:00, Robert Plummer wrote: > Please don't roll me back :). Required for 10 and a small feature. > > On Wed, Oct 24, 2012 at 3:59 PM, <rob...@us...> wrote: > Revision: 43666 > http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43666&view=rev > Author: robertplummer > Date: 2012-10-24 19:59:12 +0000 (Wed, 24 Oct 2012) > Log Message: > ----------- > [ENH] Sorted deliberations, most normalized valuable rating at top sorted descending > > Modified Paths: > -------------- > branches/10.x/lib/comments/commentslib.php > branches/10.x/lib/rating/ratinglib.php > > Modified: branches/10.x/lib/comments/commentslib.php > =================================================================== > --- branches/10.x/lib/comments/commentslib.php 2012-10-24 19:34:07 UTC (rev 43665) > +++ branches/10.x/lib/comments/commentslib.php 2012-10-24 19:59:12 UTC (rev 43666) > @@ -3072,8 +3072,29 @@ > > function get_forum_deliberations($threadId) > { > + global $ratinglib; > + require_once 'lib/rating/ratinglib.php'; > + > $deliberations = $this->fetchAll('SELECT * from tiki_comments WHERE object = ? AND objectType = "forum_deliberation"', array($threadId)); > - return $deliberations; > + > + $votings = array(); > + $deliberationsUnsorted = array(); > + foreach($deliberations as &$deliberation) { > + $votings[$deliberation['threadId']] = $ratinglib->votings($deliberation['threadId'], 'comment', true); > + $deliberationsUnsorted[$deliberation['threadId']] = $deliberation; > + } > + unset($deliberations); > + > + arsort($votings); > + > + $deliberationsSorted = array(); > + foreach($votings as $threadId => $vote) { > + $deliberationsSorted[] = $deliberationsUnsorted[$threadId]; > + } > + > + unset($deliberationsUnsorted); > + > + return $deliberationsSorted; > } > > function delete_forum_deliberations($threadId) > > Modified: branches/10.x/lib/rating/ratinglib.php > =================================================================== > --- branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:34:07 UTC (rev 43665) > +++ branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:59:12 UTC (rev 43666) > @@ -180,7 +180,7 @@ > return in_array($value, $options); > } > > - function get_options( $type, $objectId ) > + function get_options( $type, $objectId, $skipOverride = false ) > { > $pref = 'rating_default_options'; > > @@ -203,7 +203,7 @@ > > $override = $this->get_override($type, $objectId); > > - if (!empty($override)) { > + if (!empty($override) && $skipOverride == false) { > return $override; > } > > @@ -277,8 +277,10 @@ > return $array; > } > > - function votings($threadId, $type = 'comment') > + function votings($threadId, $type = 'comment', $normalize = false) > { > + global $prefs; > + > switch($type) { > case 'wiki page': $type = 'wiki'; > } > @@ -305,15 +307,34 @@ > $votings[$user_voting['optionId']]++; > } > > - foreach ($votings as &$votes) { > + $voteOptionsOverride = $this->get_options($type, $threadId); > + ksort($voteOptionsOverride); > + $voteOptionsGeneral = $this->get_options($type, $threadId, true); > + ksort($voteOptionsGeneral); > + > + > + $overrideMin = (int)$voteOptionsOverride[0]; > + $overrideMax = (int)$voteOptionsOverride[count($voteOptionsOverride) - 1]; > + > + //$generalMin = (int)$voteOptionsGeneral[0]; > + //$generalMax = (int)$voteOptionsGeneral[count($voteOptionsGeneral) - 1]; > + > + $normalized = 0; > + foreach ($votings as $value => &$votes) { > + $normalized += ($overrideMin / $overrideMax) * $value; > + > $votes = array( > "votes" => $votes, > - "percent" => round($percent * $votes) > + "percent" => round($percent * $votes), > ); > } > > ksort($votings); > > + if ($normalize == true) { > + return $normalized; > + } > + > return $votings; > } > > > This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs > > > > -- > Robert Plummer > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct_______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs |
From: Bernard S. <bs...@sh...> - 2012-10-25 00:18:09
|
Seams ok, but we need some testers here… i don't use those too. Please feedback… Bernard On Oct 25, 2012, at 02:13 , Jonny Bradley <svn...@no...> wrote: > > Ok from my POV (Bernard ok too?) - we're still pre-apha here - just remember, after beta, no biggies please? ;) > > jb > > p.s. untested by me, and i'm not using comment/ratings much in production so far > > > On 24 Oct 2012, at 21:00, Robert Plummer wrote: > >> Please don't roll me back :). Required for 10 and a small feature. >> >> On Wed, Oct 24, 2012 at 3:59 PM, <rob...@us...> wrote: >> Revision: 43666 >> http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43666&view=rev >> Author: robertplummer >> Date: 2012-10-24 19:59:12 +0000 (Wed, 24 Oct 2012) >> Log Message: >> ----------- >> [ENH] Sorted deliberations, most normalized valuable rating at top sorted descending >> >> Modified Paths: >> -------------- >> branches/10.x/lib/comments/commentslib.php >> branches/10.x/lib/rating/ratinglib.php >> >> Modified: branches/10.x/lib/comments/commentslib.php >> =================================================================== >> --- branches/10.x/lib/comments/commentslib.php 2012-10-24 19:34:07 UTC (rev 43665) >> +++ branches/10.x/lib/comments/commentslib.php 2012-10-24 19:59:12 UTC (rev 43666) >> @@ -3072,8 +3072,29 @@ >> >> function get_forum_deliberations($threadId) >> { >> + global $ratinglib; >> + require_once 'lib/rating/ratinglib.php'; >> + >> $deliberations = $this->fetchAll('SELECT * from tiki_comments WHERE object = ? AND objectType = "forum_deliberation"', array($threadId)); >> - return $deliberations; >> + >> + $votings = array(); >> + $deliberationsUnsorted = array(); >> + foreach($deliberations as &$deliberation) { >> + $votings[$deliberation['threadId']] = $ratinglib->votings($deliberation['threadId'], 'comment', true); >> + $deliberationsUnsorted[$deliberation['threadId']] = $deliberation; >> + } >> + unset($deliberations); >> + >> + arsort($votings); >> + >> + $deliberationsSorted = array(); >> + foreach($votings as $threadId => $vote) { >> + $deliberationsSorted[] = $deliberationsUnsorted[$threadId]; >> + } >> + >> + unset($deliberationsUnsorted); >> + >> + return $deliberationsSorted; >> } >> >> function delete_forum_deliberations($threadId) >> >> Modified: branches/10.x/lib/rating/ratinglib.php >> =================================================================== >> --- branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:34:07 UTC (rev 43665) >> +++ branches/10.x/lib/rating/ratinglib.php 2012-10-24 19:59:12 UTC (rev 43666) >> @@ -180,7 +180,7 @@ >> return in_array($value, $options); >> } >> >> - function get_options( $type, $objectId ) >> + function get_options( $type, $objectId, $skipOverride = false ) >> { >> $pref = 'rating_default_options'; >> >> @@ -203,7 +203,7 @@ >> >> $override = $this->get_override($type, $objectId); >> >> - if (!empty($override)) { >> + if (!empty($override) && $skipOverride == false) { >> return $override; >> } >> >> @@ -277,8 +277,10 @@ >> return $array; >> } >> >> - function votings($threadId, $type = 'comment') >> + function votings($threadId, $type = 'comment', $normalize = false) >> { >> + global $prefs; >> + >> switch($type) { >> case 'wiki page': $type = 'wiki'; >> } >> @@ -305,15 +307,34 @@ >> $votings[$user_voting['optionId']]++; >> } >> >> - foreach ($votings as &$votes) { >> + $voteOptionsOverride = $this->get_options($type, $threadId); >> + ksort($voteOptionsOverride); >> + $voteOptionsGeneral = $this->get_options($type, $threadId, true); >> + ksort($voteOptionsGeneral); >> + >> + >> + $overrideMin = (int)$voteOptionsOverride[0]; >> + $overrideMax = (int)$voteOptionsOverride[count($voteOptionsOverride) - 1]; >> + >> + //$generalMin = (int)$voteOptionsGeneral[0]; >> + //$generalMax = (int)$voteOptionsGeneral[count($voteOptionsGeneral) - 1]; >> + >> + $normalized = 0; >> + foreach ($votings as $value => &$votes) { >> + $normalized += ($overrideMin / $overrideMax) * $value; >> + >> $votes = array( >> "votes" => $votes, >> - "percent" => round($percent * $votes) >> + "percent" => round($percent * $votes), >> ); >> } >> >> ksort($votings); >> >> + if ($normalize == true) { >> + return $normalized; >> + } >> + >> return $votings; >> } >> >> >> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. >> >> >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_sfd2d_oct >> _______________________________________________ >> Tikiwiki-cvs mailing list >> Tik...@li... >> https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs >> >> >> >> -- >> Robert Plummer >> ------------------------------------------------------------------------------ >> Everyone hates slow websites. So do we. >> Make your web apps faster with AppDynamics >> Download AppDynamics Lite for free today: >> http://p.sf.net/sfu/appdyn_sfd2d_oct_______________________________________________ >> Tikiwiki-cvs mailing list >> Tik...@li... >> https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_sfd2d_oct > _______________________________________________ > Tikiwiki-cvs mailing list > Tik...@li... > https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs |
From: <ar...@us...> - 2012-10-27 18:42:28
|
Revision: 43694 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43694&view=rev Author: arildb Date: 2012-10-27 18:42:21 +0000 (Sat, 27 Oct 2012) Log Message: ----------- [NEW] Added Same Row parameter to Text area field type. [FIX] Added implementation for tracker setting "Same Row" for the types where it was defined (text field, text area, numeric and currency) "Same row" is misleading. Should be same line, since both fields are in the same table row, but can have a line break. Note the parameter was marked as deprecated. I am not sure why. Set 'deprecated' => false Added default = 1 = Yes = Display the prompt text and the input field on the same line. (Default doesn't seem to be recognized in the GUI and "No", i.e. separate lines seems to apply by default) Modified Paths: -------------- branches/10.x/lib/core/Tracker/Field/Currency.php branches/10.x/lib/core/Tracker/Field/Numeric.php branches/10.x/lib/core/Tracker/Field/Text.php branches/10.x/lib/core/Tracker/Field/TextArea.php branches/10.x/lib/wiki-plugins/wikiplugin_tracker.php Modified: branches/10.x/lib/core/Tracker/Field/Currency.php =================================================================== --- branches/10.x/lib/core/Tracker/Field/Currency.php 2012-10-27 17:13:09 UTC (rev 43693) +++ branches/10.x/lib/core/Tracker/Field/Currency.php 2012-10-27 18:42:21 UTC (rev 43694) @@ -27,8 +27,9 @@ 'samerow' => array( 'name' => tr('Same Row'), 'description' => tr('Displays the next field on the same line.'), - 'deprecated' => true, + 'deprecated' => false, 'filter' => 'int', + 'default' => 1, 'options' => array( 0 => tr('No'), 1 => tr('Yes'), Modified: branches/10.x/lib/core/Tracker/Field/Numeric.php =================================================================== --- branches/10.x/lib/core/Tracker/Field/Numeric.php 2012-10-27 17:13:09 UTC (rev 43693) +++ branches/10.x/lib/core/Tracker/Field/Numeric.php 2012-10-27 18:42:21 UTC (rev 43694) @@ -27,8 +27,9 @@ 'samerow' => array( 'name' => tr('Same Row'), 'description' => tr('Displays the next field on the same line.'), - 'deprecated' => true, + 'deprecated' => false, 'filter' => 'int', + 'default' => 1, 'options' => array( 0 => tr('No'), 1 => tr('Yes'), Modified: branches/10.x/lib/core/Tracker/Field/Text.php =================================================================== --- branches/10.x/lib/core/Tracker/Field/Text.php 2012-10-27 17:13:09 UTC (rev 43693) +++ branches/10.x/lib/core/Tracker/Field/Text.php 2012-10-27 18:42:21 UTC (rev 43694) @@ -27,8 +27,9 @@ 'samerow' => array( 'name' => tr('Same Row'), 'description' => tr('Display the next field on the same row.'), - 'deprecated' => true, + 'deprecated' => false, 'filter' => 'int', + 'default' => 1, 'options' => array( 0 => tr('No'), 1 => tr('Yes'), Modified: branches/10.x/lib/core/Tracker/Field/TextArea.php =================================================================== --- branches/10.x/lib/core/Tracker/Field/TextArea.php 2012-10-27 17:13:09 UTC (rev 43693) +++ branches/10.x/lib/core/Tracker/Field/TextArea.php 2012-10-27 18:42:21 UTC (rev 43694) @@ -78,6 +78,17 @@ 'y' => tr('Yes'), ), ), + 'samerow' => array( + 'name' => tr('Same Row'), + 'description' => tr('Display the next field on the same row.'), + 'deprecated' => false, + 'filter' => 'int', + 'default' => 1, + 'options' => array( + 0 => tr('No'), + 1 => tr('Yes'), + ), + ), ), ), ); Modified: branches/10.x/lib/wiki-plugins/wikiplugin_tracker.php =================================================================== --- branches/10.x/lib/wiki-plugins/wikiplugin_tracker.php 2012-10-27 17:13:09 UTC (rev 43693) +++ branches/10.x/lib/wiki-plugins/wikiplugin_tracker.php 2012-10-27 18:42:21 UTC (rev 43694) @@ -1288,6 +1288,23 @@ } } else { $back.= "<tr><td"; + + // If type is has a samerow param and samerow is "No", show text on one line and the input field on the next + $isTextOnSameRow = true; + switch($f['type']) { + case 't': // Text field + case 'n': // Numeric field + case 'b': // Currency + $isTextOnSameRow = ($f['options_array'][0] == 0) ? false : true; + break; + case 'a': // Text area + $isTextOnSameRow = ($f['options_array'][6] == 0) ? false : true; + break; + } + if(!$isTextOnSameRow) { + $back.= " colspan='2'"; + } + if (!empty($colwidth)) { $back .= " width='".$colwidth."'"; } @@ -1296,7 +1313,13 @@ if ($showmandatory == 'y' and $f['isMandatory'] == 'y') { $back.= " <strong class='mandatory_star'>*</strong> "; } - $back.= '</td><td>'; + // If use different lines, add a line break. + // Otherwise a new column + if(!$isTextOnSameRow) { + $back.= "<br/>"; + } else { + $back.= '</td><td>'; + } $back .= wikiplugin_tracker_render_input($f, $item); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2012-11-03 17:06:48
|
Revision: 43771 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43771&view=rev Author: jonnybradley Date: 2012-11-03 17:06:40 +0000 (Sat, 03 Nov 2012) Log Message: ----------- [FIX] elfinder: Attempts ate getting thumbnails bigger - not working yet, mainly some var renaming and comments Modified Paths: -------------- branches/10.x/lib/core/Services/File/FinderController.php branches/10.x/lib/jquery_tiki/elfinder/elFinderVolumeTikiFiles.class.php Modified: branches/10.x/lib/core/Services/File/FinderController.php =================================================================== --- branches/10.x/lib/core/Services/File/FinderController.php 2012-11-03 16:07:50 UTC (rev 43770) +++ branches/10.x/lib/core/Services/File/FinderController.php 2012-11-03 17:06:40 UTC (rev 43771) @@ -42,18 +42,20 @@ public function action_finder($input) { - static $galleriesParentIds = null; + global $prefs, $tikidomainslash; - if ($galleriesParentIds === null) { + static $parentIds = null; + + if ($parentIds === null) { $ids = TikiLib::lib('filegal')->getGalleriesParentIds(); - $galleriesParentIds = array( 'galleries' => array(), 'files' => array() ); + $parentIds = array( 'galleries' => array(), 'files' => array() ); foreach ($ids as $id) { if ($id['parentId'] > 0) { - $galleriesParentIds['galleries'][(int) $id['galleryId']] = (int) $id['parentId']; + $parentIds['galleries'][(int) $id['galleryId']] = (int) $id['parentId']; } } $tiki_files = TikiDb::get()->table('tiki_files'); - $galleriesParentIds['files'] = $tiki_files->fetchMap('fileId', 'galleryId', array()); + $parentIds['files'] = $tiki_files->fetchMap('fileId', 'galleryId', array()); } @@ -70,19 +72,27 @@ // 'URL' => // URL to files (seems not to be REQUIRED) 'accessControl' => array($this, 'elFinderAccess'), // obey tiki perms - 'tmbURL' => 'temp/public/', ) ) ); if ($input->defaultGalleryId->int()) { $opts['roots'][0]['startPath'] = "d_{$input->defaultGalleryId->int()}"; // needs to be the cached name in elfinder (with 'd_' in front) - $opts['roots'][0]['accessControlData'] = array('startPath' => $input->defaultGalleryId->int(), 'deepGallerySearch' => $input->deepGallerySearch->int(), 'galleryParentIds' => $galleriesParentIds); + $opts['roots'][0]['accessControlData'] = array('startPath' => $input->defaultGalleryId->int(), 'deepGallerySearch' => $input->deepGallerySearch->int(), 'parentIds' => $parentIds); } else if (!$input->deepGallerySearch->int()) { $opts['roots'][0]['startPath'] = $this->fileController->defaultGalleryId; // root path just needs the id - $opts['roots'][0]['accessControlData'] = array('startPath' => $this->fileController->defaultGalleryId, 'deepGallerySearch' => $input->deepGallerySearch->int(), 'galleryParentIds' => $galleriesParentIds); + $opts['roots'][0]['accessControlData'] = array('startPath' => $this->fileController->defaultGalleryId, 'deepGallerySearch' => $input->deepGallerySearch->int(), 'parentIds' => $parentIds); } - //$opts['roots'][0]['treeDeep'] = $input->deepGallerySearch->int(); // 0/1 +/* thumb size not working due to css issues - tried this in setup/javascript.php but needs extensive css overhaul to get looking right + if ($prefs['fgal_elfinder_feature'] === 'y') { + $tmbSize = (int) $prefs['fgal_thumb_max_size'] / 2; + TikiLib::lib('header')->add_css(".elfinder-cwd-icon {width:{$tmbSize}px; height:{$tmbSize}px;}"); // def 48 + $tmbSize += 4; // def 52 + TikiLib::lib('header')->add_css(".elfinder-cwd-view-icons .elfinder-cwd-file-wrapper {width:{$tmbSize}px; height:{$tmbSize}px;}"); + $tmbSize += 28; $tmbSizeW = $tmbSize + 40; // def 120 x 80 + TikiLib::lib('header')->add_css(".elfinder-cwd-view-icons .elfinder-cwd-file {width: {$tmbSizeW}px;height: {$tmbSize}px;}"); + } +*/ // run elFinder $elFinder = new elFinder($opts); $connector = new elFinderConnector($elFinder); @@ -122,7 +132,7 @@ if ($isgal) { $visible = $this->isVisible($id, $data, $isgal); } else { - $visible = $this->isVisible($data['galleryParentIds']['files'][$id], $data, $isgal); + $visible = $this->isVisible($data['parentIds']['files'][$id], $data, $isgal); } } else { $isgal = true; @@ -160,7 +170,7 @@ $visible = true; return $visible; } else { - $isParentOf = $this->isParentOf($id, $data['startPath'], $data['galleryParentIds']['galleries']); + $isParentOf = $this->isParentOf($id, $data['startPath'], $data['parentIds']['galleries']); if (isset($data['deepGallerySearch']) && $data['deepGallerySearch'] == 0) { // not startPath and not deep if ($isParentOf && $isgal) { @@ -176,13 +186,13 @@ } else { $visible = false; } - $pid = $data['galleryParentIds']['galleries'][$id]; + $pid = $data['parentIds']['galleries'][$id]; while ($pid) { if ($pid == $data['startPath']) { $visible = true; break; } - $pid = $data['galleryParentIds']['galleries'][$pid]; + $pid = $data['parentIds']['galleries'][$pid]; } return $visible; } Modified: branches/10.x/lib/jquery_tiki/elfinder/elFinderVolumeTikiFiles.class.php =================================================================== --- branches/10.x/lib/jquery_tiki/elfinder/elFinderVolumeTikiFiles.class.php 2012-11-03 16:07:50 UTC (rev 43770) +++ branches/10.x/lib/jquery_tiki/elfinder/elFinderVolumeTikiFiles.class.php 2012-11-03 17:06:40 UTC (rev 43771) @@ -49,11 +49,13 @@ * @author Dmitry (dio) Levashov **/ public function __construct() { - global $tikidomainslash; + global $tikidomainslash, $prefs; $opts = array( 'tmbPath' => 'temp/public/'.$tikidomainslash, - 'tmpPath' => 'temp/public/'.$tikidomainslash, + 'tmpPath' => 'temp/'.$tikidomainslash, + 'tmbURL' => 'temp/public/'.$tikidomainslash, + //'tmbSize' => $prefs['fgal_thumb_max_size'], ); $this->options = array_merge($this->options, $opts); $this->options['mimeDetect'] = 'internal'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nk...@us...> - 2012-11-09 00:17:19
|
Revision: 43848 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43848&view=rev Author: nkoth Date: 2012-11-09 00:17:06 +0000 (Fri, 09 Nov 2012) Log Message: ----------- [FIX] Array key was getting messed up causing recalllastsearch feature to break inconsistently as it depends on it for fieldid Modified Paths: -------------- branches/10.x/lib/core/WikiParser/PluginMatcher.php branches/10.x/lib/wiki-plugins/wikiplugin_customsearch.php Modified: branches/10.x/lib/core/WikiParser/PluginMatcher.php =================================================================== --- branches/10.x/lib/core/WikiParser/PluginMatcher.php 2012-11-08 23:35:40 UTC (rev 43847) +++ branches/10.x/lib/core/WikiParser/PluginMatcher.php 2012-11-09 00:17:06 UTC (rev 43848) @@ -320,12 +320,14 @@ private $matcher = false; private $start = false; private $end = false; + private $initialstart = false; private $arguments = false; function __construct($matcher, $start) { $this->matcher = $matcher; $this->start = $start; + $this->initialstart = $start; } function findName($limit) @@ -480,6 +482,11 @@ return $this->end; } + function getInitialStart() + { + return $this->initialstart; + } + function getBodyStart() { return $this->bodyStart; Modified: branches/10.x/lib/wiki-plugins/wikiplugin_customsearch.php =================================================================== --- branches/10.x/lib/wiki-plugins/wikiplugin_customsearch.php 2012-11-08 23:35:40 UTC (rev 43847) +++ branches/10.x/lib/wiki-plugins/wikiplugin_customsearch.php 2012-11-09 00:17:06 UTC (rev 43848) @@ -178,10 +178,11 @@ }); "; - foreach ($matches as $k => $match) { + foreach ($matches as $match) { $name = $match->getName(); $arguments = $parser->parse($match->getArguments()); - $fieldid = "customsearch_{$id}_$k"; + $key = $match->getInitialStart(); + $fieldid = "customsearch_{$id}_$key"; if ($name == 'sort' && !empty($arguments['mode']) && empty($sort_mode)) { $sort_mode = $arguments['mode']; $match->replaceWith(''); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2012-11-16 14:20:46
|
Revision: 43976 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=43976&view=rev Author: jonnybradley Date: 2012-11-16 14:20:36 +0000 (Fri, 16 Nov 2012) Log Message: ----------- [FIX] wysiwyg: Remove double quotes that seem to now be appearing upstream from here - not an ideal fix but should avoid breaking too much else (thanks arildb for the testing and reports) Modified Paths: -------------- branches/10.x/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js branches/10.x/lib/parser/parserlib.php Modified: branches/10.x/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js =================================================================== --- branches/10.x/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js 2012-11-16 12:56:20 UTC (rev 43975) +++ branches/10.x/lib/ckeditor_tiki/plugins/tikiplugin/plugin.js 2012-11-16 14:20:36 UTC (rev 43976) @@ -44,7 +44,11 @@ var pairs = str.split("&"); for (var i = 0; i < pairs.length; i++) { if (pairs[i].indexOf("=") > -1) { - args[pairs[i].substring(0, pairs[i].indexOf("="))] = pairs[i].substring((pairs[i].indexOf("=") + 1)); + var val = pairs[i].substring((pairs[i].indexOf("=") + 1)); + if (val.match(/^".*"$/)) { // strip off extra quotes + val = val.substring(1, val.length - 1) + } + args[pairs[i].substring(0, pairs[i].indexOf("="))] = val; } } sel.selectElement( data ); Modified: branches/10.x/lib/parser/parserlib.php =================================================================== --- branches/10.x/lib/parser/parserlib.php 2012-11-16 12:56:20 UTC (rev 43975) +++ branches/10.x/lib/parser/parserlib.php 2012-11-16 14:20:36 UTC (rev 43976) @@ -1074,10 +1074,10 @@ not being detected, this fixes the over-encoded plugin body */ if (isset($_REQUEST['command']) && $_REQUEST['command'] == 'toHtmlFormat') { - $plugin_result = htmlspecialchars_decode($plugin_result); - $ck_editor_plugin = htmlspecialchars_decode($ck_editor_plugin); - $arg_str = htmlspecialchars_decode($arg_str); - $data = htmlspecialchars_decode($data); + $plugin_result = htmlspecialchars_decode(str_replace(array('""','""'), '"', $plugin_result)); + $ck_editor_plugin = htmlspecialchars_decode(str_replace(array('""','""'), '"', $ck_editor_plugin)); + $arg_str = str_replace(array('""','""'), '"', $arg_str); + $data = htmlspecialchars_decode(str_replace(array('""','""'), '"', $data)); } $ret = '~np~<'.$elem.' class="tiki_plugin" plugin="' . $name . '" style="' . $elem_style . '"' . This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2012-11-27 23:44:25
|
Revision: 44107 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=44107&view=rev Author: lphuberdeau Date: 2012-11-27 23:44:18 +0000 (Tue, 27 Nov 2012) Log Message: ----------- [MOD]?\194?\160Changing default namespace separator to :+: as per discussions on mailing list, modify multi_explode (used to split plugin arguments) to ignore the characters that are part of the namespace separator, tests were updated to cover the new cases Modified Paths: -------------- branches/10.x/lib/prefs/namespace.php branches/10.x/lib/test/TikiLib/MultiExplodeTest.php branches/10.x/lib/tikilib.php Modified: branches/10.x/lib/prefs/namespace.php =================================================================== --- branches/10.x/lib/prefs/namespace.php 2012-11-27 23:41:50 UTC (rev 44106) +++ branches/10.x/lib/prefs/namespace.php 2012-11-27 23:44:18 UTC (rev 44107) @@ -25,7 +25,7 @@ 'name' => tr('Namespace separator'), 'size' => 5, 'type' => 'text', - 'default' => '::', + 'default' => ':+:', 'keywords' => 'Namespaces', 'perspective' => false, ), Modified: branches/10.x/lib/test/TikiLib/MultiExplodeTest.php =================================================================== --- branches/10.x/lib/test/TikiLib/MultiExplodeTest.php 2012-11-27 23:41:50 UTC (rev 44106) +++ branches/10.x/lib/test/TikiLib/MultiExplodeTest.php 2012-11-27 23:44:18 UTC (rev 44107) @@ -7,6 +7,20 @@ class TikiLib_MultiExplodeTest extends PHPUnit_Framework_TestCase { + private $saved; + + function setUp() + { + global $prefs; + $this->saved = $prefs['namespace_separator']; + } + + function tearDown() + { + global $prefs; + $prefs['namespace_separator'] = $this->saved; + } + function testSimple() { $lib = TikiLib::lib('tiki'); @@ -14,5 +28,19 @@ $this->assertEquals(array('A::B'), $lib->multi_explode(':', 'A::B')); $this->assertEquals(array('A:::B'), $lib->multi_explode(':', 'A:::B')); } + + function testIgnoreCharactersUsedInNamespace() + { + global $prefs; + $lib = TikiLib::lib('tiki'); + + $prefs['namespace_separator'] = ':+:'; + $this->assertEquals(array('A:+:B:+:C', 'A:+:B'), $lib->multi_explode(':', 'A:+:B:+:C:A:+:B')); + $this->assertEquals(array('A', '-', 'B:+:C', 'A:+:B'), $lib->multi_explode(':', 'A:-:B:+:C:A:+:B')); + + $prefs['namespace_separator'] = ':-:'; + $this->assertEquals(array('A', '+', 'B', '+', 'C', 'A', '+', 'B'), $lib->multi_explode(':', 'A:+:B:+:C:A:+:B')); + $this->assertEquals(array('A:-:B', '+', 'C', 'A', '+', 'B'), $lib->multi_explode(':', 'A:-:B:+:C:A:+:B')); + } } Modified: branches/10.x/lib/tikilib.php =================================================================== --- branches/10.x/lib/tikilib.php 2012-11-27 23:41:50 UTC (rev 44106) +++ branches/10.x/lib/tikilib.php 2012-11-27 23:44:18 UTC (rev 44107) @@ -5328,6 +5328,8 @@ function multi_explode($delimiters, $string) { + global $prefs; + if (is_array($delimiters) == false) $delimiters = array($delimiters); $delimiter = array_shift($delimiters); @@ -5335,13 +5337,16 @@ $array = array(); $keep = false; + $ignore_chars = array_unique(str_split($prefs['namespace_separator'])); + foreach ($temp as $v) { - if (empty($v)) { + $filtered = str_replace($ignore_chars, '', $v); + if (empty($filtered)) { if (! $keep) { $array[count($array) - 1] .= $delimiter; } - $array[count($array) - 1] .= $delimiter; + $array[count($array) - 1] .= $v . $delimiter; $keep = true; } elseif ($keep) { $array[count($array) - 1] .= $v; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jon...@us...> - 2012-12-10 20:16:21
|
Revision: 44235 http://tikiwiki.svn.sourceforge.net/tikiwiki/?rev=44235&view=rev Author: jonnybradley Date: 2012-12-10 20:16:14 +0000 (Mon, 10 Dec 2012) Log Message: ----------- [FIX] jcapture: Record capture user in file gallery Modified Paths: -------------- branches/10.x/lib/core/Services/File/Controller.php branches/10.x/lib/core/Services/JCapture/Controller.php branches/10.x/lib/filegals/filegallib.php Modified: branches/10.x/lib/core/Services/File/Controller.php =================================================================== --- branches/10.x/lib/core/Services/File/Controller.php 2012-12-10 19:02:32 UTC (rev 44234) +++ branches/10.x/lib/core/Services/File/Controller.php 2012-12-10 20:16:14 UTC (rev 44235) @@ -28,6 +28,7 @@ $type = $input->type->text(); $data = $input->data->none(); $fileId = $input->fileId->int(); + $asuser = $input->user->text(); $data = base64_decode($data); @@ -35,9 +36,9 @@ $type = $mimelib->from_content($name, $data); if ($fileId) { - $this->updateFile($gal_info, $name, $size, $type, $data, $fileId); + $this->updateFile($gal_info, $name, $size, $type, $data, $fileId, $asuser); } else { - $fileId = $this->uploadFile($gal_info, $name, $size, $type, $data); + $fileId = $this->uploadFile($gal_info, $name, $size, $type, $data, $asuser); } if ($fileId === false) { @@ -169,16 +170,16 @@ return $filegallib->get_file_gallery_info($galleryId); } - private function uploadFile($gal_info, $name, $size, $type, $data) + private function uploadFile($gal_info, $name, $size, $type, $data, $asuser = null) { $filegallib = TikiLib::lib('filegal'); - return $filegallib->upload_single_file($gal_info, $name, $size, $type, $data); + return $filegallib->upload_single_file($gal_info, $name, $size, $type, $data, $asuser); } - private function updateFile($gal_info, $name, $size, $type, $data, $fileId) + private function updateFile($gal_info, $name, $size, $type, $data, $fileId, $asuser = null) { $filegallib = TikiLib::lib('filegal'); - return $filegallib->update_single_file($gal_info, $name, $size, $type, $data, $fileId); + return $filegallib->update_single_file($gal_info, $name, $size, $type, $data, $fileId, $asuser); } } Modified: branches/10.x/lib/core/Services/JCapture/Controller.php =================================================================== --- branches/10.x/lib/core/Services/JCapture/Controller.php 2012-12-10 19:02:32 UTC (rev 44234) +++ branches/10.x/lib/core/Services/JCapture/Controller.php 2012-12-10 20:16:14 UTC (rev 44235) @@ -54,13 +54,10 @@ function action_upload($input) { - global $prefs, $is_token_access; + global $prefs, $is_token_access, $detailtoken; - $tok = $input->sectok->text(); - $tokenlib = AuthTokens::build($prefs); - $token = $tokenlib->getToken($tok); if (!$is_token_access) { - throw new Services_Exception_NotAvailable(tr('Not authorised: ') . $tok); + throw new Services_Exception_NotAvailable(tr('Not authorised')); } $fileController = new Services_File_Controller(); @@ -71,6 +68,10 @@ $input->offsetSet('type', $_FILES['Filedata']['type']); $input->offsetSet('galleryId', $prefs['fgal_for_jcapture']); $input->offsetSet('data', base64_encode(file_get_contents($_FILES['Filedata']['tmp_name']))); + $params = json_decode($detailtoken['parameters']); + if ($params && isset($params->user)) { + $input->offsetSet('user', $params->user); + } $ret = $fileController->action_upload($input); } else { Modified: branches/10.x/lib/filegals/filegallib.php =================================================================== --- branches/10.x/lib/filegals/filegallib.php 2012-12-10 19:02:32 UTC (rev 44234) +++ branches/10.x/lib/filegals/filegallib.php 2012-12-10 20:16:14 UTC (rev 44235) @@ -3451,26 +3451,32 @@ ); } - function upload_single_file($gal_info, $name, $size, $type, $data) + function upload_single_file($gal_info, $name, $size, $type, $data, $asuser = null) { global $user; + if (empty($asuser)) { + $asuser = $user; + } if ($this->convert_from_data($gal_info, $fhash, $data)) { $data = null; } - return $this->insert_file($gal_info['galleryId'], $name, '', $name, $data, $size, $type, $user, $fhash, ''); + return $this->insert_file($gal_info['galleryId'], $name, '', $name, $data, $size, $type, $asuser, $fhash, ''); } - function update_single_file($gal_info, $name, $size, $type, $data, $id) + function update_single_file($gal_info, $name, $size, $type, $data, $id, $asuser = null) { global $user; + if (empty($asuser)) { + $asuser = $user; + } if ($this->convert_from_data($gal_info, $fhash, $data)) { $data = null; } $didFileReplace = true; - return $this->replace_file($id, $name, '', $name, $data, $size, $type, $user, $fhash, '', $gal_info, $didFileReplace); + return $this->replace_file($id, $name, '', $name, $data, $size, $type, $asuser, $fhash, '', $gal_info, $didFileReplace); } private function convert_from_data($gal_info, & $fhash, $data) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cha...@us...> - 2012-12-31 08:20:12
|
Revision: 44404 http://sourceforge.net/p/tikiwiki/code/44404 Author: changi67 Date: 2012-12-31 08:20:09 +0000 (Mon, 31 Dec 2012) Log Message: ----------- [FIX] Subfolder external links Property Changed: ---------------- branches/10.x/lib/pear/ branches/10.x/lib/test/ Index: branches/10.x/lib/pear =================================================================== --- branches/10.x/lib/pear 2012-12-30 22:59:10 UTC (rev 44403) +++ branches/10.x/lib/pear 2012-12-31 08:20:09 UTC (rev 44404) Property changes on: branches/10.x/lib/pear ___________________________________________________________________ Modified: svn:externals ## -1 +1 ## -Text https://tikiwiki.svn.sourceforge.net/svnroot/tikiwiki/third_party/textwiki +Text http://svn.code.sf.net/p/tikiwiki/code/third_party/textwiki Index: branches/10.x/lib/test =================================================================== --- branches/10.x/lib/test 2012-12-30 22:59:10 UTC (rev 44403) +++ branches/10.x/lib/test 2012-12-31 08:20:09 UTC (rev 44404) Property changes on: branches/10.x/lib/test ___________________________________________________________________ Modified: svn:externals ## -1 +1 ## -vfsStream https://tikiwiki.svn.sourceforge.net/svnroot/tikiwiki/third_party/vfsStream +vfsStream http://svn.code.sf.net/p/tikiwiki/code/third_party/vfsStream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-01-25 16:07:47
|
Revision: 44616 http://sourceforge.net/p/tikiwiki/code/44616 Author: lphuberdeau Date: 2013-01-25 16:07:25 +0000 (Fri, 25 Jan 2013) Log Message: ----------- [FIX] Crash when indexing users without users trackers, 0,0 location considered as not a coordinate Modified Paths: -------------- branches/10.x/lib/core/Search/ContentSource/UserSource.php branches/10.x/lib/core/Search/GlobalSource/Geolocation.php branches/10.x/lib/geo/geolib.php branches/10.x/lib/smarty_tiki/modifier.userlink.php Modified: branches/10.x/lib/core/Search/ContentSource/UserSource.php =================================================================== --- branches/10.x/lib/core/Search/ContentSource/UserSource.php 2013-01-25 12:28:43 UTC (rev 44615) +++ branches/10.x/lib/core/Search/ContentSource/UserSource.php 2013-01-25 16:07:25 UTC (rev 44616) @@ -134,8 +134,9 @@ $handlers = array(); foreach ($result as $row) { - $definition = Tracker_Definition::get($row['usersTrackerId']); - $handlers = array_merge($handlers, Search_ContentSource_TrackerItemSource::getIndexableHandlers($definition)); + if ($definition = Tracker_Definition::get($row['usersTrackerId'])) { + $handlers = array_merge($handlers, Search_ContentSource_TrackerItemSource::getIndexableHandlers($definition)); + } } return $handlers; @@ -149,12 +150,17 @@ users_usergroups INNER JOIN users_groups USING(groupName) INNER JOIN tiki_tracker_item_fields ON usersFieldId = fieldId - WHERE value = ? + WHERE value = ? AND usersTrackerId IS NOT NULL ", array($user)); $data = array(); foreach ($result as $row) { $definition = Tracker_Definition::get($row['trackerId']); + + if (! $definition) { + continue; + } + $item = $this->trk->get_tracker_item($row['itemId']); foreach (Search_ContentSource_TrackerItemSource::getIndexableHandlers($definition, $item) as $baseKey => $handler) { Modified: branches/10.x/lib/core/Search/GlobalSource/Geolocation.php =================================================================== --- branches/10.x/lib/core/Search/GlobalSource/Geolocation.php 2013-01-25 12:28:43 UTC (rev 44615) +++ branches/10.x/lib/core/Search/GlobalSource/Geolocation.php 2013-01-25 16:07:25 UTC (rev 44616) @@ -9,7 +9,7 @@ { function getData($objectType, $objectId, Search_Type_Factory_Interface $typeFactory, array $data = array()) { - if (isset($data['geo_location']) || isset($data['geo_location'])) { + if (isset($data['geo_location'])) { return false; } Modified: branches/10.x/lib/geo/geolib.php =================================================================== --- branches/10.x/lib/geo/geolib.php 2013-01-25 12:28:43 UTC (rev 44615) +++ branches/10.x/lib/geo/geolib.php 2013-01-25 16:07:25 UTC (rev 44616) @@ -19,6 +19,10 @@ 'lon' => $attributes['tiki.geo.lon'], ); + if ($coords['lat'] == 0 && $coords['lon'] == 0) { + return; + } + if (! empty($attributes['tiki.geo.google.zoom'])) { $coords['zoom'] = $attributes['tiki.geo.google.zoom']; } @@ -37,6 +41,10 @@ function build_location_string($coords) { if (! empty($coords['lat']) && ! empty($coords['lon'])) { + if ($coords['lat'] == 0 && $coords['lon'] == 0) { + return; + } + $string = "{$coords['lon']},{$coords['lat']}"; if (! empty($coords['zoom'])) { Modified: branches/10.x/lib/smarty_tiki/modifier.userlink.php =================================================================== --- branches/10.x/lib/smarty_tiki/modifier.userlink.php 2013-01-25 12:28:43 UTC (rev 44615) +++ branches/10.x/lib/smarty_tiki/modifier.userlink.php 2013-01-25 16:07:25 UTC (rev 44616) @@ -182,7 +182,7 @@ $lon = $userlib->get_user_preference($other_user, 'lon'); $zoom = $userlib->get_user_preference($other_user, 'zoom'); - if ($lat || $lon) { + if (! ($lat == 0 && $lon == 0)) { $class .= " geolocated"; $metadata .= " data-geo-lat='$lat' data-geo-lon='$lon'"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-01-25 17:11:18
|
Revision: 44620 http://sourceforge.net/p/tikiwiki/code/44620 Author: lphuberdeau Date: 2013-01-25 17:11:15 +0000 (Fri, 25 Jan 2013) Log Message: ----------- [FIX] Specify the list of valid sort fields to prevent query errors when the user enters a wrong value Modified Paths: -------------- branches/10.x/lib/articles/artlib.php branches/10.x/lib/core/TikiDb/Bridge.php branches/10.x/lib/core/TikiDb.php Modified: branches/10.x/lib/articles/artlib.php =================================================================== --- branches/10.x/lib/articles/artlib.php 2013-01-25 16:40:43 UTC (rev 44619) +++ branches/10.x/lib/articles/artlib.php 2013-01-25 17:11:15 UTC (rev 44620) @@ -1369,7 +1369,18 @@ from `tiki_articles` $fromSql $join - $mid $mid2 order by " . $this->convertSortMode($sort_mode); + $mid $mid2 order by " . $this->convertSortMode($sort_mode, array( + 'title', + 'state', + 'authorName', + 'topicId', + 'topicName', + 'publishDate', + 'expireDate', + 'created', + 'author', + 'rating', + )); $result = $this->query($query, $bindvars, $maxRecords, $offset); $query_cant = "select distinct count(*) from `tiki_articles` $fromSql $join $mid $mid2"; Modified: branches/10.x/lib/core/TikiDb/Bridge.php =================================================================== --- branches/10.x/lib/core/TikiDb/Bridge.php 2013-01-25 16:40:43 UTC (rev 44619) +++ branches/10.x/lib/core/TikiDb/Bridge.php 2013-01-25 17:11:15 UTC (rev 44620) @@ -87,9 +87,9 @@ self::get()->convertQueryTablePrefixes($query); } // }}} - function convertSortMode( $sort_mode ) // {{{ + function convertSortMode( $sort_mode, $fields = null ) // {{{ { - return self::get()->convertSortMode($sort_mode); + return self::get()->convertSortMode($sort_mode, $fields); } // }}} function getQuery() // {{{ Modified: branches/10.x/lib/core/TikiDb.php =================================================================== --- branches/10.x/lib/core/TikiDb.php 2013-01-25 16:40:43 UTC (rev 44619) +++ branches/10.x/lib/core/TikiDb.php 2013-01-25 17:11:15 UTC (rev 44620) @@ -170,7 +170,7 @@ } } // }}} - function convertSortMode( $sort_mode ) // {{{ + function convertSortMode( $sort_mode, $fields = null ) // {{{ { if ( !$sort_mode ) { return ''; @@ -183,8 +183,8 @@ return "RAND()"; } - $sorts=explode(',', $sort_mode); - foreach ($sorts as $k => $sort) { + $sorts = array(); + foreach (explode(',', $sort_mode) as $sort) { // force ending to either _asc or _desc unless it's "random" $sep = strrpos($sort, '_'); @@ -196,13 +196,24 @@ $sort .= 'asc'; } + // When valid fields are specified, skip those not available + if (is_array($fields) && preg_match('/^(.*)_(asc|desc)$/', $sort, $parts)) { + if (! in_array($parts[1], $fields)) { + continue; + } + } + $sort = preg_replace('/_asc$/', '` asc', $sort); $sort = preg_replace('/_desc$/', '` desc', $sort); $sort = '`' . $sort; $sort = str_replace('.', '`.`', $sort); - $sorts[$k]=$sort; + $sorts[] = $sort; } + if (empty($sorts)) { + return '1'; + } + $sort_mode=implode(',', $sorts); return $sort_mode; } // }}} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-01-28 15:29:52
|
Revision: 44651 http://sourceforge.net/p/tikiwiki/code/44651 Author: lphuberdeau Date: 2013-01-28 15:29:48 +0000 (Mon, 28 Jan 2013) Log Message: ----------- [FIX] Map pop-up behavior not consistent depending on how the item was loaded Modified Paths: -------------- branches/10.x/lib/jquery_tiki/tiki-maps.js branches/10.x/lib/objectlib.php Modified: branches/10.x/lib/jquery_tiki/tiki-maps.js =================================================================== --- branches/10.x/lib/jquery_tiki/tiki-maps.js 2013-01-28 12:46:58 UTC (rev 44650) +++ branches/10.x/lib/jquery_tiki/tiki-maps.js 2013-01-28 15:29:48 UTC (rev 44651) @@ -582,6 +582,8 @@ , zoom = $(this).data('geo-zoom') , extent = $(this).data('geo-extent') , icon = $(this).data('icon-src') + , object = $(this).data('object') + , type = $(this).data('type') , content = $(this).clone().data({}).wrap('<span/>').parent().html() ; @@ -590,6 +592,8 @@ central = {lat: lat, lon: lon, zoom: zoom ? zoom : 0}; } else { $(container).addMapMarker({ + type: type, + object: object, lon: lon, lat: lat, content: content, Modified: branches/10.x/lib/objectlib.php =================================================================== --- branches/10.x/lib/objectlib.php 2013-01-28 12:46:58 UTC (rev 44650) +++ branches/10.x/lib/objectlib.php 2013-01-28 15:29:48 UTC (rev 44651) @@ -509,7 +509,7 @@ if ($coordinates = TikiLib::lib('geo')->get_coordinates($type, $object)) { $classList[] = 'geolocated'; - $metadata = " data-geo-lat=\"{$coordinates['lat']}\" data-geo-lon=\"{$coordinates['lon']}\""; + $metadata .= " data-geo-lat=\"{$coordinates['lat']}\" data-geo-lon=\"{$coordinates['lon']}\""; if (isset($coordinates['zoom'])) { $metadata .= " data-geo-zoom=\"{$coordinates['zoom']}\""; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-01-28 16:22:21
|
Revision: 44653 http://sourceforge.net/p/tikiwiki/code/44653 Author: lphuberdeau Date: 2013-01-28 16:22:16 +0000 (Mon, 28 Jan 2013) Log Message: ----------- [FIX] Multple issues with file indexing (seems like a commit portion was missing, sorry) Modified Paths: -------------- branches/10.x/lib/core/FileGallery/Wrapper.php branches/10.x/lib/filegals/filegallib.php Modified: branches/10.x/lib/core/FileGallery/Wrapper.php =================================================================== --- branches/10.x/lib/core/FileGallery/Wrapper.php 2013-01-28 15:59:57 UTC (rev 44652) +++ branches/10.x/lib/core/FileGallery/Wrapper.php 2013-01-28 16:22:16 UTC (rev 44653) @@ -39,7 +39,7 @@ @file_put_contents($tmpfname, $this->data); return $tmpfname; } else { - $savedir = $this->get_gallery_save_dir($this->galleryId); + $savedir = $this->getGallerySaveDir(); return $savedir . $this->path; } @@ -48,13 +48,20 @@ function getContents() { if (! empty($this->path)) { - $savedir = $this->get_gallery_save_dir($galleryId); + $savedir = $this->getGallerySaveDir(); - $tmpfname = $savedir . $path; + $tmpfname = $savedir . $this->path; + return file_get_contents($tmpfname); } else { - return $data; + return $this->data; } } + + private function getGallerySaveDir() + { + $filegallib = TikiLib::lib('filegal'); + return $filegallib->get_gallery_save_dir($this->galleryId); + } } Modified: branches/10.x/lib/filegals/filegallib.php =================================================================== --- branches/10.x/lib/filegals/filegallib.php 2013-01-28 15:59:57 UTC (rev 44652) +++ branches/10.x/lib/filegals/filegallib.php 2013-01-28 16:22:16 UTC (rev 44653) @@ -24,7 +24,7 @@ } } - private function get_gallery_save_dir($galleryId, $galInfo = null) + public function get_gallery_save_dir($galleryId, $galInfo = null) { global $prefs; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-01-28 17:32:50
|
Revision: 44655 http://sourceforge.net/p/tikiwiki/code/44655 Author: lphuberdeau Date: 2013-01-28 17:32:47 +0000 (Mon, 28 Jan 2013) Log Message: ----------- [MOD] Use https for google maps api when current session is https Modified Paths: -------------- branches/10.x/lib/headerlib.php branches/10.x/lib/jquery_tiki/tiki-maps.js Modified: branches/10.x/lib/headerlib.php =================================================================== --- branches/10.x/lib/headerlib.php 2013-01-28 16:56:57 UTC (rev 44654) +++ branches/10.x/lib/headerlib.php 2013-01-28 17:32:47 UTC (rev 44655) @@ -763,7 +763,7 @@ $args['key'] = $prefs['gmap_key']; } - $this->add_jsfile('http://maps.google.com/maps/api/js?' . http_build_query($args, '', '&'), 'external'); + $this->add_jsfile($tikilib->httpScheme() . '://maps.google.com/maps/api/js?' . http_build_query($args, '', '&'), 'external'); } /* Needs additional testing Modified: branches/10.x/lib/jquery_tiki/tiki-maps.js =================================================================== --- branches/10.x/lib/jquery_tiki/tiki-maps.js 2013-01-28 16:56:57 UTC (rev 44654) +++ branches/10.x/lib/jquery_tiki/tiki-maps.js 2013-01-28 17:32:47 UTC (rev 44655) @@ -1,6 +1,10 @@ (function () { - var mapNumber = 0; + var mapNumber = 0, currentProtocol = document.location.protocol; + if (currentProtocol != 'http:' && currentProtocol != 'https:') { + currentProtocol = 'https:'; + } + function delayedExecutor(delay, callback) { var timeout; @@ -653,7 +657,7 @@ if (jqueryTiki.googleStreetViewOverlay) { container.streetview.overlay = new OpenLayers.Layer.XYZ( "StreetView Overlay", - "http://cbk0.google.com/cbk?output=overlay&zoom=${z}&x=${x}&y=${y}&cb_client=api", + currentProtocol + "//cbk0.google.com/cbk?output=overlay&zoom=${z}&x=${x}&y=${y}&cb_client=api", {sphericalMercator: true, displayInLayerSwitcher: false} ); container.map.addLayer(container.streetview.overlay); @@ -711,7 +715,7 @@ canvas.getImageUrl = function () { var pov = canvas.panorama.getPov(); var pos = canvas.panorama.getPosition(); - var base = 'http://maps.googleapis.com/maps/api/streetview?' + var base = currentProtocol + '//maps.googleapis.com/maps/api/streetview?' + 'size=' + width + 'x' + height + '&' + 'location=' + escape(pos.toUrlValue()) + '&' + 'heading=' + escape(pov.heading) + '&' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-02-06 21:16:50
|
Revision: 44779 http://sourceforge.net/p/tikiwiki/code/44779 Author: lphuberdeau Date: 2013-02-06 21:16:45 +0000 (Wed, 06 Feb 2013) Log Message: ----------- [FIX]?\194?\160Prevent auto-parsing of forum posts while fetching content because a) the indexer does it b) nasty redirect plugin can break the indexing Modified Paths: -------------- branches/10.x/lib/comments/commentslib.php branches/10.x/lib/core/Search/ContentSource/ForumPostSource.php Modified: branches/10.x/lib/comments/commentslib.php =================================================================== --- branches/10.x/lib/comments/commentslib.php 2013-02-06 16:26:40 UTC (rev 44778) +++ branches/10.x/lib/comments/commentslib.php 2013-02-06 21:16:45 UTC (rev 44779) @@ -15,6 +15,7 @@ class Comments extends TikiLib { public $time_control = 0; + private $extras = true; /* Functions for the forums */ function report_post($forumId, $parentId, $threadId, $user, $reason = '') @@ -1313,6 +1314,11 @@ return $ret; } + public function extras_enabled($enabled) + { + $this->extras = (bool) $enabled; + } + // FORUMS END function get_comment($id, $message_id=null, $forum_info=null) { @@ -1344,6 +1350,10 @@ function add_comments_extras(&$res, $forum_info=null) { + if (! $this->extras) { + return; + } + // this function adds some extras to the referenced array. // This array should already contain the contents of the tiki_comments table row // used in $this->get_comment and $this->get_comments Modified: branches/10.x/lib/core/Search/ContentSource/ForumPostSource.php =================================================================== --- branches/10.x/lib/core/Search/ContentSource/ForumPostSource.php 2013-02-06 16:26:40 UTC (rev 44778) +++ branches/10.x/lib/core/Search/ContentSource/ForumPostSource.php 2013-02-06 21:16:45 UTC (rev 44779) @@ -30,6 +30,7 @@ global $prefs; $commentslib = TikiLib::lib('comments'); + $commentslib->extras_enabled(false); $comment = $commentslib->get_comment($objectId); $lastModification = $comment['commentDate']; @@ -48,6 +49,8 @@ } } + $commentslib->extras_enabled(true); + $data = array( 'title' => $typeFactory->sortable($comment['title']), 'language' => $typeFactory->identifier($forum_language), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <lph...@us...> - 2013-02-07 18:58:19
|
Revision: 44795 http://sourceforge.net/p/tikiwiki/code/44795 Author: lphuberdeau Date: 2013-02-07 18:58:16 +0000 (Thu, 07 Feb 2013) Log Message: ----------- [FIX] Prevent any redirect while indexing, assuming they go through redirect() Modified Paths: -------------- branches/10.x/lib/search/searchlib-unified.php branches/10.x/lib/smarty_tiki/function.user_registration.php branches/10.x/lib/tikiaccesslib.php Modified: branches/10.x/lib/search/searchlib-unified.php =================================================================== --- branches/10.x/lib/search/searchlib-unified.php 2013-02-07 18:53:02 UTC (rev 44794) +++ branches/10.x/lib/search/searchlib-unified.php 2013-02-07 18:58:16 UTC (rev 44795) @@ -39,6 +39,8 @@ $queuelib = TikiLib::lib('queue'); $toProcess = $queuelib->pull(self::INCREMENT_QUEUE, $count); $errlib = TikiLib::lib('errorreport'); + $access = TikiLib::lib('access'); + $access->preventRedirect(true); if (count($toProcess)) { try { @@ -56,6 +58,8 @@ ); } } + + $access->preventRedirect(false); } function getQueueCount() @@ -99,8 +103,11 @@ // Build in -new TikiLib::lib('queue')->clear(self::INCREMENT_QUEUE); + $access = TikiLib::lib('access'); + $access->preventRedirect(true); $indexer = $this->buildIndexer($index, $loggit); $stat = $indexer->rebuild(); + $access->preventRedirect(false); // Force destruction to clear locks unset($indexer); Modified: branches/10.x/lib/smarty_tiki/function.user_registration.php =================================================================== --- branches/10.x/lib/smarty_tiki/function.user_registration.php 2013-02-07 18:53:02 UTC (rev 44794) +++ branches/10.x/lib/smarty_tiki/function.user_registration.php 2013-02-07 18:58:16 UTC (rev 44795) @@ -28,16 +28,15 @@ $smarty->assign('openid_associate', 'n'); // NOTE that this is not a standard access check, it checks for the opposite of that, i.e. whether logged in already - if (!empty($user)) { + if (false && !empty($user)) { $smarty->assign('msg', tra('You are already logged in')); $smarty->display('error.tpl'); return; } $smarty->assign('showmsg', 'n'); // ensure ssl - if (!$https_mode && $prefs['https_login'] == 'required') { - header('Location: ' . $base_url_https . 'tiki-register.php'); - die(); + if (true || !$https_mode && $prefs['https_login'] == 'required') { + TikiLib::lib('access')->redirect($base_url_https . 'tiki-register.php'); } //get custom fields $customfields = $registrationlib->get_customfields(); @@ -234,4 +233,4 @@ $smarty->assign('email_valid', 'y'); return $smarty->fetch('user_registration.tpl'); -} \ No newline at end of file +} Modified: branches/10.x/lib/tikiaccesslib.php =================================================================== --- branches/10.x/lib/tikiaccesslib.php 2013-02-07 18:53:02 UTC (rev 44794) +++ branches/10.x/lib/tikiaccesslib.php 2013-02-07 18:58:16 UTC (rev 44795) @@ -20,7 +20,13 @@ */ class TikiAccessLib extends TikiLib { + private $noRedirect = false; + function preventRedirect($prevent) + { + $this->noRedirect = (bool) $prevent; + } + /** * check that the user is admin or has admin permissions * @@ -398,6 +404,10 @@ { global $prefs; + if ($this->noRedirect) { + return; + } + if ( $url == '' ) $url = $prefs['tikiIndex']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <cha...@us...> - 2013-02-08 12:18:16
|
Revision: 44836 http://sourceforge.net/p/tikiwiki/code/44836 Author: changi67 Date: 2013-02-08 12:18:13 +0000 (Fri, 08 Feb 2013) Log Message: ----------- [FIX] Use relative path instead of full path for external refs Property Changed: ---------------- branches/10.x/lib/ branches/10.x/lib/pear/ branches/10.x/lib/test/ Index: branches/10.x/lib =================================================================== --- branches/10.x/lib 2013-02-08 12:16:15 UTC (rev 44835) +++ branches/10.x/lib 2013-02-08 12:18:13 UTC (rev 44836) Property changes on: branches/10.x/lib ___________________________________________________________________ Modified: svn:externals ## -1,20 +1,20 ## -http://svn.code.sf.net/p/tikiwiki/code/third_party/adodb@44045 adodb -http://svn.code.sf.net/p/tikiwiki/code/third_party/smarty31@44045 smarty -http://svn.code.sf.net/p/tikiwiki/code/third_party/jscalendar@44045 jscalendar -http://svn.code.sf.net/p/tikiwiki/code/third_party/fullcalendar@44045 fullcalendar -http://svn.code.sf.net/p/tikiwiki/code/third_party/htmlpurifier@44045 htmlpurifier -http://svn.code.sf.net/p/tikiwiki/code/third_party/pclzip@44045 pclzip -http://svn.code.sf.net/p/tikiwiki/code/third_party/jquery@44045 jquery -http://svn.code.sf.net/p/tikiwiki/code/third_party/phpcas@44045 phpcas -http://svn.code.sf.net/p/tikiwiki/code/third_party/ezcomponents@44045 ezcomponents -http://svn.code.sf.net/p/tikiwiki/code/third_party/ckeditor@41830 ckeditor -http://svn.code.sf.net/p/tikiwiki/code/third_party/codemirror@44045 codemirror -https://svg-edit.googlecode.com/svn/branches/2.6/editor svg-edit -http://svn.code.sf.net/p/tikiwiki/code/third_party/mobileESP@44045 mobileesp -http://svn.code.sf.net/p/tikiwiki/code/third_party/html5shim@44045 html5shim +^/third_party/adodb@44045 adodb +^/third_party/smarty31@44045 smarty +^/third_party/jscalendar@44045 jscalendar +^/third_party/fullcalendar@44045 fullcalendar +^/third_party/htmlpurifier@44045 htmlpurifier +^/third_party/pclzip@44045 pclzip +^/third_party/jquery@44045 jquery +^/third_party/phpcas@44045 phpcas +^/third_party/ezcomponents@44045 ezcomponents +^/third_party/ckeditor@41830 ckeditor +^/third_party/codemirror@44045 codemirror +^/third_party/mobileESP@44045 mobileesp +^/third_party/html5shim@44045 html5shim +^/third_party/simile_timeline@44045 simile_timeline +^/third_party/phpseclib@44045 phpseclib +^/third_party/rangy@44045 rangy +http://svn.code.sf.net/p/jcapture-applet/code/trunk@42 jcapture http://jquerys5.googlecode.com/svn/trunk@64 jquery.s5 http://jquerysheet.googlecode.com/svn/branches/2.0.x@497 jquery.sheet -http://svn.code.sf.net/p/tikiwiki/code/third_party/simile_timeline@44045 simile_timeline -http://svn.code.sf.net/p/tikiwiki/code/third_party/phpseclib@44045 phpseclib -http://svn.code.sf.net/p/tikiwiki/code/third_party/rangy@44045 rangy -http://svn.code.sf.net/p/jcapture-applet/code/trunk@42 jcapture +https://svg-edit.googlecode.com/svn/branches/2.6/editor svg-edit Index: branches/10.x/lib/pear =================================================================== --- branches/10.x/lib/pear 2013-02-08 12:16:15 UTC (rev 44835) +++ branches/10.x/lib/pear 2013-02-08 12:18:13 UTC (rev 44836) Property changes on: branches/10.x/lib/pear ___________________________________________________________________ Modified: svn:externals ## -1 +1 ## -Text http://svn.code.sf.net/p/tikiwiki/code/third_party/textwiki +^/third_party/textwiki Text Index: branches/10.x/lib/test =================================================================== --- branches/10.x/lib/test 2013-02-08 12:16:15 UTC (rev 44835) +++ branches/10.x/lib/test 2013-02-08 12:18:13 UTC (rev 44836) Property changes on: branches/10.x/lib/test ___________________________________________________________________ Modified: svn:externals ## -1 +1 ## -vfsStream http://svn.code.sf.net/p/tikiwiki/code/third_party/vfsStream +^/third_party/vfsStream vfsStream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2013-02-11 02:18:40
|
Revision: 44853 http://sourceforge.net/p/tikiwiki/code/44853 Author: skinut Date: 2013-02-11 02:18:35 +0000 (Mon, 11 Feb 2013) Log Message: ----------- Fixed error indicating lib/core/FileGallery/Wrapper.php function get_gallery_save_dir does not exist when uploading a file. Updated Wrapper.php to include function from filegallib.php. Modified Paths: -------------- branches/10.x/lib/core/FileGallery/Wrapper.php branches/10.x/lib/filegals/filegallib.php Modified: branches/10.x/lib/core/FileGallery/Wrapper.php =================================================================== --- branches/10.x/lib/core/FileGallery/Wrapper.php 2013-02-10 15:18:59 UTC (rev 44852) +++ branches/10.x/lib/core/FileGallery/Wrapper.php 2013-02-11 02:18:35 UTC (rev 44853) @@ -1,11 +1,11 @@ <?php -// (c) Copyright 2002-2013 by authors of the Tiki Wiki CMS Groupware Project +// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project // // All Rights Reserved. See copyright.txt for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. // $Id$ -class FileGallery_Wrapper +class FileGallery_Wrapper extends FileGalLib { private $data; private $path; @@ -39,7 +39,7 @@ @file_put_contents($tmpfname, $this->data); return $tmpfname; } else { - $savedir = $this->getGallerySaveDir(); + $savedir = $this->get_gallery_save_dir($this->galleryId); return $savedir . $this->path; } @@ -48,20 +48,13 @@ function getContents() { if (! empty($this->path)) { - $savedir = $this->getGallerySaveDir(); + $savedir = $this->get_gallery_save_dir($galleryId); - $tmpfname = $savedir . $this->path; + $tmpfname = $savedir . $path; - return file_get_contents($tmpfname); } else { - return $this->data; + return $data; } } - - private function getGallerySaveDir() - { - $filegallib = TikiLib::lib('filegal'); - return $filegallib->get_gallery_save_dir($this->galleryId); - } } Modified: branches/10.x/lib/filegals/filegallib.php =================================================================== --- branches/10.x/lib/filegals/filegallib.php 2013-02-10 15:18:59 UTC (rev 44852) +++ branches/10.x/lib/filegals/filegallib.php 2013-02-11 02:18:35 UTC (rev 44853) @@ -1,5 +1,5 @@ <?php -// (c) Copyright 2002-2013 by authors of the Tiki Wiki CMS Groupware Project +// (c) Copyright 2002-2012 by authors of the Tiki Wiki CMS Groupware Project // // All Rights Reserved. See copyright.txt for details and a complete list of authors. // Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. @@ -24,7 +24,7 @@ } } - public function get_gallery_save_dir($galleryId, $galInfo = null) + function get_gallery_save_dir($galleryId, $galInfo = null) { global $prefs; @@ -3309,12 +3309,13 @@ $feedback_message = sprintf(tra('Image was reduced: %s x %s -> %s x %s'), $image_x, $image_y, (int)$image_new_x, (int)$image_new_y); $dataforsize = file_get_contents($work_file); $size = function_exists('mb_strlen') ? mb_strlen($dataforsize, '8bit') : strlen($dataforsize); - $metadata = $this->extractMetadataJson($work_file); - if ($data) { // image stored in $data so the file $work_file is temporary + if ($data) { $data = $dataforsize; - unlink($work_file); // otherwise it's the actual filesystem version of the image so should not be deleted } + + $metadata = $this->extractMetadataJson($work_file); + unlink($work_file); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |