home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / HTML / Template / Flexy / Tokenizer.php < prev    next >
Encoding:
PHP Script  |  2008-07-02  |  161.6 KB  |  4,334 lines

  1. <?php
  2. /* vim: set expandtab tabstop=4 shiftwidth=4: */
  3. // +----------------------------------------------------------------------+
  4. // | PHP Version 4                                                        |
  5. // +----------------------------------------------------------------------+
  6. // | Copyright (c) 1997-2002 The PHP Group                                |
  7. // +----------------------------------------------------------------------+
  8. // | This source file is subject to version 2.02 of the PHP license,      |
  9. // | that is bundled with this package in the file LICENSE, and is        |
  10. // | available at through the world-wide-web at                           |
  11. // | http://www.php.net/license/2_02.txt.                                 |
  12. // | If you did not receive a copy of the PHP license and are unable to   |
  13. // | obtain it through the world-wide-web, please send a note to          |
  14. // | license@php.net so we can mail you a copy immediately.               |
  15. // +----------------------------------------------------------------------+
  16. // | Authors:  Alan Knowles <alan@akbkhome.com>                           |
  17. // +----------------------------------------------------------------------+
  18. //
  19. // $Id: Tokenizer.php,v 1.61 2005/05/14 04:01:41 alan_k Exp $
  20. //
  21. //  The Source Lex file. (Tokenizer.lex) and the Generated one (Tokenizer.php)
  22. // You should always work with the .lex file and generate by
  23. //
  24. // #mono phpLex/phpLex.exe Tokenizer.lex
  25. // The lexer is available at http://sourceforge.net/projects/php-sharp/
  26. // 
  27. // or the equivialant .NET runtime on windows...
  28. //
  29. //  Note need to change a few of these defines, and work out
  30. // how to modifiy the lexer to handle the changes..
  31. //
  32. define('HTML_TEMPLATE_FLEXY_TOKEN_NONE',1);
  33. define('HTML_TEMPLATE_FLEXY_TOKEN_OK',2);
  34. define('HTML_TEMPLATE_FLEXY_TOKEN_ERROR',3);
  35. define("YYINITIAL"     ,0);
  36. define("IN_SINGLEQUOTE"     ,   1) ;
  37. define("IN_TAG"     ,           2)  ;
  38. define("IN_ATTR"     ,          3);
  39. define("IN_ATTRVAL"     ,       4) ;
  40. define("IN_NETDATA"     ,       5);
  41. define("IN_ENDTAG"     ,        6);
  42. define("IN_DOUBLEQUOTE"     ,   7);
  43. define("IN_MD"     ,            8);
  44. define("IN_COM"     ,           9);
  45. define("IN_DS",                 10);
  46. define("IN_FLEXYMETHOD"     ,   11);
  47. define("IN_FLEXYMETHODQUOTED"  ,12);
  48. define("IN_FLEXYMETHODQUOTED_END" ,13);
  49. define("IN_SCRIPT",             14);
  50. define("IN_CDATA"     ,         15);
  51. define("IN_DSCOM",              16);
  52. define("IN_PHP",                17);
  53. define("IN_COMSTYLE"     ,      18);
  54. define('YY_E_INTERNAL', 0);
  55. define('YY_E_MATCH',  1);
  56. define('YY_BUFFER_SIZE', 4096);
  57. define('YY_F' , -1);
  58. define('YY_NO_STATE', -1);
  59. define('YY_NOT_ACCEPT' ,  0);
  60. define('YY_START' , 1);
  61. define('YY_END' , 2);
  62. define('YY_NO_ANCHOR' , 4);
  63. define('YY_BOL' , 257);
  64. define('YY_EOF' , 258);
  65.  
  66.  
  67. class HTML_Template_Flexy_Tokenizer
  68. {
  69.  
  70.     /**
  71.     * options array : meanings:
  72.     *    ignore_html - return all tags as  text tokens
  73.     *
  74.     *
  75.     * @var      boolean  public
  76.     * @access   public
  77.     */
  78.     var $options = array(
  79.         'ignore_html' => false,
  80.         'token_factory'  => array('HTML_Template_Flexy_Token','factory'),
  81.     );
  82.     /**
  83.     * flag if inside a style tag. (so comments are ignored.. )
  84.     *
  85.     * @var boolean
  86.     * @access private
  87.     */
  88.     var $inStyle = false;
  89.     /**
  90.     * the start position of a cdata block
  91.     *
  92.     * @var int
  93.     * @access private
  94.     */
  95.     var $yyCdataBegin = 0;
  96.      /**
  97.     * the start position of a comment block
  98.     *
  99.     * @var int
  100.     * @access private
  101.     */
  102.     var $yyCommentBegin = 0;
  103.     /**
  104.     * the name of the file being parsed (used by error messages)
  105.     *
  106.     * @var string
  107.     * @access public
  108.     */
  109.     var $fileName;
  110.     /**
  111.     * the string containing an error if it occurs..
  112.     *
  113.     * @var string
  114.     * @access public
  115.     */
  116.     var $error;
  117.     /**
  118.     * Flexible constructor
  119.     *
  120.     * @param   string       string to tokenize
  121.     * @param   array        options array (see options above)       
  122.     * 
  123.     *
  124.     * @return   HTML_Template_Flexy_Tokenizer
  125.     * @access   public
  126.     */
  127.     function &construct($data,$options= array()) 
  128.     {
  129.         $t = new HTML_Template_Flexy_Tokenizer($data);
  130.         foreach($options as $k=>$v) {
  131.             if (is_object($v) || is_array($v)) {
  132.                 $t->options[$k] = &$v;
  133.                 continue;
  134.             }
  135.             $t->options[$k] = $v;
  136.         }
  137.         return $t;
  138.     }
  139.     /**
  140.     * raise an error: = return an error token and set the error variable.
  141.     *
  142.     * 
  143.     * @param   string           Error type
  144.     * @param   string           Full Error message
  145.     * @param   boolean          is it fatal..
  146.     *
  147.     * @return   int the error token.
  148.     * @access   public
  149.     */
  150.     function raiseError($s,$n='',$isFatal=false) 
  151.     {
  152.         $this->error = "ERROR $n in File {$this->fileName} on Line {$this->yyline} Position:{$this->yy_buffer_end}: $s\n";
  153.         return HTML_TEMPLATE_FLEXY_TOKEN_ERROR;
  154.     }
  155.     /**
  156.     * return text
  157.     *
  158.     * Used mostly by the ignore HTML code. - really a macro :)
  159.     *
  160.     * @return   int   token ok.
  161.     * @access   public
  162.     */
  163.     function returnSimple() 
  164.     {
  165.         $this->value = $this->createToken('TextSimple');
  166.         return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  167.     }
  168.     /**
  169.     * Create a token based on the value of $this->options['token_call']
  170.     *
  171.     *
  172.     * @return   Object   some kind of token..
  173.     * @access   public
  174.     */
  175.     function createToken($token, $value = false, $line = false, $charPos = false) 
  176.     {
  177.         if ($value === false) {
  178.             $value = $this->yytext();
  179.         }
  180.         if ($line === false) {
  181.             $line = $this->yyline;
  182.         }
  183.         if ($charPos === false) {
  184.             $charPos = $this->yy_buffer_start;
  185.         }
  186.         return call_user_func_array($this->options['token_factory'],array($token,$value,$line,$charPos));
  187.     }
  188.  
  189.  
  190.     var $yy_reader;
  191.     var $yy_buffer_index;
  192.     var $yy_buffer_read;
  193.     var $yy_buffer_start;
  194.     var $yy_buffer_end;
  195.     var $yy_buffer;
  196.     var $yychar;
  197.     var $yyline;
  198.     var $yyEndOfLine;
  199.     var $yy_at_bol;
  200.     var $yy_lexical_state;
  201.  
  202.     function HTML_Template_Flexy_Tokenizer($data) 
  203.     {
  204.         $this->yy_buffer = $data;
  205.         $this->yy_buffer_read = strlen($data);
  206.         $this->yy_buffer_index = 0;
  207.         $this->yy_buffer_start = 0;
  208.         $this->yy_buffer_end = 0;
  209.         $this->yychar = 0;
  210.         $this->yyline = 0;
  211.         $this->yy_at_bol = true;
  212.         $this->yy_lexical_state = YYINITIAL;
  213.     }
  214.  
  215.     var $yy_state_dtrans = array  ( 
  216.         0,
  217.         227,
  218.         35,
  219.         134,
  220.         251,
  221.         252,
  222.         253,
  223.         254,
  224.         54,
  225.         65,
  226.         262,
  227.         264,
  228.         286,
  229.         300,
  230.         301,
  231.         309,
  232.         83,
  233.         85,
  234.         87
  235.     );
  236.  
  237.  
  238.     function yybegin ($state)
  239.     {
  240.         $this->yy_lexical_state = $state;
  241.     }
  242.  
  243.  
  244.  
  245.     function yy_advance ()
  246.     {
  247.         if ($this->yy_buffer_index < $this->yy_buffer_read) {
  248.             return ord($this->yy_buffer{$this->yy_buffer_index++});
  249.         }
  250.         return YY_EOF;
  251.     }
  252.  
  253.  
  254.     function yy_move_end ()
  255.     {
  256.         if ($this->yy_buffer_end > $this->yy_buffer_start && 
  257.             '\n' == $this->yy_buffer{$this->yy_buffer_end-1})
  258.         {
  259.             $this->yy_buffer_end--;
  260.         }
  261.         if ($this->yy_buffer_end > $this->yy_buffer_start &&
  262.             '\r' == $this->yy_buffer{$this->yy_buffer_end-1})
  263.         {
  264.             $this->yy_buffer_end--;
  265.         }
  266.     }
  267.  
  268.  
  269.     var $yy_last_was_cr=false;
  270.  
  271.  
  272.     function yy_mark_start ()
  273.     {
  274.         for ($i = $this->yy_buffer_start; $i < $this->yy_buffer_index; $i++) {
  275.             if ($this->yy_buffer{$i} == "\n" && !$this->yy_last_was_cr) {
  276.                 $this->yyline++; $this->yyEndOfLine = $this->yychar;
  277.             }
  278.             if ($this->yy_buffer{$i} == "\r") {
  279.                 $this->yyline++; $this->yyEndOfLine = $this->yychar;
  280.                 $this->yy_last_was_cr=true;
  281.             } else {
  282.                 $this->yy_last_was_cr=false;
  283.             }
  284.         }
  285.         $this->yychar = $this->yychar + $this->yy_buffer_index - $this->yy_buffer_start;
  286.         $this->yy_buffer_start = $this->yy_buffer_index;
  287.     }
  288.  
  289.  
  290.     function yy_mark_end ()
  291.     {
  292.         $this->yy_buffer_end = $this->yy_buffer_index;
  293.     }
  294.  
  295.  
  296.     function  yy_to_mark ()
  297.     {
  298.         $this->yy_buffer_index = $this->yy_buffer_end;
  299.         $this->yy_at_bol = ($this->yy_buffer_end > $this->yy_buffer_start) &&
  300.             ($this->yy_buffer{$this->yy_buffer_end-1} == '\r' ||
  301.             $this->yy_buffer{$this->yy_buffer_end-1} == '\n');
  302.     }
  303.  
  304.  
  305.     function yytext()
  306.     {
  307.         return substr($this->yy_buffer,$this->yy_buffer_start,$this->yy_buffer_end - $this->yy_buffer_start);
  308.     }
  309.  
  310.  
  311.     function yylength ()
  312.     {
  313.         return $this->yy_buffer_end - $this->yy_buffer_start;
  314.     }
  315.  
  316.  
  317.     var $yy_error_string = array(
  318.         "Error: Internal error.\n",
  319.         "Error: Unmatched input.\n"
  320.         );
  321.  
  322.  
  323.     function yy_error ($code,$fatal)
  324.     {
  325.         if (method_exists($this,'raiseError')) { 
  326.          return $this->raiseError($code, $this->yy_error_string[$code], $fatal); 
  327.      }
  328.         echo $this->yy_error_string[$code];
  329.         if ($fatal) {
  330.             exit;
  331.         }
  332.     }
  333.  
  334.  
  335.     var  $yy_acpt = array (
  336.         /* 0 */   YY_NOT_ACCEPT,
  337.         /* 1 */   YY_NO_ANCHOR,
  338.         /* 2 */   YY_NO_ANCHOR,
  339.         /* 3 */   YY_NO_ANCHOR,
  340.         /* 4 */   YY_NO_ANCHOR,
  341.         /* 5 */   YY_NO_ANCHOR,
  342.         /* 6 */   YY_NO_ANCHOR,
  343.         /* 7 */   YY_NO_ANCHOR,
  344.         /* 8 */   YY_NO_ANCHOR,
  345.         /* 9 */   YY_NO_ANCHOR,
  346.         /* 10 */   YY_NO_ANCHOR,
  347.         /* 11 */   YY_NO_ANCHOR,
  348.         /* 12 */   YY_NO_ANCHOR,
  349.         /* 13 */   YY_NO_ANCHOR,
  350.         /* 14 */   YY_NO_ANCHOR,
  351.         /* 15 */   YY_NO_ANCHOR,
  352.         /* 16 */   YY_NO_ANCHOR,
  353.         /* 17 */   YY_NO_ANCHOR,
  354.         /* 18 */   YY_NO_ANCHOR,
  355.         /* 19 */   YY_NO_ANCHOR,
  356.         /* 20 */   YY_NO_ANCHOR,
  357.         /* 21 */   YY_NO_ANCHOR,
  358.         /* 22 */   YY_NO_ANCHOR,
  359.         /* 23 */   YY_NO_ANCHOR,
  360.         /* 24 */   YY_NO_ANCHOR,
  361.         /* 25 */   YY_NO_ANCHOR,
  362.         /* 26 */   YY_NO_ANCHOR,
  363.         /* 27 */   YY_NO_ANCHOR,
  364.         /* 28 */   YY_NO_ANCHOR,
  365.         /* 29 */   YY_NO_ANCHOR,
  366.         /* 30 */   YY_NO_ANCHOR,
  367.         /* 31 */   YY_NO_ANCHOR,
  368.         /* 32 */   YY_NO_ANCHOR,
  369.         /* 33 */   YY_NO_ANCHOR,
  370.         /* 34 */   YY_NO_ANCHOR,
  371.         /* 35 */   YY_NO_ANCHOR,
  372.         /* 36 */   YY_NO_ANCHOR,
  373.         /* 37 */   YY_NO_ANCHOR,
  374.         /* 38 */   YY_NO_ANCHOR,
  375.         /* 39 */   YY_NO_ANCHOR,
  376.         /* 40 */   YY_NO_ANCHOR,
  377.         /* 41 */   YY_NO_ANCHOR,
  378.         /* 42 */   YY_NO_ANCHOR,
  379.         /* 43 */   YY_NO_ANCHOR,
  380.         /* 44 */   YY_NO_ANCHOR,
  381.         /* 45 */   YY_NO_ANCHOR,
  382.         /* 46 */   YY_NO_ANCHOR,
  383.         /* 47 */   YY_NO_ANCHOR,
  384.         /* 48 */   YY_NO_ANCHOR,
  385.         /* 49 */   YY_NO_ANCHOR,
  386.         /* 50 */   YY_NO_ANCHOR,
  387.         /* 51 */   YY_NO_ANCHOR,
  388.         /* 52 */   YY_NO_ANCHOR,
  389.         /* 53 */   YY_NO_ANCHOR,
  390.         /* 54 */   YY_NO_ANCHOR,
  391.         /* 55 */   YY_NO_ANCHOR,
  392.         /* 56 */   YY_NO_ANCHOR,
  393.         /* 57 */   YY_NO_ANCHOR,
  394.         /* 58 */   YY_NO_ANCHOR,
  395.         /* 59 */   YY_NO_ANCHOR,
  396.         /* 60 */   YY_NO_ANCHOR,
  397.         /* 61 */   YY_NO_ANCHOR,
  398.         /* 62 */   YY_NO_ANCHOR,
  399.         /* 63 */   YY_NO_ANCHOR,
  400.         /* 64 */   YY_NO_ANCHOR,
  401.         /* 65 */   YY_NO_ANCHOR,
  402.         /* 66 */   YY_NO_ANCHOR,
  403.         /* 67 */   YY_NO_ANCHOR,
  404.         /* 68 */   YY_NO_ANCHOR,
  405.         /* 69 */   YY_NO_ANCHOR,
  406.         /* 70 */   YY_NO_ANCHOR,
  407.         /* 71 */   YY_NO_ANCHOR,
  408.         /* 72 */   YY_NO_ANCHOR,
  409.         /* 73 */   YY_NO_ANCHOR,
  410.         /* 74 */   YY_NO_ANCHOR,
  411.         /* 75 */   YY_NO_ANCHOR,
  412.         /* 76 */   YY_NO_ANCHOR,
  413.         /* 77 */   YY_NO_ANCHOR,
  414.         /* 78 */   YY_NO_ANCHOR,
  415.         /* 79 */   YY_NO_ANCHOR,
  416.         /* 80 */   YY_NO_ANCHOR,
  417.         /* 81 */   YY_NO_ANCHOR,
  418.         /* 82 */   YY_NO_ANCHOR,
  419.         /* 83 */   YY_NO_ANCHOR,
  420.         /* 84 */   YY_NO_ANCHOR,
  421.         /* 85 */   YY_NO_ANCHOR,
  422.         /* 86 */   YY_NO_ANCHOR,
  423.         /* 87 */   YY_NO_ANCHOR,
  424.         /* 88 */   YY_NO_ANCHOR,
  425.         /* 89 */   YY_NO_ANCHOR,
  426.         /* 90 */   YY_NO_ANCHOR,
  427.         /* 91 */   YY_NO_ANCHOR,
  428.         /* 92 */   YY_NOT_ACCEPT,
  429.         /* 93 */   YY_NO_ANCHOR,
  430.         /* 94 */   YY_NO_ANCHOR,
  431.         /* 95 */   YY_NO_ANCHOR,
  432.         /* 96 */   YY_NO_ANCHOR,
  433.         /* 97 */   YY_NO_ANCHOR,
  434.         /* 98 */   YY_NO_ANCHOR,
  435.         /* 99 */   YY_NO_ANCHOR,
  436.         /* 100 */   YY_NO_ANCHOR,
  437.         /* 101 */   YY_NO_ANCHOR,
  438.         /* 102 */   YY_NO_ANCHOR,
  439.         /* 103 */   YY_NO_ANCHOR,
  440.         /* 104 */   YY_NO_ANCHOR,
  441.         /* 105 */   YY_NO_ANCHOR,
  442.         /* 106 */   YY_NO_ANCHOR,
  443.         /* 107 */   YY_NO_ANCHOR,
  444.         /* 108 */   YY_NO_ANCHOR,
  445.         /* 109 */   YY_NO_ANCHOR,
  446.         /* 110 */   YY_NO_ANCHOR,
  447.         /* 111 */   YY_NO_ANCHOR,
  448.         /* 112 */   YY_NO_ANCHOR,
  449.         /* 113 */   YY_NO_ANCHOR,
  450.         /* 114 */   YY_NO_ANCHOR,
  451.         /* 115 */   YY_NO_ANCHOR,
  452.         /* 116 */   YY_NO_ANCHOR,
  453.         /* 117 */   YY_NO_ANCHOR,
  454.         /* 118 */   YY_NO_ANCHOR,
  455.         /* 119 */   YY_NO_ANCHOR,
  456.         /* 120 */   YY_NO_ANCHOR,
  457.         /* 121 */   YY_NO_ANCHOR,
  458.         /* 122 */   YY_NO_ANCHOR,
  459.         /* 123 */   YY_NO_ANCHOR,
  460.         /* 124 */   YY_NO_ANCHOR,
  461.         /* 125 */   YY_NO_ANCHOR,
  462.         /* 126 */   YY_NO_ANCHOR,
  463.         /* 127 */   YY_NO_ANCHOR,
  464.         /* 128 */   YY_NO_ANCHOR,
  465.         /* 129 */   YY_NO_ANCHOR,
  466.         /* 130 */   YY_NOT_ACCEPT,
  467.         /* 131 */   YY_NO_ANCHOR,
  468.         /* 132 */   YY_NO_ANCHOR,
  469.         /* 133 */   YY_NO_ANCHOR,
  470.         /* 134 */   YY_NO_ANCHOR,
  471.         /* 135 */   YY_NO_ANCHOR,
  472.         /* 136 */   YY_NO_ANCHOR,
  473.         /* 137 */   YY_NO_ANCHOR,
  474.         /* 138 */   YY_NO_ANCHOR,
  475.         /* 139 */   YY_NO_ANCHOR,
  476.         /* 140 */   YY_NO_ANCHOR,
  477.         /* 141 */   YY_NO_ANCHOR,
  478.         /* 142 */   YY_NOT_ACCEPT,
  479.         /* 143 */   YY_NO_ANCHOR,
  480.         /* 144 */   YY_NO_ANCHOR,
  481.         /* 145 */   YY_NO_ANCHOR,
  482.         /* 146 */   YY_NO_ANCHOR,
  483.         /* 147 */   YY_NO_ANCHOR,
  484.         /* 148 */   YY_NO_ANCHOR,
  485.         /* 149 */   YY_NOT_ACCEPT,
  486.         /* 150 */   YY_NO_ANCHOR,
  487.         /* 151 */   YY_NO_ANCHOR,
  488.         /* 152 */   YY_NOT_ACCEPT,
  489.         /* 153 */   YY_NO_ANCHOR,
  490.         /* 154 */   YY_NOT_ACCEPT,
  491.         /* 155 */   YY_NO_ANCHOR,
  492.         /* 156 */   YY_NOT_ACCEPT,
  493.         /* 157 */   YY_NO_ANCHOR,
  494.         /* 158 */   YY_NOT_ACCEPT,
  495.         /* 159 */   YY_NO_ANCHOR,
  496.         /* 160 */   YY_NOT_ACCEPT,
  497.         /* 161 */   YY_NO_ANCHOR,
  498.         /* 162 */   YY_NOT_ACCEPT,
  499.         /* 163 */   YY_NO_ANCHOR,
  500.         /* 164 */   YY_NOT_ACCEPT,
  501.         /* 165 */   YY_NO_ANCHOR,
  502.         /* 166 */   YY_NOT_ACCEPT,
  503.         /* 167 */   YY_NO_ANCHOR,
  504.         /* 168 */   YY_NOT_ACCEPT,
  505.         /* 169 */   YY_NOT_ACCEPT,
  506.         /* 170 */   YY_NOT_ACCEPT,
  507.         /* 171 */   YY_NOT_ACCEPT,
  508.         /* 172 */   YY_NOT_ACCEPT,
  509.         /* 173 */   YY_NOT_ACCEPT,
  510.         /* 174 */   YY_NOT_ACCEPT,
  511.         /* 175 */   YY_NOT_ACCEPT,
  512.         /* 176 */   YY_NOT_ACCEPT,
  513.         /* 177 */   YY_NOT_ACCEPT,
  514.         /* 178 */   YY_NOT_ACCEPT,
  515.         /* 179 */   YY_NOT_ACCEPT,
  516.         /* 180 */   YY_NOT_ACCEPT,
  517.         /* 181 */   YY_NOT_ACCEPT,
  518.         /* 182 */   YY_NOT_ACCEPT,
  519.         /* 183 */   YY_NOT_ACCEPT,
  520.         /* 184 */   YY_NOT_ACCEPT,
  521.         /* 185 */   YY_NOT_ACCEPT,
  522.         /* 186 */   YY_NOT_ACCEPT,
  523.         /* 187 */   YY_NOT_ACCEPT,
  524.         /* 188 */   YY_NOT_ACCEPT,
  525.         /* 189 */   YY_NOT_ACCEPT,
  526.         /* 190 */   YY_NOT_ACCEPT,
  527.         /* 191 */   YY_NOT_ACCEPT,
  528.         /* 192 */   YY_NOT_ACCEPT,
  529.         /* 193 */   YY_NOT_ACCEPT,
  530.         /* 194 */   YY_NOT_ACCEPT,
  531.         /* 195 */   YY_NOT_ACCEPT,
  532.         /* 196 */   YY_NOT_ACCEPT,
  533.         /* 197 */   YY_NOT_ACCEPT,
  534.         /* 198 */   YY_NOT_ACCEPT,
  535.         /* 199 */   YY_NOT_ACCEPT,
  536.         /* 200 */   YY_NOT_ACCEPT,
  537.         /* 201 */   YY_NOT_ACCEPT,
  538.         /* 202 */   YY_NOT_ACCEPT,
  539.         /* 203 */   YY_NOT_ACCEPT,
  540.         /* 204 */   YY_NOT_ACCEPT,
  541.         /* 205 */   YY_NOT_ACCEPT,
  542.         /* 206 */   YY_NOT_ACCEPT,
  543.         /* 207 */   YY_NOT_ACCEPT,
  544.         /* 208 */   YY_NOT_ACCEPT,
  545.         /* 209 */   YY_NOT_ACCEPT,
  546.         /* 210 */   YY_NOT_ACCEPT,
  547.         /* 211 */   YY_NOT_ACCEPT,
  548.         /* 212 */   YY_NOT_ACCEPT,
  549.         /* 213 */   YY_NOT_ACCEPT,
  550.         /* 214 */   YY_NOT_ACCEPT,
  551.         /* 215 */   YY_NOT_ACCEPT,
  552.         /* 216 */   YY_NOT_ACCEPT,
  553.         /* 217 */   YY_NOT_ACCEPT,
  554.         /* 218 */   YY_NOT_ACCEPT,
  555.         /* 219 */   YY_NOT_ACCEPT,
  556.         /* 220 */   YY_NOT_ACCEPT,
  557.         /* 221 */   YY_NOT_ACCEPT,
  558.         /* 222 */   YY_NOT_ACCEPT,
  559.         /* 223 */   YY_NOT_ACCEPT,
  560.         /* 224 */   YY_NOT_ACCEPT,
  561.         /* 225 */   YY_NOT_ACCEPT,
  562.         /* 226 */   YY_NOT_ACCEPT,
  563.         /* 227 */   YY_NOT_ACCEPT,
  564.         /* 228 */   YY_NOT_ACCEPT,
  565.         /* 229 */   YY_NOT_ACCEPT,
  566.         /* 230 */   YY_NOT_ACCEPT,
  567.         /* 231 */   YY_NOT_ACCEPT,
  568.         /* 232 */   YY_NOT_ACCEPT,
  569.         /* 233 */   YY_NOT_ACCEPT,
  570.         /* 234 */   YY_NOT_ACCEPT,
  571.         /* 235 */   YY_NOT_ACCEPT,
  572.         /* 236 */   YY_NOT_ACCEPT,
  573.         /* 237 */   YY_NOT_ACCEPT,
  574.         /* 238 */   YY_NOT_ACCEPT,
  575.         /* 239 */   YY_NOT_ACCEPT,
  576.         /* 240 */   YY_NOT_ACCEPT,
  577.         /* 241 */   YY_NOT_ACCEPT,
  578.         /* 242 */   YY_NOT_ACCEPT,
  579.         /* 243 */   YY_NOT_ACCEPT,
  580.         /* 244 */   YY_NOT_ACCEPT,
  581.         /* 245 */   YY_NOT_ACCEPT,
  582.         /* 246 */   YY_NOT_ACCEPT,
  583.         /* 247 */   YY_NOT_ACCEPT,
  584.         /* 248 */   YY_NOT_ACCEPT,
  585.         /* 249 */   YY_NOT_ACCEPT,
  586.         /* 250 */   YY_NOT_ACCEPT,
  587.         /* 251 */   YY_NOT_ACCEPT,
  588.         /* 252 */   YY_NOT_ACCEPT,
  589.         /* 253 */   YY_NOT_ACCEPT,
  590.         /* 254 */   YY_NOT_ACCEPT,
  591.         /* 255 */   YY_NOT_ACCEPT,
  592.         /* 256 */   YY_NOT_ACCEPT,
  593.         /* 257 */   YY_NOT_ACCEPT,
  594.         /* 258 */   YY_NOT_ACCEPT,
  595.         /* 259 */   YY_NOT_ACCEPT,
  596.         /* 260 */   YY_NOT_ACCEPT,
  597.         /* 261 */   YY_NOT_ACCEPT,
  598.         /* 262 */   YY_NOT_ACCEPT,
  599.         /* 263 */   YY_NOT_ACCEPT,
  600.         /* 264 */   YY_NOT_ACCEPT,
  601.         /* 265 */   YY_NOT_ACCEPT,
  602.         /* 266 */   YY_NOT_ACCEPT,
  603.         /* 267 */   YY_NOT_ACCEPT,
  604.         /* 268 */   YY_NOT_ACCEPT,
  605.         /* 269 */   YY_NOT_ACCEPT,
  606.         /* 270 */   YY_NOT_ACCEPT,
  607.         /* 271 */   YY_NOT_ACCEPT,
  608.         /* 272 */   YY_NOT_ACCEPT,
  609.         /* 273 */   YY_NOT_ACCEPT,
  610.         /* 274 */   YY_NOT_ACCEPT,
  611.         /* 275 */   YY_NOT_ACCEPT,
  612.         /* 276 */   YY_NOT_ACCEPT,
  613.         /* 277 */   YY_NOT_ACCEPT,
  614.         /* 278 */   YY_NOT_ACCEPT,
  615.         /* 279 */   YY_NOT_ACCEPT,
  616.         /* 280 */   YY_NOT_ACCEPT,
  617.         /* 281 */   YY_NOT_ACCEPT,
  618.         /* 282 */   YY_NOT_ACCEPT,
  619.         /* 283 */   YY_NOT_ACCEPT,
  620.         /* 284 */   YY_NOT_ACCEPT,
  621.         /* 285 */   YY_NOT_ACCEPT,
  622.         /* 286 */   YY_NOT_ACCEPT,
  623.         /* 287 */   YY_NOT_ACCEPT,
  624.         /* 288 */   YY_NOT_ACCEPT,
  625.         /* 289 */   YY_NOT_ACCEPT,
  626.         /* 290 */   YY_NOT_ACCEPT,
  627.         /* 291 */   YY_NOT_ACCEPT,
  628.         /* 292 */   YY_NOT_ACCEPT,
  629.         /* 293 */   YY_NOT_ACCEPT,
  630.         /* 294 */   YY_NOT_ACCEPT,
  631.         /* 295 */   YY_NOT_ACCEPT,
  632.         /* 296 */   YY_NOT_ACCEPT,
  633.         /* 297 */   YY_NOT_ACCEPT,
  634.         /* 298 */   YY_NOT_ACCEPT,
  635.         /* 299 */   YY_NOT_ACCEPT,
  636.         /* 300 */   YY_NOT_ACCEPT,
  637.         /* 301 */   YY_NOT_ACCEPT,
  638.         /* 302 */   YY_NOT_ACCEPT,
  639.         /* 303 */   YY_NOT_ACCEPT,
  640.         /* 304 */   YY_NOT_ACCEPT,
  641.         /* 305 */   YY_NOT_ACCEPT,
  642.         /* 306 */   YY_NOT_ACCEPT,
  643.         /* 307 */   YY_NOT_ACCEPT,
  644.         /* 308 */   YY_NOT_ACCEPT,
  645.         /* 309 */   YY_NOT_ACCEPT,
  646.         /* 310 */   YY_NOT_ACCEPT,
  647.         /* 311 */   YY_NOT_ACCEPT,
  648.         /* 312 */   YY_NOT_ACCEPT,
  649.         /* 313 */   YY_NOT_ACCEPT,
  650.         /* 314 */   YY_NOT_ACCEPT,
  651.         /* 315 */   YY_NOT_ACCEPT,
  652.         /* 316 */   YY_NOT_ACCEPT,
  653.         /* 317 */   YY_NOT_ACCEPT,
  654.         /* 318 */   YY_NOT_ACCEPT,
  655.         /* 319 */   YY_NOT_ACCEPT,
  656.         /* 320 */   YY_NOT_ACCEPT,
  657.         /* 321 */   YY_NOT_ACCEPT,
  658.         /* 322 */   YY_NOT_ACCEPT,
  659.         /* 323 */   YY_NOT_ACCEPT,
  660.         /* 324 */   YY_NOT_ACCEPT,
  661.         /* 325 */   YY_NOT_ACCEPT,
  662.         /* 326 */   YY_NOT_ACCEPT,
  663.         /* 327 */   YY_NOT_ACCEPT,
  664.         /* 328 */   YY_NOT_ACCEPT,
  665.         /* 329 */   YY_NOT_ACCEPT,
  666.         /* 330 */   YY_NOT_ACCEPT,
  667.         /* 331 */   YY_NOT_ACCEPT,
  668.         /* 332 */   YY_NOT_ACCEPT,
  669.         /* 333 */   YY_NOT_ACCEPT,
  670.         /* 334 */   YY_NOT_ACCEPT,
  671.         /* 335 */   YY_NOT_ACCEPT,
  672.         /* 336 */   YY_NOT_ACCEPT,
  673.         /* 337 */   YY_NOT_ACCEPT,
  674.         /* 338 */   YY_NOT_ACCEPT,
  675.         /* 339 */   YY_NOT_ACCEPT,
  676.         /* 340 */   YY_NOT_ACCEPT,
  677.         /* 341 */   YY_NOT_ACCEPT,
  678.         /* 342 */   YY_NOT_ACCEPT,
  679.         /* 343 */   YY_NOT_ACCEPT,
  680.         /* 344 */   YY_NOT_ACCEPT,
  681.         /* 345 */   YY_NOT_ACCEPT,
  682.         /* 346 */   YY_NOT_ACCEPT,
  683.         /* 347 */   YY_NO_ANCHOR,
  684.         /* 348 */   YY_NO_ANCHOR,
  685.         /* 349 */   YY_NO_ANCHOR,
  686.         /* 350 */   YY_NO_ANCHOR,
  687.         /* 351 */   YY_NOT_ACCEPT,
  688.         /* 352 */   YY_NOT_ACCEPT,
  689.         /* 353 */   YY_NOT_ACCEPT,
  690.         /* 354 */   YY_NOT_ACCEPT,
  691.         /* 355 */   YY_NOT_ACCEPT,
  692.         /* 356 */   YY_NOT_ACCEPT,
  693.         /* 357 */   YY_NOT_ACCEPT,
  694.         /* 358 */   YY_NOT_ACCEPT,
  695.         /* 359 */   YY_NOT_ACCEPT,
  696.         /* 360 */   YY_NOT_ACCEPT,
  697.         /* 361 */   YY_NOT_ACCEPT,
  698.         /* 362 */   YY_NOT_ACCEPT,
  699.         /* 363 */   YY_NOT_ACCEPT,
  700.         /* 364 */   YY_NOT_ACCEPT,
  701.         /* 365 */   YY_NOT_ACCEPT,
  702.         /* 366 */   YY_NOT_ACCEPT,
  703.         /* 367 */   YY_NOT_ACCEPT,
  704.         /* 368 */   YY_NOT_ACCEPT,
  705.         /* 369 */   YY_NOT_ACCEPT,
  706.         /* 370 */   YY_NOT_ACCEPT,
  707.         /* 371 */   YY_NOT_ACCEPT,
  708.         /* 372 */   YY_NOT_ACCEPT,
  709.         /* 373 */   YY_NOT_ACCEPT,
  710.         /* 374 */   YY_NOT_ACCEPT,
  711.         /* 375 */   YY_NOT_ACCEPT,
  712.         /* 376 */   YY_NOT_ACCEPT,
  713.         /* 377 */   YY_NOT_ACCEPT,
  714.         /* 378 */   YY_NOT_ACCEPT,
  715.         /* 379 */   YY_NOT_ACCEPT,
  716.         /* 380 */   YY_NOT_ACCEPT,
  717.         /* 381 */   YY_NOT_ACCEPT,
  718.         /* 382 */   YY_NOT_ACCEPT,
  719.         /* 383 */   YY_NOT_ACCEPT,
  720.         /* 384 */   YY_NOT_ACCEPT,
  721.         /* 385 */   YY_NOT_ACCEPT,
  722.         /* 386 */   YY_NOT_ACCEPT,
  723.         /* 387 */   YY_NOT_ACCEPT,
  724.         /* 388 */   YY_NOT_ACCEPT,
  725.         /* 389 */   YY_NOT_ACCEPT,
  726.         /* 390 */   YY_NOT_ACCEPT,
  727.         /* 391 */   YY_NOT_ACCEPT,
  728.         /* 392 */   YY_NOT_ACCEPT,
  729.         /* 393 */   YY_NOT_ACCEPT,
  730.         /* 394 */   YY_NOT_ACCEPT,
  731.         /* 395 */   YY_NOT_ACCEPT,
  732.         /* 396 */   YY_NOT_ACCEPT,
  733.         /* 397 */   YY_NOT_ACCEPT,
  734.         /* 398 */   YY_NOT_ACCEPT,
  735.         /* 399 */   YY_NOT_ACCEPT,
  736.         /* 400 */   YY_NOT_ACCEPT,
  737.         /* 401 */   YY_NOT_ACCEPT,
  738.         /* 402 */   YY_NOT_ACCEPT,
  739.         /* 403 */   YY_NOT_ACCEPT,
  740.         /* 404 */   YY_NOT_ACCEPT,
  741.         /* 405 */   YY_NOT_ACCEPT,
  742.         /* 406 */   YY_NOT_ACCEPT,
  743.         /* 407 */   YY_NOT_ACCEPT,
  744.         /* 408 */   YY_NOT_ACCEPT,
  745.         /* 409 */   YY_NOT_ACCEPT,
  746.         /* 410 */   YY_NOT_ACCEPT,
  747.         /* 411 */   YY_NOT_ACCEPT,
  748.         /* 412 */   YY_NOT_ACCEPT,
  749.         /* 413 */   YY_NOT_ACCEPT,
  750.         /* 414 */   YY_NOT_ACCEPT,
  751.         /* 415 */   YY_NOT_ACCEPT,
  752.         /* 416 */   YY_NOT_ACCEPT,
  753.         /* 417 */   YY_NOT_ACCEPT,
  754.         /* 418 */   YY_NOT_ACCEPT
  755.         );
  756.  
  757.  
  758.     var  $yy_cmap = array(
  759.         31, 31, 31, 31, 31, 31, 31, 31,
  760.         31, 11, 5, 31, 31, 12, 31, 31,
  761.         31, 31, 31, 31, 31, 31, 31, 31,
  762.         31, 31, 31, 31, 31, 31, 31, 31,
  763.         11, 14, 30, 2, 32, 25, 1, 29,
  764.         33, 21, 32, 32, 52, 15, 7, 9,
  765.         3, 3, 3, 3, 3, 44, 3, 55,
  766.         3, 3, 10, 4, 8, 28, 13, 24,
  767.         31, 19, 45, 17, 18, 6, 6, 6,
  768.         6, 40, 6, 6, 6, 6, 6, 6,
  769.         42, 6, 39, 35, 20, 6, 6, 6,
  770.         6, 6, 6, 16, 26, 22, 31, 27,
  771.         31, 50, 45, 37, 46, 49, 47, 6,
  772.         51, 41, 6, 6, 54, 6, 53, 48,
  773.         42, 6, 38, 36, 43, 6, 6, 6,
  774.         6, 6, 6, 23, 31, 34, 31, 31,
  775.         31, 31, 31, 31, 31, 31, 31, 31,
  776.         31, 31, 31, 31, 31, 31, 31, 31,
  777.         31, 31, 31, 31, 31, 31, 31, 31,
  778.         31, 31, 31, 31, 31, 31, 31, 31,
  779.         31, 31, 31, 31, 31, 31, 31, 31,
  780.         31, 31, 31, 31, 31, 31, 31, 31,
  781.         31, 31, 31, 31, 31, 31, 31, 31,
  782.         31, 31, 31, 31, 31, 31, 31, 31,
  783.         31, 31, 31, 31, 31, 31, 31, 31,
  784.         31, 31, 31, 31, 31, 31, 31, 31,
  785.         31, 31, 31, 31, 31, 31, 31, 31,
  786.         31, 31, 31, 31, 31, 31, 31, 31,
  787.         31, 31, 31, 31, 31, 31, 31, 31,
  788.         31, 31, 31, 31, 31, 31, 31, 31,
  789.         31, 31, 31, 31, 31, 31, 31, 31,
  790.         31, 31, 31, 31, 31, 31, 31, 31,
  791.         31, 0, 0 
  792.          );
  793.  
  794.  
  795.     var $yy_rmap = array(
  796.         0, 1, 2, 3, 4, 5, 1, 6,
  797.         7, 8, 9, 1, 10, 1, 11, 12,
  798.         1, 3, 1, 1, 1, 1, 1, 1,
  799.         1, 1, 1, 1, 1, 1, 1, 13,
  800.         1, 1, 1, 14, 1, 1, 15, 16,
  801.         17, 1, 1, 18, 19, 18, 1, 1,
  802.         1, 20, 1, 1, 21, 1, 22, 1,
  803.         23, 24, 25, 1, 1, 26, 27, 28,
  804.         29, 30, 1, 1, 31, 32, 1, 33,
  805.         1, 1, 1, 34, 1, 1, 1, 35,
  806.         1, 36, 1, 37, 1, 38, 1, 39,
  807.         40, 1, 1, 1, 41, 42, 43, 1,
  808.         44, 45, 1, 1, 46, 47, 48, 49,
  809.         50, 51, 18, 52, 53, 54, 55, 56,
  810.         57, 58, 59, 60, 61, 62, 1, 63,
  811.         64, 1, 65, 66, 67, 68, 69, 40,
  812.         70, 71, 72, 73, 74, 75, 76, 77,
  813.         75, 78, 79, 1, 80, 81, 82, 1,
  814.         83, 1, 1, 84, 85, 86, 87, 88,
  815.         89, 90, 91, 92, 93, 94, 95, 96,
  816.         97, 98, 99, 100, 101, 102, 103, 104,
  817.         105, 106, 107, 108, 109, 110, 111, 112,
  818.         113, 114, 115, 116, 117, 118, 119, 120,
  819.         121, 122, 123, 124, 125, 126, 127, 128,
  820.         129, 130, 131, 132, 133, 134, 135, 136,
  821.         137, 138, 139, 140, 141, 142, 143, 144,
  822.         145, 146, 147, 148, 149, 150, 151, 152,
  823.         153, 154, 155, 156, 157, 158, 159, 160,
  824.         161, 162, 163, 164, 73, 165, 166, 167,
  825.         168, 169, 170, 171, 172, 173, 174, 175,
  826.         176, 177, 178, 179, 180, 181, 182, 183,
  827.         184, 185, 16, 186, 187, 188, 189, 90,
  828.         190, 78, 84, 191, 192, 64, 193, 194,
  829.         195, 92, 94, 196, 96, 197, 198, 199,
  830.         200, 201, 202, 203, 204, 205, 206, 207,
  831.         208, 209, 210, 211, 212, 213, 214, 100,
  832.         215, 216, 217, 218, 219, 220, 221, 222,
  833.         223, 224, 225, 226, 227, 228, 229, 230,
  834.         231, 232, 233, 234, 235, 236, 237, 238,
  835.         239, 240, 241, 242, 243, 244, 245, 246,
  836.         247, 248, 249, 250, 251, 252, 253, 254,
  837.         255, 256, 257, 40, 258, 259, 260, 71,
  838.         261, 262, 263, 264, 265, 266, 267, 268,
  839.         269, 270, 271, 272, 77, 273, 274, 275,
  840.         117, 276, 277, 278, 279, 280, 281, 129,
  841.         282, 283, 284, 285, 138, 286, 287, 288,
  842.         150, 289, 154, 290, 170, 291, 177, 292,
  843.         198, 293, 205, 294, 216, 295, 222, 296,
  844.         239, 297, 243, 298, 260, 299, 264, 300,
  845.         301, 302, 303, 304, 305, 306, 307, 308,
  846.         309, 310, 311, 312, 313, 314, 315, 316,
  847.         317, 318, 319, 320, 321, 322, 323, 324,
  848.         325, 326, 327 
  849.         );
  850.  
  851.  
  852.     var $yy_nxt = array(
  853.         array( 1, 2, 3, 3, 3, 3, 3, 3,
  854.             93, 3, 3, 3, 3, 3, 3, 3,
  855.             3, 3, 3, 3, 3, 94, 347, 132,
  856.             3, 3, 3, 3, 3, 3, 3, 3,
  857.             3, 3, 3, 3, 3, 3, 3, 3,
  858.             3, 3, 3, 3, 3, 3, 3, 3,
  859.             3, 3, 3, 3, 3, 3, 3, 3 ),
  860.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  861.             -1, -1, -1, -1, -1, -1, -1, -1,
  862.             -1, -1, -1, -1, -1, -1, -1, -1,
  863.             -1, -1, -1, -1, -1, -1, -1, -1,
  864.             -1, -1, -1, -1, -1, -1, -1, -1,
  865.             -1, -1, -1, -1, -1, -1, -1, -1,
  866.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  867.         array( -1, -1, 92, 3, 3, 3, 4, 3,
  868.             -1, 3, 3, 3, 3, 3, 3, 3,
  869.             3, 4, 4, 4, 4, 3, 3, 3,
  870.             3, 3, 3, 3, 3, 3, 3, 3,
  871.             3, 3, 3, 4, 4, 4, 4, 4,
  872.             4, 4, 4, 4, 3, 4, 4, 4,
  873.             4, 4, 4, 4, 3, 4, 4, 3 ),
  874.         array( -1, 130, 3, 3, 3, 3, 3, 3,
  875.             142, 3, 3, 3, 3, 3, 3, 3,
  876.             3, 3, 3, 3, 3, -1, 3, -1,
  877.             3, 3, 3, 3, 3, 3, 3, 3,
  878.             3, 3, 3, 3, 3, 3, 3, 3,
  879.             3, 3, 3, 3, 3, 3, 3, 3,
  880.             3, 3, 3, 3, 3, 3, 3, 3 ),
  881.         array( -1, -1, -1, 4, 95, 95, 4, 4,
  882.             -1, -1, -1, -1, -1, -1, -1, 4,
  883.             -1, 4, 4, 4, 4, -1, -1, -1,
  884.             -1, -1, -1, 4, -1, -1, -1, -1,
  885.             -1, -1, -1, 4, 4, 4, 4, 4,
  886.             4, 4, 4, 4, 4, 4, 4, 4,
  887.             4, 4, 4, 4, -1, 4, 4, 4 ),
  888.         array( -1, -1, -1, 5, -1, 96, 5, 5,
  889.             -1, -1, 5, 96, 96, -1, -1, 5,
  890.             -1, 5, 5, 5, 5, -1, -1, -1,
  891.             -1, -1, -1, 5, -1, -1, -1, -1,
  892.             -1, -1, -1, 5, 5, 5, 5, 5,
  893.             5, 5, 5, 5, 5, 5, 5, 5,
  894.             5, 5, 5, 5, -1, 5, 5, 5 ),
  895.         array( -1, -1, -1, -1, -1, 97, 15, -1,
  896.             -1, -1, -1, 97, 97, -1, -1, -1,
  897.             -1, 15, 15, 15, 15, -1, -1, -1,
  898.             -1, -1, -1, -1, -1, -1, -1, -1,
  899.             -1, -1, -1, 15, 15, 15, 15, 15,
  900.             15, 15, 15, 15, -1, 15, 15, 15,
  901.             15, 15, 15, 15, -1, 15, 15, -1 ),
  902.         array( -1, -1, -1, 8, 98, 98, -1, -1,
  903.             -1, -1, -1, -1, -1, -1, -1, -1,
  904.             -1, -1, -1, -1, -1, -1, -1, -1,
  905.             -1, -1, -1, -1, -1, -1, -1, -1,
  906.             -1, -1, -1, -1, -1, -1, -1, -1,
  907.             -1, -1, -1, -1, 8, -1, -1, -1,
  908.             -1, -1, -1, -1, -1, -1, -1, 8 ),
  909.         array( -1, -1, -1, 9, 99, 99, 9, 9,
  910.             -1, -1, -1, -1, -1, -1, -1, 9,
  911.             -1, 9, 9, 9, 9, -1, -1, -1,
  912.             -1, -1, -1, 9, -1, -1, -1, -1,
  913.             -1, -1, -1, 9, 9, 9, 9, 9,
  914.             9, 9, 9, 9, 9, 9, 9, 9,
  915.             9, 9, 9, 9, -1, 9, 9, 9 ),
  916.         array( -1, -1, -1, 10, -1, 100, 10, 10,
  917.             -1, 162, 10, 100, 100, -1, -1, 10,
  918.             -1, 10, 10, 10, 10, -1, -1, -1,
  919.             -1, -1, -1, 10, -1, -1, -1, -1,
  920.             -1, -1, -1, 10, 10, 10, 10, 10,
  921.             10, 10, 10, 10, 10, 10, 10, 10,
  922.             10, 10, 10, 10, -1, 10, 10, 10 ),
  923.         array( -1, -1, -1, 12, -1, 101, 12, 12,
  924.             -1, -1, -1, 101, 101, -1, -1, 12,
  925.             -1, 12, 12, 12, 12, -1, -1, -1,
  926.             -1, -1, -1, 12, -1, -1, -1, -1,
  927.             -1, -1, -1, 12, 12, 12, 12, 12,
  928.             12, 12, 12, 12, 12, 12, 12, 12,
  929.             12, 12, 12, 12, -1, 12, 12, 12 ),
  930.         array( -1, -1, -1, -1, -1, 102, -1, -1,
  931.             -1, -1, -1, 102, 102, -1, -1, -1,
  932.             -1, 172, -1, -1, -1, -1, -1, -1,
  933.             -1, -1, -1, -1, -1, -1, -1, -1,
  934.             -1, -1, -1, -1, -1, -1, -1, -1,
  935.             -1, -1, -1, -1, -1, -1, -1, -1,
  936.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  937.         array( -1, -1, -1, 15, -1, 103, 15, 15,
  938.             -1, -1, -1, 103, 103, -1, -1, 15,
  939.             -1, 15, 15, 15, 15, -1, -1, -1,
  940.             -1, -1, -1, 15, -1, -1, -1, -1,
  941.             -1, -1, -1, 15, 15, 15, 15, 15,
  942.             15, 15, 15, 15, 15, 15, 15, 15,
  943.             15, 15, 15, 15, -1, 15, 15, 15 ),
  944.         array( -1, 31, 31, 31, 31, 31, 31, 31,
  945.             31, 31, 31, 31, 31, 31, 31, 31,
  946.             31, 31, 31, 31, 31, 31, 31, -1,
  947.             31, -1, 228, 31, 31, -1, 31, 31,
  948.             31, 31, 31, 31, 31, 31, 31, 31,
  949.             31, 31, 31, 31, 31, 31, 31, 31,
  950.             31, 31, 31, 31, 31, 31, 31, 31 ),
  951.         array( 1, 143, 143, 143, 143, 105, 143, 143,
  952.             36, 143, 143, 105, 105, 37, 143, 143,
  953.             143, 143, 143, 143, 143, 143, 143, 143,
  954.             143, 143, 143, 143, 143, 143, 143, 143,
  955.             143, 143, 143, 143, 143, 143, 143, 143,
  956.             143, 143, 143, 143, 143, 143, 143, 143,
  957.             143, 143, 143, 143, 143, 143, 143, 143 ),
  958.         array( -1, -1, -1, 38, -1, 107, 38, 38,
  959.             -1, -1, 38, 107, 107, -1, -1, 38,
  960.             -1, 38, 38, 38, 38, -1, -1, -1,
  961.             -1, -1, -1, 38, 40, -1, -1, -1,
  962.             -1, -1, -1, 38, 38, 38, 38, 38,
  963.             38, 38, 38, 38, 38, 38, 38, 38,
  964.             38, 38, 38, 38, -1, 38, 38, 38 ),
  965.         array( -1, -1, -1, -1, -1, 250, -1, -1,
  966.             -1, -1, -1, 250, 250, 41, -1, -1,
  967.             -1, -1, -1, -1, -1, -1, -1, -1,
  968.             -1, -1, -1, -1, -1, -1, -1, -1,
  969.             -1, -1, -1, -1, -1, -1, -1, -1,
  970.             -1, -1, -1, -1, -1, -1, -1, -1,
  971.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  972.         array( -1, -1, -1, -1, -1, 40, -1, -1,
  973.             -1, -1, -1, 40, 40, -1, -1, -1,
  974.             -1, -1, -1, -1, -1, -1, -1, -1,
  975.             -1, -1, -1, -1, -1, -1, -1, -1,
  976.             -1, -1, -1, -1, -1, -1, -1, -1,
  977.             -1, -1, -1, -1, -1, -1, -1, -1,
  978.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  979.         array( -1, 43, 43, 43, 43, 108, 43, 43,
  980.             43, 43, 43, 108, 108, -1, 43, 43,
  981.             43, 43, 43, 43, 43, 43, 43, 43,
  982.             43, 43, 43, 43, 43, -1, -1, 43,
  983.             43, 43, 43, 43, 43, 43, 43, 43,
  984.             43, 43, 43, 43, 43, 43, 43, 43,
  985.             43, 43, 43, 43, 43, 43, 43, 43 ),
  986.         array( -1, 43, 43, 44, 43, 109, 44, 44,
  987.             43, 43, 43, 109, 109, -1, 43, 44,
  988.             43, 44, 44, 44, 44, 43, 43, 43,
  989.             43, 43, 43, 44, 43, -1, -1, 43,
  990.             43, 43, 43, 44, 44, 44, 44, 44,
  991.             44, 44, 44, 44, 44, 44, 44, 44,
  992.             44, 44, 44, 44, 43, 44, 44, 44 ),
  993.         array( -1, -1, -1, -1, -1, 49, -1, -1,
  994.             -1, -1, -1, 49, 49, -1, -1, -1,
  995.             -1, -1, -1, -1, -1, -1, -1, -1,
  996.             -1, -1, -1, -1, -1, -1, -1, -1,
  997.             -1, -1, -1, -1, -1, -1, -1, -1,
  998.             -1, -1, -1, -1, -1, -1, -1, -1,
  999.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1000.         array( -1, 52, 52, 52, 52, 52, 52, 52,
  1001.             52, 52, 52, 52, 52, 52, 52, 52,
  1002.             52, 52, 52, 52, 52, 52, 52, -1,
  1003.             52, -1, 255, 52, 52, 52, -1, 52,
  1004.             52, 52, 52, 52, 52, 52, 52, 52,
  1005.             52, 52, 52, 52, 52, 52, 52, 52,
  1006.             52, 52, 52, 52, 52, 52, 52, 52 ),
  1007.         array( 1, 55, 55, 56, 55, 111, 57, 58,
  1008.             55, 55, 55, 111, 111, 59, 55, 58,
  1009.             60, 57, 57, 57, 57, 55, 55, 55,
  1010.             55, 112, 55, 58, 55, 137, 147, 55,
  1011.             55, 55, 55, 57, 57, 57, 57, 57,
  1012.             57, 57, 57, 57, 56, 57, 57, 57,
  1013.             57, 57, 57, 57, 55, 57, 57, 56 ),
  1014.         array( -1, -1, -1, 56, -1, 113, 61, 61,
  1015.             -1, -1, -1, 113, 113, -1, -1, 61,
  1016.             -1, 61, 61, 61, 61, -1, -1, -1,
  1017.             -1, -1, -1, 61, -1, -1, -1, -1,
  1018.             -1, -1, -1, 61, 61, 61, 61, 61,
  1019.             61, 61, 61, 61, 56, 61, 61, 61,
  1020.             61, 61, 61, 61, -1, 61, 61, 56 ),
  1021.         array( -1, -1, -1, 57, -1, 114, 57, 57,
  1022.             -1, -1, -1, 114, 114, -1, -1, 57,
  1023.             -1, 57, 57, 57, 57, -1, -1, -1,
  1024.             -1, -1, -1, 57, -1, -1, -1, -1,
  1025.             -1, -1, -1, 57, 57, 57, 57, 57,
  1026.             57, 57, 57, 57, 57, 57, 57, 57,
  1027.             57, 57, 57, 57, -1, 57, 57, 57 ),
  1028.         array( -1, -1, -1, 58, -1, 115, 58, 58,
  1029.             -1, -1, -1, 115, 115, -1, -1, 58,
  1030.             -1, 58, 58, 58, 58, -1, -1, -1,
  1031.             -1, -1, -1, 58, -1, -1, -1, -1,
  1032.             -1, -1, -1, 58, 58, 58, 58, 58,
  1033.             58, 58, 58, 58, 58, 58, 58, 58,
  1034.             58, 58, 58, 58, -1, 58, 58, 58 ),
  1035.         array( -1, -1, -1, 61, -1, 116, 61, 61,
  1036.             -1, -1, -1, 116, 116, -1, -1, 61,
  1037.             -1, 61, 61, 61, 61, -1, -1, -1,
  1038.             -1, -1, -1, 61, -1, -1, -1, -1,
  1039.             -1, -1, -1, 61, 61, 61, 61, 61,
  1040.             61, 61, 61, 61, 61, 61, 61, 61,
  1041.             61, 61, 61, 61, -1, 61, 61, 61 ),
  1042.         array( -1, -1, -1, -1, -1, 62, -1, -1,
  1043.             -1, -1, -1, 62, 62, -1, -1, -1,
  1044.             -1, -1, -1, -1, -1, -1, -1, -1,
  1045.             -1, -1, -1, -1, -1, -1, -1, -1,
  1046.             -1, -1, -1, -1, -1, -1, -1, -1,
  1047.             -1, -1, -1, -1, -1, -1, -1, -1,
  1048.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1049.         array( -1, -1, -1, 63, 117, 117, 63, 63,
  1050.             -1, -1, -1, 117, 117, -1, -1, 63,
  1051.             -1, 63, 63, 63, 63, -1, -1, -1,
  1052.             -1, -1, -1, 63, -1, -1, -1, -1,
  1053.             -1, -1, -1, 63, 63, 63, 63, 63,
  1054.             63, 63, 63, 63, 63, 63, 63, 63,
  1055.             63, 63, 63, 63, -1, 63, 63, 63 ),
  1056.         array( -1, -1, -1, -1, -1, 64, -1, -1,
  1057.             -1, -1, -1, 64, 64, -1, -1, -1,
  1058.             -1, -1, -1, -1, -1, -1, -1, -1,
  1059.             -1, -1, -1, -1, -1, -1, -1, -1,
  1060.             -1, -1, -1, -1, -1, -1, -1, -1,
  1061.             -1, -1, -1, -1, -1, -1, -1, -1,
  1062.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1063.         array( 1, 119, 119, 119, 119, 119, 119, 119,
  1064.             119, 119, 119, 119, 119, 119, 119, 151,
  1065.             119, 119, 119, 119, 119, 119, 119, 119,
  1066.             119, 119, 119, 119, 119, 119, 119, 119,
  1067.             119, 119, 119, 119, 119, 119, 119, 119,
  1068.             119, 119, 119, 119, 119, 119, 119, 119,
  1069.             119, 119, 119, 119, 119, 119, 119, 119 ),
  1070.         array( -1, 68, 68, 68, 68, 68, 68, 68,
  1071.             68, 68, 68, 68, 68, 68, 68, 68,
  1072.             68, 68, 68, 68, 68, 68, -1, 68,
  1073.             68, 68, 68, 68, 68, 68, 68, 68,
  1074.             68, 68, 68, 68, 68, 68, 68, 68,
  1075.             68, 68, 68, 68, 68, 68, 68, 68,
  1076.             68, 68, 68, 68, 68, 68, 68, 68 ),
  1077.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1078.             -1, -1, -1, -1, -1, -1, -1, -1,
  1079.             -1, -1, -1, -1, -1, -1, 263, -1,
  1080.             -1, -1, -1, -1, -1, -1, -1, -1,
  1081.             -1, -1, -1, -1, -1, -1, -1, -1,
  1082.             -1, -1, -1, -1, -1, -1, -1, -1,
  1083.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1084.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1085.             -1, -1, -1, -1, -1, -1, -1, -1,
  1086.             -1, -1, -1, -1, -1, -1, -1, -1,
  1087.             -1, -1, -1, -1, -1, -1, -1, -1,
  1088.             -1, -1, -1, -1, -1, -1, -1, -1,
  1089.             -1, -1, -1, -1, -1, -1, -1, -1,
  1090.             -1, -1, -1, -1, 121, -1, -1, -1 ),
  1091.         array( -1, -1, -1, 75, -1, -1, 75, 288,
  1092.             -1, -1, -1, -1, -1, -1, -1, -1,
  1093.             289, 75, 75, 75, 75, -1, -1, -1,
  1094.             -1, 405, -1, 75, -1, -1, -1, -1,
  1095.             -1, -1, -1, 75, 75, 75, 75, 75,
  1096.             75, 75, 75, 75, 75, 75, 75, 75,
  1097.             75, 75, 75, 75, -1, 75, 75, 75 ),
  1098.         array( -1, 79, 79, 79, 79, 79, 79, 79,
  1099.             -1, 79, 79, 79, 79, 79, 79, 79,
  1100.             79, 79, 79, 79, 79, 79, 79, 79,
  1101.             79, 79, 79, 79, 79, 79, 79, 79,
  1102.             79, 79, 79, 79, 79, 79, 79, 79,
  1103.             79, 79, 79, 79, 79, 79, 79, 79,
  1104.             79, 79, 79, 79, 79, 79, 79, 79 ),
  1105.         array( -1, 81, 81, 81, 81, 81, 81, 81,
  1106.             81, 81, 81, 81, 81, 81, 81, 81,
  1107.             81, 81, 81, 81, 81, 81, -1, -1,
  1108.             81, 81, 81, 81, 81, 81, 81, 81,
  1109.             81, 81, 81, 81, 81, 81, 81, 81,
  1110.             81, 81, 81, 81, 81, 81, 81, 81,
  1111.             81, 81, 81, 81, 81, 81, 81, 81 ),
  1112.         array( 1, 125, 125, 125, 125, 125, 125, 125,
  1113.             125, 125, 125, 125, 125, 125, 125, 167,
  1114.             125, 125, 125, 125, 125, 125, 125, 125,
  1115.             125, 125, 125, 125, 125, 125, 125, 125,
  1116.             125, 125, 125, 125, 125, 125, 125, 125,
  1117.             125, 125, 125, 125, 125, 125, 125, 125,
  1118.             125, 125, 125, 125, 125, 125, 125, 125 ),
  1119.         array( 1, 126, 126, 126, 126, 126, 126, 126,
  1120.             126, 126, 126, 126, 126, 126, 126, 126,
  1121.             126, 126, 126, 126, 126, 126, 126, 126,
  1122.             328, 126, 126, 126, 126, 126, 126, 126,
  1123.             126, 126, 126, 126, 126, 126, 126, 126,
  1124.             126, 126, 126, 126, 126, 126, 126, 126,
  1125.             126, 126, 126, 126, 126, 126, 126, 126 ),
  1126.         array( 1, 88, 88, 88, 88, 127, 88, 88,
  1127.             88, 88, 88, 127, 127, 88, 88, 128,
  1128.             88, 88, 88, 88, 88, 88, 88, 141,
  1129.             88, 88, 88, 88, 88, 88, 88, 88,
  1130.             88, 88, 88, 88, 88, 88, 88, 88,
  1131.             88, 88, 88, 88, 88, 88, 88, 88,
  1132.             88, 88, 88, 88, 88, 88, 88, 88 ),
  1133.         array( -1, 140, 140, 140, 140, 140, 140, 140,
  1134.             140, 140, 140, 140, 140, 140, 140, -1,
  1135.             140, 140, 140, 140, 140, 140, 140, 140,
  1136.             140, 140, 140, 140, 140, 140, 140, 140,
  1137.             140, 140, 140, 140, 140, 140, 140, 140,
  1138.             140, 140, 140, 140, 140, 140, 140, 140,
  1139.             140, 140, 140, 140, 140, 140, 140, 140 ),
  1140.         array( -1, -1, -1, 8, -1, -1, 9, -1,
  1141.             -1, -1, -1, -1, -1, -1, -1, -1,
  1142.             -1, 9, 9, 9, 9, -1, -1, -1,
  1143.             -1, -1, -1, -1, -1, -1, -1, -1,
  1144.             -1, -1, -1, 9, 9, 9, 9, 9,
  1145.             9, 9, 9, 9, 8, 9, 9, 9,
  1146.             9, 9, 9, 9, -1, 9, 9, 8 ),
  1147.         array( -1, -1, -1, -1, -1, 3, 5, -1,
  1148.             -1, 149, -1, 3, 3, 6, 152, -1,
  1149.             3, 5, 5, 5, 5, -1, 3, 3,
  1150.             7, -1, 3, 3, -1, -1, -1, 3,
  1151.             -1, -1, 3, 5, 5, 5, 5, 5,
  1152.             5, 5, 5, 5, -1, 5, 5, 5,
  1153.             5, 5, 5, 5, -1, 5, 5, -1 ),
  1154.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1155.             -1, -1, -1, -1, -1, -1, -1, -1,
  1156.             -1, -1, -1, -1, -1, -1, -1, -1,
  1157.             -1, -1, -1, 154, -1, -1, -1, -1,
  1158.             -1, -1, -1, -1, -1, -1, -1, -1,
  1159.             -1, -1, -1, -1, -1, -1, -1, -1,
  1160.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1161.         array( -1, -1, -1, -1, -1, 96, -1, -1,
  1162.             -1, -1, -1, 96, 96, -1, -1, -1,
  1163.             -1, -1, -1, -1, -1, -1, -1, -1,
  1164.             -1, -1, -1, -1, -1, -1, -1, -1,
  1165.             -1, -1, -1, -1, -1, -1, -1, -1,
  1166.             -1, -1, -1, -1, -1, -1, -1, -1,
  1167.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1168.         array( -1, -1, -1, -1, -1, 97, -1, -1,
  1169.             -1, -1, -1, 97, 97, -1, -1, -1,
  1170.             -1, -1, -1, -1, -1, -1, -1, -1,
  1171.             -1, -1, -1, -1, -1, -1, -1, -1,
  1172.             -1, -1, -1, -1, -1, -1, -1, -1,
  1173.             -1, -1, -1, -1, -1, -1, -1, -1,
  1174.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1175.         array( -1, -1, -1, -1, -1, 100, -1, -1,
  1176.             -1, 162, -1, 100, 100, -1, -1, -1,
  1177.             -1, -1, -1, -1, -1, -1, -1, -1,
  1178.             -1, -1, -1, -1, -1, -1, -1, -1,
  1179.             -1, -1, -1, -1, -1, -1, -1, -1,
  1180.             -1, -1, -1, -1, -1, -1, -1, -1,
  1181.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1182.         array( -1, -1, -1, -1, -1, 101, -1, -1,
  1183.             -1, -1, -1, 101, 101, -1, -1, -1,
  1184.             -1, -1, -1, -1, -1, -1, -1, -1,
  1185.             -1, -1, -1, -1, -1, -1, -1, -1,
  1186.             -1, -1, -1, -1, -1, -1, -1, -1,
  1187.             -1, -1, -1, -1, -1, -1, -1, -1,
  1188.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1189.         array( -1, -1, -1, -1, -1, 102, -1, -1,
  1190.             -1, -1, -1, 102, 102, -1, -1, -1,
  1191.             -1, -1, -1, -1, -1, -1, -1, -1,
  1192.             -1, -1, -1, -1, -1, -1, -1, -1,
  1193.             -1, -1, -1, -1, -1, -1, -1, -1,
  1194.             -1, -1, -1, -1, -1, -1, -1, -1,
  1195.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1196.         array( -1, -1, -1, -1, -1, 103, -1, -1,
  1197.             -1, -1, -1, 103, 103, -1, -1, -1,
  1198.             -1, -1, -1, -1, -1, -1, -1, -1,
  1199.             -1, -1, -1, -1, -1, -1, -1, -1,
  1200.             -1, -1, -1, -1, -1, -1, -1, -1,
  1201.             -1, -1, -1, -1, -1, -1, -1, -1,
  1202.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1203.         array( -1, -1, -1, -1, -1, -1, 229, -1,
  1204.             -1, -1, -1, -1, -1, -1, -1, -1,
  1205.             -1, 229, 229, 229, 229, -1, -1, -1,
  1206.             -1, -1, -1, 230, -1, -1, -1, -1,
  1207.             -1, -1, -1, 229, 229, 229, 229, 229,
  1208.             229, 229, 229, 229, -1, 229, 229, 229,
  1209.             229, 229, 229, 229, -1, 229, 229, -1 ),
  1210.         array( -1, -1, -1, -1, -1, 105, -1, -1,
  1211.             -1, -1, -1, 105, 105, -1, -1, -1,
  1212.             -1, -1, -1, -1, -1, -1, -1, -1,
  1213.             -1, -1, -1, -1, -1, -1, -1, -1,
  1214.             -1, -1, -1, -1, -1, -1, -1, -1,
  1215.             -1, -1, -1, -1, -1, -1, -1, -1,
  1216.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1217.         array( -1, -1, -1, -1, -1, 107, -1, -1,
  1218.             -1, -1, -1, 107, 107, -1, -1, -1,
  1219.             -1, -1, -1, -1, -1, -1, -1, -1,
  1220.             -1, -1, -1, -1, 40, -1, -1, -1,
  1221.             -1, -1, -1, -1, -1, -1, -1, -1,
  1222.             -1, -1, -1, -1, -1, -1, -1, -1,
  1223.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1224.         array( -1, -1, -1, -1, -1, 108, -1, -1,
  1225.             -1, -1, -1, 108, 108, -1, -1, -1,
  1226.             -1, -1, -1, -1, -1, -1, -1, -1,
  1227.             -1, -1, -1, -1, -1, -1, -1, -1,
  1228.             -1, -1, -1, -1, -1, -1, -1, -1,
  1229.             -1, -1, -1, -1, -1, -1, -1, -1,
  1230.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1231.         array( -1, -1, -1, -1, -1, 109, -1, -1,
  1232.             -1, -1, -1, 109, 109, -1, -1, -1,
  1233.             -1, -1, -1, -1, -1, -1, -1, -1,
  1234.             -1, -1, -1, -1, -1, -1, -1, -1,
  1235.             -1, -1, -1, -1, -1, -1, -1, -1,
  1236.             -1, -1, -1, -1, -1, -1, -1, -1,
  1237.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1238.         array( -1, -1, -1, -1, -1, -1, 229, -1,
  1239.             -1, -1, -1, -1, -1, -1, -1, -1,
  1240.             -1, 229, 229, 229, 229, -1, -1, -1,
  1241.             -1, -1, -1, 256, -1, -1, -1, -1,
  1242.             -1, -1, -1, 229, 229, 229, 229, 229,
  1243.             229, 229, 229, 229, -1, 229, 229, 229,
  1244.             229, 229, 229, 229, -1, 229, 229, -1 ),
  1245.         array( -1, -1, -1, -1, -1, 111, -1, -1,
  1246.             -1, -1, -1, 111, 111, -1, -1, -1,
  1247.             -1, -1, -1, -1, -1, -1, -1, -1,
  1248.             -1, -1, -1, -1, -1, -1, -1, -1,
  1249.             -1, -1, -1, -1, -1, -1, -1, -1,
  1250.             -1, -1, -1, -1, -1, -1, -1, -1,
  1251.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1252.         array( -1, -1, -1, -1, -1, 62, 63, -1,
  1253.             -1, -1, -1, 62, 62, -1, -1, -1,
  1254.             -1, 63, 63, 63, 63, -1, -1, -1,
  1255.             -1, -1, -1, -1, -1, -1, -1, -1,
  1256.             -1, -1, -1, 63, 63, 63, 63, 63,
  1257.             63, 63, 63, 63, -1, 63, 63, 63,
  1258.             63, 63, 63, 63, -1, 63, 63, -1 ),
  1259.         array( -1, -1, -1, -1, -1, 113, -1, -1,
  1260.             -1, -1, -1, 113, 113, -1, -1, -1,
  1261.             -1, -1, -1, -1, -1, -1, -1, -1,
  1262.             -1, -1, -1, -1, -1, -1, -1, -1,
  1263.             -1, -1, -1, -1, -1, -1, -1, -1,
  1264.             -1, -1, -1, -1, -1, -1, -1, -1,
  1265.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1266.         array( -1, -1, -1, -1, -1, 114, -1, -1,
  1267.             -1, -1, -1, 114, 114, -1, -1, -1,
  1268.             -1, -1, -1, -1, -1, -1, -1, -1,
  1269.             -1, -1, -1, -1, -1, -1, -1, -1,
  1270.             -1, -1, -1, -1, -1, -1, -1, -1,
  1271.             -1, -1, -1, -1, -1, -1, -1, -1,
  1272.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1273.         array( -1, -1, -1, -1, -1, 115, -1, -1,
  1274.             -1, -1, -1, 115, 115, -1, -1, -1,
  1275.             -1, -1, -1, -1, -1, -1, -1, -1,
  1276.             -1, -1, -1, -1, -1, -1, -1, -1,
  1277.             -1, -1, -1, -1, -1, -1, -1, -1,
  1278.             -1, -1, -1, -1, -1, -1, -1, -1,
  1279.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1280.         array( -1, -1, -1, -1, -1, 116, -1, -1,
  1281.             -1, -1, -1, 116, 116, -1, -1, -1,
  1282.             -1, -1, -1, -1, -1, -1, -1, -1,
  1283.             -1, -1, -1, -1, -1, -1, -1, -1,
  1284.             -1, -1, -1, -1, -1, -1, -1, -1,
  1285.             -1, -1, -1, -1, -1, -1, -1, -1,
  1286.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1287.         array( -1, -1, -1, -1, -1, 117, -1, -1,
  1288.             -1, -1, -1, 117, 117, -1, -1, -1,
  1289.             -1, -1, -1, -1, -1, -1, -1, -1,
  1290.             -1, -1, -1, -1, -1, -1, -1, -1,
  1291.             -1, -1, -1, -1, -1, -1, -1, -1,
  1292.             -1, -1, -1, -1, -1, -1, -1, -1,
  1293.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1294.         array( -1, 119, 119, 119, 119, 119, 119, 119,
  1295.             119, 119, 119, 119, 119, 119, 119, 259,
  1296.             119, 119, 119, 119, 119, 119, 119, 119,
  1297.             119, 119, 119, 119, 119, 119, 119, 119,
  1298.             119, 119, 119, 119, 119, 119, 119, 119,
  1299.             119, 119, 119, 119, 119, 119, 119, 119,
  1300.             119, 119, 119, 119, 119, 119, 119, 119 ),
  1301.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1302.             -1, -1, -1, -1, -1, 67, -1, 261,
  1303.             -1, -1, -1, -1, -1, -1, -1, -1,
  1304.             -1, -1, -1, -1, -1, -1, -1, -1,
  1305.             -1, -1, -1, -1, -1, -1, -1, -1,
  1306.             -1, -1, -1, -1, -1, -1, -1, -1,
  1307.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1308.         array( -1, -1, -1, -1, -1, -1, -1, 288,
  1309.             -1, -1, -1, -1, -1, -1, -1, -1,
  1310.             289, -1, -1, -1, -1, -1, -1, -1,
  1311.             -1, 405, -1, -1, -1, -1, -1, -1,
  1312.             -1, -1, -1, -1, -1, -1, -1, -1,
  1313.             -1, -1, -1, -1, -1, -1, -1, -1,
  1314.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1315.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1316.             -1, 302, -1, -1, -1, -1, -1, -1,
  1317.             -1, -1, -1, -1, -1, -1, -1, -1,
  1318.             -1, -1, -1, -1, -1, -1, -1, -1,
  1319.             -1, -1, -1, -1, -1, -1, -1, -1,
  1320.             -1, -1, -1, -1, -1, -1, -1, -1,
  1321.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1322.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1323.             -1, -1, -1, -1, -1, -1, -1, -1,
  1324.             -1, -1, -1, -1, -1, -1, 148, -1,
  1325.             -1, -1, -1, -1, -1, -1, -1, -1,
  1326.             -1, -1, -1, -1, -1, -1, -1, -1,
  1327.             -1, -1, -1, -1, -1, -1, -1, -1,
  1328.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1329.         array( -1, 125, 125, 125, 125, 125, 125, 125,
  1330.             125, 125, 125, 125, 125, 125, 125, 326,
  1331.             125, 125, 125, 125, 125, 125, 125, 125,
  1332.             125, 125, 125, 125, 125, 125, 125, 125,
  1333.             125, 125, 125, 125, 125, 125, 125, 125,
  1334.             125, 125, 125, 125, 125, 125, 125, 125,
  1335.             125, 125, 125, 125, 125, 125, 125, 125 ),
  1336.         array( -1, 126, 126, 126, 126, 126, 126, 126,
  1337.             126, 126, 126, 126, 126, 126, 126, 126,
  1338.             126, 126, 126, 126, 126, 126, 126, 126,
  1339.             -1, 126, 126, 126, 126, 126, 126, 126,
  1340.             126, 126, 126, 126, 126, 126, 126, 126,
  1341.             126, 126, 126, 126, 126, 126, 126, 126,
  1342.             126, 126, 126, 126, 126, 126, 126, 126 ),
  1343.         array( -1, 140, 140, 140, 140, 140, 140, 140,
  1344.             140, 140, 140, 140, 140, 140, 140, 329,
  1345.             140, 140, 140, 140, 140, 140, 140, 140,
  1346.             140, 140, 140, 140, 140, 140, 140, 140,
  1347.             140, 140, 140, 140, 140, 140, 140, 140,
  1348.             140, 140, 140, 140, 140, 140, 140, 140,
  1349.             140, 140, 140, 140, 140, 140, 140, 140 ),
  1350.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1351.             -1, -1, -1, -1, -1, 90, -1, 335,
  1352.             -1, -1, -1, -1, -1, -1, -1, -1,
  1353.             -1, -1, -1, -1, -1, -1, -1, -1,
  1354.             -1, -1, -1, -1, -1, -1, -1, -1,
  1355.             -1, -1, -1, -1, -1, -1, -1, -1,
  1356.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1357.         array( -1, -1, -1, 3, 3, 3, -1, 3,
  1358.             -1, 3, 3, 3, 3, 3, 3, 3,
  1359.             3, -1, -1, -1, -1, 3, 3, 3,
  1360.             3, 3, 3, 3, 3, 3, 3, 3,
  1361.             3, 3, 3, -1, -1, -1, -1, -1,
  1362.             -1, -1, -1, -1, 3, -1, -1, -1,
  1363.             -1, -1, -1, -1, 3, -1, -1, 3 ),
  1364.         array( -1, 31, 31, 31, 31, 31, 31, 31,
  1365.             31, 31, 31, 31, 31, 31, 31, 31,
  1366.             31, 31, 31, 31, 31, 31, 31, 31,
  1367.             31, 31, 31, 31, 31, -1, 31, 31,
  1368.             31, 31, 31, 31, 31, 31, 31, 31,
  1369.             31, 31, 31, 31, 31, 31, 31, 31,
  1370.             31, 31, 31, 31, 31, 31, 31, 31 ),
  1371.         array( -1, -1, -1, -1, -1, -1, 156, -1,
  1372.             -1, -1, -1, -1, -1, -1, -1, -1,
  1373.             -1, 156, 156, 156, 156, -1, -1, -1,
  1374.             -1, -1, -1, 158, -1, -1, -1, -1,
  1375.             -1, -1, -1, 156, 156, 156, 156, 156,
  1376.             156, 351, 156, 156, -1, 156, 156, 417,
  1377.             156, 392, 156, 156, -1, 156, 156, -1 ),
  1378.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1379.             -1, -1, -1, -1, -1, -1, -1, -1,
  1380.             -1, -1, -1, -1, -1, -1, -1, -1,
  1381.             -1, -1, -1, -1, -1, -1, -1, -1,
  1382.             -1, -1, -1, -1, -1, -1, -1, -1,
  1383.             -1, -1, -1, -1, -1, -1, -1, -1,
  1384.             -1, -1, -1, -1, -1, -1, -1, 231 ),
  1385.         array( 1, 143, 143, 143, 143, 105, 38, 143,
  1386.             36, 39, 143, 105, 105, 37, 143, 143,
  1387.             143, 38, 38, 38, 38, 143, 143, 143,
  1388.             150, 143, 143, 143, 143, 143, 143, 143,
  1389.             143, 143, 143, 38, 38, 38, 38, 38,
  1390.             38, 38, 38, 38, 143, 38, 38, 38,
  1391.             38, 38, 38, 38, 143, 38, 38, 143 ),
  1392.         array( -1, 43, 43, 135, 43, 109, 135, 135,
  1393.             43, 43, 43, 109, 109, -1, 43, 135,
  1394.             43, 135, 135, 135, 135, 43, 43, 43,
  1395.             43, 43, 43, 135, 43, -1, -1, 43,
  1396.             43, 43, 43, 135, 135, 135, 135, 135,
  1397.             135, 135, 135, 135, 135, 135, 135, 135,
  1398.             135, 135, 135, 135, 43, 135, 135, 135 ),
  1399.         array( -1, 257, 257, 257, 257, 257, 257, 257,
  1400.             257, 257, 257, 257, 257, 257, 257, 257,
  1401.             257, 257, 257, 257, 257, 257, 257, 257,
  1402.             257, 257, 257, 257, 257, 64, 257, 257,
  1403.             257, 257, 257, 257, 257, 257, 257, 257,
  1404.             257, 257, 257, 257, 257, 257, 257, 257,
  1405.             257, 257, 257, 257, 257, 257, 257, 257 ),
  1406.         array( -1, -1, -1, -1, -1, -1, 310, -1,
  1407.             -1, -1, -1, -1, -1, -1, -1, -1,
  1408.             -1, 310, 310, 310, 310, -1, -1, -1,
  1409.             -1, -1, -1, 310, -1, -1, -1, -1,
  1410.             -1, -1, -1, 310, 310, 310, 310, 310,
  1411.             310, 310, 310, 310, -1, 310, 310, 418,
  1412.             310, 395, 310, 310, -1, 310, 310, -1 ),
  1413.         array( -1, 331, 331, 331, 331, 127, 331, 331,
  1414.             331, 331, 331, 127, 127, 331, 331, 331,
  1415.             331, 331, 331, 331, 331, 331, 331, -1,
  1416.             331, 331, 331, 331, 331, 331, 331, 331,
  1417.             331, 331, 331, 331, 331, 331, 331, 331,
  1418.             331, 331, 331, 331, 331, 331, 331, 331,
  1419.             331, 331, 331, 331, 331, 331, 331, 331 ),
  1420.         array( -1, -1, -1, -1, -1, -1, 330, -1,
  1421.             -1, -1, -1, -1, -1, -1, -1, -1,
  1422.             -1, 330, 330, 330, 330, -1, -1, -1,
  1423.             -1, -1, -1, 330, -1, -1, -1, -1,
  1424.             -1, -1, -1, 330, 330, 330, 330, 330,
  1425.             330, 330, 330, 330, -1, 330, 330, 330,
  1426.             330, 330, 330, 330, -1, 330, 330, -1 ),
  1427.         array( -1, -1, -1, -1, -1, 3, -1, -1,
  1428.             -1, -1, -1, 3, 3, -1, -1, -1,
  1429.             3, -1, -1, -1, -1, -1, 3, 3,
  1430.             -1, -1, 3, 3, -1, -1, -1, 3,
  1431.             -1, -1, 3, -1, -1, -1, -1, -1,
  1432.             -1, -1, -1, -1, -1, -1, -1, -1,
  1433.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1434.         array( -1, 130, 3, 3, 3, 3, 3, 3,
  1435.             142, 3, 3, 3, 3, 17, 3, 3,
  1436.             3, 3, 3, 3, 3, -1, 3, -1,
  1437.             3, 3, 3, 3, 3, 3, 3, 3,
  1438.             3, 3, 3, 3, 3, 3, 3, 3,
  1439.             3, 3, 3, 3, 3, 3, 3, 3,
  1440.             3, 3, 3, 3, 3, 3, 3, 3 ),
  1441.         array( -1, 258, 258, 258, 258, 258, 258, 258,
  1442.             258, 258, 258, 258, 258, 258, 258, 258,
  1443.             258, 258, 258, 258, 258, 258, 258, 258,
  1444.             258, 258, 258, 258, 258, 258, 118, 258,
  1445.             258, 258, 258, 258, 258, 258, 258, 258,
  1446.             258, 258, 258, 258, 258, 258, 258, 258,
  1447.             258, 258, 258, 258, 258, 258, 258, 258 ),
  1448.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1449.             -1, -1, -1, -1, -1, 82, -1, -1,
  1450.             -1, -1, -1, -1, -1, -1, -1, -1,
  1451.             -1, -1, -1, -1, -1, -1, -1, -1,
  1452.             -1, -1, -1, -1, -1, -1, -1, -1,
  1453.             -1, -1, -1, -1, -1, -1, -1, -1,
  1454.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1455.         array( -1, -1, -1, -1, -1, 160, 10, -1,
  1456.             -1, 162, -1, 160, 160, 11, -1, -1,
  1457.             -1, 10, 10, 10, 10, -1, -1, -1,
  1458.             -1, -1, -1, -1, -1, -1, -1, -1,
  1459.             -1, -1, -1, 10, 10, 10, 10, 10,
  1460.             10, 10, 10, 10, -1, 10, 10, 10,
  1461.             10, 10, 10, 10, -1, 10, 10, -1 ),
  1462.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1463.             -1, -1, -1, -1, -1, 42, -1, -1,
  1464.             -1, -1, -1, -1, -1, -1, -1, -1,
  1465.             -1, -1, -1, -1, -1, -1, -1, -1,
  1466.             -1, -1, -1, -1, -1, -1, -1, -1,
  1467.             -1, -1, -1, -1, -1, -1, -1, -1,
  1468.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1469.         array( -1, 119, 119, 119, 119, 119, 119, 119,
  1470.             119, 119, 119, 119, 119, 119, 119, 260,
  1471.             119, 119, 119, 119, 119, 119, 119, 119,
  1472.             119, 119, 119, 119, 119, 119, 119, 119,
  1473.             119, 119, 119, 119, 119, 119, 119, 119,
  1474.             119, 119, 119, 119, 119, 119, 119, 119,
  1475.             119, 119, 119, 119, 119, 119, 119, 119 ),
  1476.         array( -1, -1, -1, -1, -1, -1, 12, -1,
  1477.             -1, -1, -1, -1, -1, 13, -1, 164,
  1478.             14, 12, 12, 12, 12, -1, -1, -1,
  1479.             -1, -1, -1, -1, -1, -1, -1, -1,
  1480.             -1, -1, -1, 12, 12, 12, 12, 12,
  1481.             12, 12, 12, 12, -1, 12, 12, 12,
  1482.             12, 12, 12, 12, -1, 12, 12, -1 ),
  1483.         array( -1, 52, 52, 52, 52, 52, 52, 52,
  1484.             52, 52, 52, 52, 52, 52, 52, 52,
  1485.             52, 52, 52, 52, 52, 52, 52, 52,
  1486.             52, 52, -1, 52, 52, 52, -1, 52,
  1487.             52, 52, 52, 52, 52, 52, 52, 52,
  1488.             52, 52, 52, 52, 52, 52, 52, 52,
  1489.             52, 52, 52, 52, 52, 52, 52, 52 ),
  1490.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1491.             -1, -1, -1, -1, -1, -1, -1, -1,
  1492.             -1, -1, -1, -1, -1, -1, -1, -1,
  1493.             -1, -1, -1, -1, -1, -1, -1, -1,
  1494.             -1, -1, 16, -1, -1, -1, -1, -1,
  1495.             -1, -1, -1, -1, -1, -1, -1, -1,
  1496.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1497.         array( -1, 265, 71, 265, 265, 265, 265, 265,
  1498.             265, 265, 265, 265, 265, 265, 265, 265,
  1499.             265, 265, 265, 265, 265, 265, 265, 265,
  1500.             265, 265, 265, 265, 265, 265, 265, 265,
  1501.             265, 265, 265, 265, 265, 265, 265, 265,
  1502.             265, 265, 265, 265, 265, 265, 265, 265,
  1503.             265, 265, 265, 265, 265, 265, 265, 265 ),
  1504.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1505.             -1, -1, 168, -1, -1, -1, -1, -1,
  1506.             169, 156, 156, 156, 156, -1, -1, -1,
  1507.             -1, 170, -1, 156, -1, -1, -1, -1,
  1508.             -1, 18, 19, 156, 156, 156, 156, 156,
  1509.             156, 156, 156, 156, 156, 156, 156, 156,
  1510.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1511.         array( -1, -1, -1, 266, -1, -1, -1, -1,
  1512.             -1, -1, -1, -1, -1, -1, -1, -1,
  1513.             -1, -1, -1, -1, -1, 267, -1, -1,
  1514.             -1, -1, -1, -1, -1, -1, -1, -1,
  1515.             -1, -1, -1, -1, -1, -1, -1, -1,
  1516.             -1, -1, -1, -1, 266, -1, -1, -1,
  1517.             -1, -1, -1, -1, 72, -1, -1, 266 ),
  1518.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1519.             -1, -1, 168, -1, -1, -1, -1, -1,
  1520.             169, 156, 156, 156, 156, -1, -1, -1,
  1521.             -1, 170, -1, 156, -1, -1, -1, -1,
  1522.             -1, 20, 19, 156, 156, 156, 156, 156,
  1523.             156, 156, 156, 156, 156, 156, 156, 156,
  1524.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1525.         array( -1, -1, -1, 268, -1, -1, 268, 269,
  1526.             -1, -1, -1, -1, -1, -1, -1, -1,
  1527.             270, 268, 268, 268, 268, 271, -1, -1,
  1528.             -1, 403, -1, 268, -1, -1, -1, -1,
  1529.             -1, -1, -1, 268, 268, 268, 268, 268,
  1530.             268, 268, 268, 268, 268, 268, 268, 268,
  1531.             268, 268, 268, 268, 73, 268, 268, 268 ),
  1532.         array( -1, -1, -1, -1, -1, 160, -1, -1,
  1533.             -1, 162, -1, 160, 160, -1, -1, -1,
  1534.             -1, -1, -1, -1, -1, -1, -1, -1,
  1535.             -1, -1, -1, -1, -1, -1, -1, -1,
  1536.             -1, -1, -1, -1, -1, -1, -1, -1,
  1537.             -1, -1, -1, -1, -1, -1, -1, -1,
  1538.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1539.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1540.             -1, -1, 272, -1, -1, -1, -1, -1,
  1541.             -1, -1, -1, -1, -1, -1, -1, -1,
  1542.             -1, -1, -1, -1, -1, -1, -1, -1,
  1543.             -1, -1, 74, -1, -1, -1, -1, -1,
  1544.             -1, -1, -1, -1, -1, -1, -1, -1,
  1545.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1546.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1547.             21, -1, -1, -1, -1, -1, -1, -1,
  1548.             -1, -1, -1, -1, -1, -1, -1, -1,
  1549.             -1, -1, -1, -1, -1, -1, -1, -1,
  1550.             -1, -1, -1, -1, -1, -1, -1, -1,
  1551.             -1, -1, -1, -1, -1, -1, -1, -1,
  1552.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1553.         array( -1, 287, 76, 287, 287, 287, 287, 287,
  1554.             287, 287, 287, 287, 287, 287, 287, 287,
  1555.             287, 287, 287, 287, 287, 287, 287, 287,
  1556.             287, 287, 287, 287, 287, 287, 287, 287,
  1557.             287, 287, 287, 287, 287, 287, 287, 287,
  1558.             287, 287, 287, 287, 287, 287, 287, 287,
  1559.             287, 287, 287, 287, 287, 287, 287, 287 ),
  1560.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1561.             -1, -1, -1, -1, -1, -1, -1, 22,
  1562.             -1, -1, -1, -1, -1, -1, -1, -1,
  1563.             -1, -1, -1, -1, -1, -1, -1, -1,
  1564.             -1, -1, -1, -1, -1, -1, -1, -1,
  1565.             -1, -1, -1, -1, -1, -1, -1, -1,
  1566.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1567.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1568.             -1, -1, 290, -1, -1, -1, -1, -1,
  1569.             -1, -1, -1, -1, -1, -1, -1, -1,
  1570.             -1, 291, -1, -1, -1, -1, -1, -1,
  1571.             -1, -1, 77, -1, -1, -1, -1, -1,
  1572.             -1, -1, -1, -1, -1, -1, -1, -1,
  1573.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1574.         array( -1, -1, -1, -1, -1, -1, 173, -1,
  1575.             -1, -1, -1, -1, -1, -1, -1, -1,
  1576.             -1, 173, 173, 173, 173, -1, -1, -1,
  1577.             -1, -1, -1, 173, -1, -1, -1, -1,
  1578.             -1, -1, -1, 173, 173, 173, 173, 173,
  1579.             173, 173, 173, 173, -1, 173, 173, 173,
  1580.             173, 173, 173, 173, -1, 173, 173, -1 ),
  1581.         array( -1, 125, 125, 125, 125, 125, 125, 125,
  1582.             125, 125, 125, 125, 125, 125, 125, 327,
  1583.             125, 125, 125, 125, 125, 125, 125, 125,
  1584.             125, 125, 125, 125, 125, 125, 125, 125,
  1585.             125, 125, 125, 125, 125, 125, 125, 125,
  1586.             125, 125, 125, 125, 125, 125, 125, 125,
  1587.             125, 125, 125, 125, 125, 125, 125, 125 ),
  1588.         array( -1, -1, -1, -1, -1, -1, 174, -1,
  1589.             -1, -1, -1, -1, -1, -1, -1, -1,
  1590.             -1, 174, 174, 174, 174, -1, -1, -1,
  1591.             -1, -1, -1, -1, -1, -1, -1, -1,
  1592.             -1, -1, -1, 174, 174, 174, 174, 174,
  1593.             174, 174, 174, 174, -1, 174, 174, 174,
  1594.             174, 174, 174, 174, -1, 174, 174, -1 ),
  1595.         array( -1, -1, -1, 175, -1, -1, 175, -1,
  1596.             -1, -1, -1, -1, -1, -1, -1, 175,
  1597.             -1, 175, 175, 175, 175, -1, -1, -1,
  1598.             -1, -1, -1, 175, -1, -1, -1, -1,
  1599.             -1, -1, -1, 175, 175, 175, 175, 175,
  1600.             175, 175, 175, 175, 175, 175, 175, 175,
  1601.             175, 175, 175, 175, -1, 175, 175, 175 ),
  1602.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1603.             -1, -1, -1, -1, -1, -1, -1, -1,
  1604.             -1, -1, -1, -1, -1, -1, -1, -1,
  1605.             -1, -1, -1, -1, -1, -1, -1, -1,
  1606.             -1, -1, -1, -1, -1, -1, -1, -1,
  1607.             -1, -1, -1, -1, 176, -1, -1, -1,
  1608.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1609.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1610.             -1, -1, 177, -1, -1, -1, -1, -1,
  1611.             169, 156, 156, 156, 156, -1, -1, -1,
  1612.             -1, 170, -1, 156, -1, -1, -1, -1,
  1613.             -1, 18, 19, 156, 156, 156, 156, 156,
  1614.             156, 156, 156, 156, 156, 156, 156, 156,
  1615.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1616.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1617.             -1, -1, -1, -1, -1, -1, -1, -1,
  1618.             -1, -1, 179, -1, -1, -1, -1, -1,
  1619.             -1, -1, -1, -1, -1, -1, -1, -1,
  1620.             -1, -1, -1, -1, -1, -1, -1, -1,
  1621.             -1, -1, -1, -1, -1, -1, -1, -1,
  1622.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1623.         array( -1, -1, -1, 173, -1, -1, 173, 166,
  1624.             -1, -1, 168, -1, -1, -1, -1, -1,
  1625.             180, 173, 173, 173, 173, -1, -1, -1,
  1626.             -1, 181, -1, 173, -1, -1, -1, -1,
  1627.             -1, 18, 19, 173, 173, 173, 173, 173,
  1628.             173, 173, 173, 173, 173, 173, 173, 173,
  1629.             173, 173, 173, 173, -1, 173, 173, 173 ),
  1630.         array( -1, -1, -1, -1, -1, -1, 174, -1,
  1631.             -1, -1, -1, -1, -1, -1, -1, -1,
  1632.             -1, 174, 174, 174, 174, -1, -1, -1,
  1633.             -1, -1, -1, -1, -1, -1, -1, -1,
  1634.             -1, -1, 19, 174, 174, 174, 174, 174,
  1635.             174, 174, 174, 174, -1, 174, 174, 174,
  1636.             174, 174, 174, 174, -1, 174, 174, -1 ),
  1637.         array( -1, -1, -1, 175, -1, -1, 175, -1,
  1638.             -1, -1, -1, -1, -1, -1, -1, 175,
  1639.             -1, 175, 175, 175, 175, -1, 182, -1,
  1640.             -1, 183, -1, 175, -1, -1, -1, -1,
  1641.             -1, -1, -1, 175, 175, 175, 175, 175,
  1642.             175, 175, 175, 175, 175, 175, 175, 175,
  1643.             175, 175, 175, 175, -1, 175, 175, 175 ),
  1644.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1645.             -1, -1, -1, -1, -1, -1, -1, -1,
  1646.             -1, -1, -1, -1, -1, -1, -1, -1,
  1647.             -1, -1, -1, -1, -1, -1, -1, -1,
  1648.             -1, -1, -1, -1, -1, -1, -1, -1,
  1649.             -1, -1, -1, -1, -1, 169, -1, -1,
  1650.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1651.         array( -1, -1, -1, -1, -1, -1, 184, -1,
  1652.             -1, -1, -1, -1, -1, -1, 185, -1,
  1653.             -1, 184, 184, 184, 184, -1, -1, -1,
  1654.             -1, -1, -1, 184, -1, -1, -1, -1,
  1655.             -1, -1, -1, 184, 184, 184, 184, 184,
  1656.             184, 184, 184, 184, -1, 184, 184, 184,
  1657.             184, 184, 184, 184, -1, 184, 184, -1 ),
  1658.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1659.             -1, -1, 186, -1, -1, -1, -1, -1,
  1660.             169, 156, 156, 156, 156, -1, -1, -1,
  1661.             -1, 170, -1, 156, -1, -1, -1, -1,
  1662.             -1, 18, 19, 156, 156, 156, 156, 156,
  1663.             156, 156, 156, 156, 156, 156, 156, 156,
  1664.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1665.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1666.             -1, -1, -1, -1, -1, -1, -1, -1,
  1667.             -1, -1, -1, 188, -1, -1, -1, -1,
  1668.             -1, -1, -1, -1, -1, -1, -1, -1,
  1669.             -1, -1, -1, -1, -1, -1, -1, -1,
  1670.             -1, -1, -1, -1, -1, -1, -1, -1,
  1671.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1672.         array( -1, -1, -1, 189, -1, -1, 189, -1,
  1673.             -1, -1, -1, -1, -1, -1, -1, 189,
  1674.             -1, 189, 189, 189, 189, -1, -1, -1,
  1675.             -1, -1, -1, 189, -1, -1, -1, -1,
  1676.             -1, -1, -1, 189, 189, 189, 189, 189,
  1677.             189, 189, 189, 189, 189, 189, 189, 189,
  1678.             189, 189, 189, 189, -1, 189, 189, 189 ),
  1679.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1680.             -1, -1, -1, -1, -1, -1, -1, -1,
  1681.             -1, -1, -1, -1, -1, -1, -1, -1,
  1682.             -1, -1, -1, -1, -1, -1, -1, -1,
  1683.             -1, -1, -1, -1, -1, -1, -1, -1,
  1684.             -1, -1, -1, -1, 353, -1, -1, -1,
  1685.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1686.         array( -1, -1, -1, -1, -1, -1, -1, 166,
  1687.             -1, -1, 168, -1, -1, -1, -1, -1,
  1688.             169, -1, -1, -1, -1, -1, -1, -1,
  1689.             -1, 170, -1, -1, -1, -1, -1, -1,
  1690.             -1, -1, 19, -1, -1, -1, -1, -1,
  1691.             -1, -1, -1, -1, -1, -1, -1, -1,
  1692.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1693.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1694.             -1, -1, -1, -1, -1, -1, -1, -1,
  1695.             -1, -1, -1, -1, -1, -1, -1, -1,
  1696.             -1, -1, -1, -1, -1, -1, -1, -1,
  1697.             -1, -1, -1, -1, -1, -1, -1, -1,
  1698.             -1, -1, -1, -1, 190, -1, -1, -1,
  1699.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1700.         array( -1, -1, -1, 184, -1, -1, 184, 191,
  1701.             -1, -1, -1, -1, -1, -1, -1, -1,
  1702.             192, 184, 184, 184, 184, -1, -1, -1,
  1703.             -1, 393, -1, 184, -1, -1, -1, -1,
  1704.             -1, 23, 24, 184, 184, 184, 184, 184,
  1705.             184, 184, 184, 184, 184, 184, 184, 184,
  1706.             184, 184, 184, 184, -1, 184, 184, 184 ),
  1707.         array( -1, -1, -1, -1, -1, -1, 184, -1,
  1708.             -1, -1, -1, -1, -1, -1, -1, -1,
  1709.             -1, 184, 184, 184, 184, -1, -1, -1,
  1710.             -1, -1, -1, 184, -1, -1, -1, -1,
  1711.             -1, -1, -1, 184, 184, 184, 184, 184,
  1712.             184, 184, 184, 184, -1, 184, 184, 184,
  1713.             184, 184, 184, 184, -1, 184, 184, -1 ),
  1714.         array( -1, -1, -1, -1, -1, -1, 174, -1,
  1715.             -1, -1, -1, -1, -1, -1, -1, -1,
  1716.             -1, 174, 174, 174, 174, -1, -1, -1,
  1717.             -1, -1, -1, -1, -1, -1, -1, -1,
  1718.             -1, -1, 25, 174, 174, 174, 174, 174,
  1719.             174, 174, 174, 174, -1, 174, 174, 174,
  1720.             174, 174, 174, 174, -1, 174, 174, -1 ),
  1721.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1722.             -1, -1, 193, -1, -1, -1, -1, -1,
  1723.             169, 156, 156, 156, 156, -1, -1, -1,
  1724.             -1, 170, -1, 156, -1, -1, -1, -1,
  1725.             -1, 18, 19, 156, 156, 156, 156, 156,
  1726.             156, 156, 156, 156, 156, 156, 156, 156,
  1727.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1728.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1729.             -1, -1, -1, -1, -1, -1, -1, -1,
  1730.             -1, -1, -1, -1, 194, -1, -1, -1,
  1731.             -1, -1, -1, -1, -1, -1, -1, -1,
  1732.             -1, -1, -1, -1, -1, -1, -1, -1,
  1733.             -1, -1, -1, -1, -1, -1, -1, -1,
  1734.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1735.         array( -1, -1, -1, 189, -1, -1, 189, -1,
  1736.             -1, -1, -1, -1, -1, -1, -1, 189,
  1737.             -1, 189, 189, 189, 189, -1, 195, -1,
  1738.             -1, 196, -1, 189, -1, -1, -1, -1,
  1739.             -1, -1, -1, 189, 189, 189, 189, 189,
  1740.             189, 189, 189, 189, 189, 189, 189, 189,
  1741.             189, 189, 189, 189, -1, 189, 189, 189 ),
  1742.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1743.             -1, -1, -1, -1, -1, -1, -1, -1,
  1744.             -1, -1, 182, -1, -1, -1, -1, -1,
  1745.             -1, -1, -1, -1, -1, -1, -1, -1,
  1746.             -1, -1, -1, -1, -1, -1, -1, -1,
  1747.             -1, -1, -1, -1, -1, -1, 182, -1,
  1748.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1749.         array( -1, -1, -1, -1, -1, -1, 197, -1,
  1750.             -1, -1, -1, -1, -1, -1, -1, -1,
  1751.             -1, 197, 197, 197, 197, -1, -1, -1,
  1752.             -1, -1, -1, 197, -1, -1, -1, -1,
  1753.             -1, -1, -1, 197, 197, 197, 197, 197,
  1754.             197, 197, 197, 197, -1, 197, 197, 197,
  1755.             197, 197, 197, 197, -1, 197, 197, -1 ),
  1756.         array( -1, -1, -1, 198, -1, -1, 198, -1,
  1757.             -1, -1, -1, -1, -1, -1, -1, 198,
  1758.             -1, 198, 198, 198, 198, -1, -1, -1,
  1759.             -1, -1, -1, 198, -1, -1, -1, -1,
  1760.             -1, -1, -1, 198, 198, 198, 198, 198,
  1761.             198, 198, 198, 198, 198, 198, 198, 198,
  1762.             198, 198, 198, 198, -1, 198, 198, 198 ),
  1763.         array( -1, -1, -1, -1, -1, -1, 174, -1,
  1764.             -1, -1, -1, -1, -1, -1, -1, -1,
  1765.             -1, 174, 174, 174, 174, -1, -1, -1,
  1766.             -1, -1, -1, -1, -1, -1, -1, -1,
  1767.             -1, -1, 26, 174, 174, 174, 174, 174,
  1768.             174, 174, 174, 174, -1, 174, 174, 174,
  1769.             174, 174, 174, 174, -1, 174, 174, -1 ),
  1770.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1771.             -1, -1, -1, -1, -1, -1, -1, -1,
  1772.             -1, -1, -1, 199, -1, -1, -1, -1,
  1773.             -1, -1, -1, -1, -1, -1, -1, -1,
  1774.             -1, -1, -1, -1, -1, -1, -1, -1,
  1775.             -1, -1, -1, -1, -1, -1, -1, -1,
  1776.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1777.         array( -1, -1, -1, -1, -1, -1, -1, 166,
  1778.             -1, -1, 168, -1, -1, -1, -1, -1,
  1779.             180, -1, -1, -1, -1, -1, -1, -1,
  1780.             -1, 181, -1, -1, -1, -1, -1, -1,
  1781.             -1, -1, 19, -1, -1, -1, -1, -1,
  1782.             -1, -1, -1, -1, -1, -1, -1, -1,
  1783.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1784.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1785.             -1, -1, -1, -1, -1, -1, -1, -1,
  1786.             -1, -1, -1, -1, -1, -1, -1, -1,
  1787.             -1, -1, -1, -1, -1, -1, -1, -1,
  1788.             -1, -1, -1, -1, -1, -1, -1, -1,
  1789.             -1, -1, -1, -1, 200, -1, -1, -1,
  1790.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1791.         array( -1, -1, -1, 197, -1, -1, 197, 191,
  1792.             -1, -1, -1, -1, -1, -1, -1, -1,
  1793.             201, 197, 197, 197, 197, -1, -1, -1,
  1794.             -1, 397, -1, 197, -1, -1, -1, -1,
  1795.             -1, 23, 24, 197, 197, 197, 197, 197,
  1796.             197, 197, 197, 197, 197, 197, 197, 197,
  1797.             197, 197, 197, 197, -1, 197, 197, 197 ),
  1798.         array( -1, -1, -1, 198, -1, -1, 198, -1,
  1799.             -1, -1, -1, -1, -1, -1, -1, 198,
  1800.             -1, 198, 198, 198, 198, -1, 202, -1,
  1801.             -1, 203, -1, 198, -1, -1, -1, -1,
  1802.             -1, -1, -1, 198, 198, 198, 198, 198,
  1803.             198, 198, 198, 198, 198, 198, 198, 198,
  1804.             198, 198, 198, 198, -1, 198, 198, 198 ),
  1805.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1806.             -1, -1, -1, -1, -1, -1, -1, -1,
  1807.             27, -1, -1, -1, -1, -1, -1, -1,
  1808.             -1, -1, -1, -1, -1, -1, -1, -1,
  1809.             -1, -1, -1, -1, -1, -1, -1, -1,
  1810.             -1, -1, -1, -1, -1, -1, -1, -1,
  1811.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1812.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1813.             -1, -1, -1, -1, -1, -1, -1, -1,
  1814.             -1, -1, 195, -1, -1, -1, -1, -1,
  1815.             -1, -1, -1, -1, -1, -1, -1, -1,
  1816.             -1, -1, -1, -1, -1, -1, -1, -1,
  1817.             -1, -1, -1, -1, -1, -1, 195, -1,
  1818.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1819.         array( -1, -1, -1, 205, -1, -1, 205, -1,
  1820.             -1, -1, -1, -1, -1, -1, -1, 205,
  1821.             -1, 205, 205, 205, 205, -1, -1, -1,
  1822.             -1, -1, -1, 205, -1, -1, -1, -1,
  1823.             -1, -1, -1, 205, 205, 205, 205, 205,
  1824.             205, 205, 205, 205, 205, 205, 205, 205,
  1825.             205, 205, 205, 205, -1, 205, 205, 205 ),
  1826.         array( -1, -1, -1, -1, -1, -1, -1, 191,
  1827.             -1, -1, -1, -1, -1, -1, -1, -1,
  1828.             192, -1, -1, -1, -1, -1, -1, -1,
  1829.             -1, 393, -1, -1, -1, -1, -1, -1,
  1830.             -1, 23, 24, -1, -1, -1, -1, -1,
  1831.             -1, -1, -1, -1, -1, -1, -1, -1,
  1832.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1833.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1834.             -1, -1, -1, -1, -1, -1, -1, -1,
  1835.             -1, -1, -1, -1, -1, -1, -1, -1,
  1836.             -1, -1, -1, -1, -1, -1, -1, -1,
  1837.             -1, -1, -1, -1, -1, -1, -1, -1,
  1838.             -1, -1, -1, -1, 206, -1, -1, -1,
  1839.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1840.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  1841.             -1, -1, 207, -1, -1, -1, -1, -1,
  1842.             169, 156, 156, 156, 156, -1, -1, -1,
  1843.             -1, 170, -1, 156, -1, -1, -1, -1,
  1844.             -1, 18, 19, 156, 156, 156, 156, 156,
  1845.             156, 156, 156, 156, 156, 156, 156, 156,
  1846.             156, 156, 156, 156, -1, 156, 156, 156 ),
  1847.         array( -1, -1, -1, 205, -1, -1, 205, -1,
  1848.             -1, -1, -1, -1, -1, -1, -1, 205,
  1849.             -1, 205, 205, 205, 205, -1, 208, -1,
  1850.             -1, 209, -1, 205, -1, -1, -1, -1,
  1851.             -1, -1, -1, 205, 205, 205, 205, 205,
  1852.             205, 205, 205, 205, 205, 205, 205, 205,
  1853.             205, 205, 205, 205, -1, 205, 205, 205 ),
  1854.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1855.             -1, -1, -1, -1, -1, -1, -1, -1,
  1856.             -1, -1, 202, -1, -1, -1, -1, -1,
  1857.             -1, -1, -1, -1, -1, -1, -1, -1,
  1858.             -1, -1, -1, -1, -1, -1, -1, -1,
  1859.             -1, -1, -1, -1, -1, -1, 202, -1,
  1860.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1861.         array( -1, -1, -1, -1, -1, -1, 210, -1,
  1862.             -1, -1, -1, -1, -1, -1, -1, -1,
  1863.             -1, 210, 210, 210, 210, -1, -1, -1,
  1864.             -1, -1, -1, 210, -1, -1, -1, -1,
  1865.             -1, -1, -1, 210, 210, 210, 210, 210,
  1866.             210, 210, 210, 210, -1, 210, 210, 210,
  1867.             210, 210, 210, 210, -1, 210, 210, -1 ),
  1868.         array( -1, -1, -1, -1, -1, -1, -1, 191,
  1869.             -1, -1, -1, -1, -1, -1, -1, -1,
  1870.             201, -1, -1, -1, -1, -1, -1, -1,
  1871.             -1, 397, -1, -1, -1, -1, -1, -1,
  1872.             -1, 23, 24, -1, -1, -1, -1, -1,
  1873.             -1, -1, -1, -1, -1, -1, -1, -1,
  1874.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1875.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1876.             -1, -1, -1, -1, -1, -1, -1, -1,
  1877.             -1, -1, -1, -1, -1, -1, -1, -1,
  1878.             -1, -1, -1, -1, -1, -1, -1, -1,
  1879.             -1, -1, -1, -1, -1, -1, -1, -1,
  1880.             -1, -1, -1, -1, 211, -1, -1, -1,
  1881.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1882.         array( -1, -1, -1, 210, -1, -1, 210, 212,
  1883.             -1, -1, -1, -1, -1, -1, -1, -1,
  1884.             213, 210, 210, 210, 210, -1, -1, -1,
  1885.             -1, 400, -1, 210, -1, -1, -1, -1,
  1886.             -1, -1, 28, 210, 210, 210, 210, 210,
  1887.             210, 210, 210, 210, 210, 210, 210, 210,
  1888.             210, 210, 210, 210, 354, 210, 210, 210 ),
  1889.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1890.             -1, -1, -1, -1, -1, -1, -1, -1,
  1891.             -1, -1, 208, -1, -1, -1, -1, -1,
  1892.             -1, -1, -1, -1, -1, -1, -1, -1,
  1893.             -1, -1, -1, -1, -1, -1, -1, -1,
  1894.             -1, -1, -1, -1, -1, -1, 208, -1,
  1895.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1896.         array( -1, -1, -1, -1, -1, -1, 214, -1,
  1897.             -1, -1, -1, -1, -1, -1, -1, -1,
  1898.             -1, 214, 214, 214, 214, -1, -1, -1,
  1899.             -1, -1, -1, 214, -1, -1, -1, -1,
  1900.             -1, -1, -1, 214, 214, 214, 214, 214,
  1901.             214, 214, 214, 214, -1, 214, 214, 214,
  1902.             214, 214, 214, 214, -1, 214, 214, -1 ),
  1903.         array( -1, -1, -1, 215, -1, -1, 215, -1,
  1904.             -1, -1, -1, -1, -1, -1, -1, 215,
  1905.             -1, 215, 215, 215, 215, -1, -1, -1,
  1906.             -1, -1, -1, 215, -1, -1, -1, -1,
  1907.             -1, -1, -1, 215, 215, 215, 215, 215,
  1908.             215, 215, 215, 215, 215, 215, 215, 215,
  1909.             215, 215, 215, 215, -1, 215, 215, 215 ),
  1910.         array( -1, -1, -1, 214, -1, -1, 214, 212,
  1911.             -1, -1, -1, -1, -1, -1, -1, -1,
  1912.             217, 214, 214, 214, 214, -1, -1, -1,
  1913.             -1, 402, -1, 214, -1, -1, -1, -1,
  1914.             -1, -1, 28, 214, 214, 214, 214, 214,
  1915.             214, 214, 214, 214, 214, 214, 214, 214,
  1916.             214, 214, 214, 214, 354, 214, 214, 214 ),
  1917.         array( -1, -1, -1, 215, -1, -1, 215, -1,
  1918.             -1, -1, -1, -1, -1, -1, -1, 215,
  1919.             -1, 215, 215, 215, 215, -1, 218, -1,
  1920.             -1, 219, -1, 215, -1, -1, -1, -1,
  1921.             -1, -1, -1, 215, 215, 215, 215, 215,
  1922.             215, 215, 215, 215, 215, 215, 215, 215,
  1923.             215, 215, 215, 215, -1, 215, 215, 215 ),
  1924.         array( -1, -1, -1, 216, -1, -1, 216, -1,
  1925.             -1, -1, -1, -1, -1, -1, -1, -1,
  1926.             -1, 216, 216, 216, 216, -1, -1, -1,
  1927.             -1, -1, -1, 216, -1, -1, -1, -1,
  1928.             -1, -1, 29, 216, 216, 216, 216, 216,
  1929.             216, 216, 216, 216, 216, 216, 216, 216,
  1930.             216, 216, 216, 216, 220, 216, 216, 216 ),
  1931.         array( -1, -1, -1, 221, -1, -1, 221, -1,
  1932.             -1, -1, -1, -1, -1, -1, -1, 221,
  1933.             -1, 221, 221, 221, 221, -1, -1, -1,
  1934.             -1, -1, -1, 221, -1, -1, -1, -1,
  1935.             -1, -1, -1, 221, 221, 221, 221, 221,
  1936.             221, 221, 221, 221, 221, 221, 221, 221,
  1937.             221, 221, 221, 221, -1, 221, 221, 221 ),
  1938.         array( -1, -1, -1, -1, -1, -1, -1, 212,
  1939.             -1, -1, -1, -1, -1, -1, -1, -1,
  1940.             213, -1, -1, -1, -1, -1, -1, -1,
  1941.             -1, 400, -1, -1, -1, -1, -1, -1,
  1942.             -1, -1, 28, -1, -1, -1, -1, -1,
  1943.             -1, -1, -1, -1, -1, -1, -1, -1,
  1944.             -1, -1, -1, -1, 354, -1, -1, -1 ),
  1945.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1946.             -1, -1, -1, -1, -1, -1, -1, -1,
  1947.             -1, -1, -1, -1, -1, -1, -1, -1,
  1948.             -1, -1, -1, -1, -1, -1, -1, -1,
  1949.             -1, -1, -1, -1, -1, -1, -1, -1,
  1950.             -1, -1, -1, -1, 222, -1, -1, -1,
  1951.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1952.         array( -1, -1, -1, -1, -1, -1, 223, -1,
  1953.             -1, -1, -1, -1, -1, -1, -1, -1,
  1954.             -1, 223, 223, 223, 223, -1, -1, -1,
  1955.             -1, -1, -1, 223, -1, -1, -1, -1,
  1956.             -1, -1, -1, 223, 223, 223, 223, 223,
  1957.             223, 223, 223, 223, -1, 223, 223, 223,
  1958.             223, 223, 223, 223, -1, 223, 223, -1 ),
  1959.         array( -1, -1, -1, 221, -1, -1, 221, -1,
  1960.             -1, -1, -1, -1, -1, -1, -1, 221,
  1961.             -1, 221, 221, 221, 221, -1, 224, -1,
  1962.             -1, 225, -1, 221, -1, -1, -1, -1,
  1963.             -1, -1, -1, 221, 221, 221, 221, 221,
  1964.             221, 221, 221, 221, 221, 221, 221, 221,
  1965.             221, 221, 221, 221, -1, 221, 221, 221 ),
  1966.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1967.             -1, -1, -1, -1, -1, -1, -1, -1,
  1968.             -1, -1, 218, -1, -1, -1, -1, -1,
  1969.             -1, -1, -1, -1, -1, -1, -1, -1,
  1970.             -1, -1, -1, -1, -1, -1, -1, -1,
  1971.             -1, -1, -1, -1, -1, -1, 218, -1,
  1972.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1973.         array( -1, -1, -1, 223, -1, -1, 223, -1,
  1974.             -1, -1, -1, -1, -1, -1, -1, -1,
  1975.             -1, 223, 223, 223, 223, -1, -1, -1,
  1976.             -1, -1, -1, 223, -1, -1, -1, -1,
  1977.             -1, -1, 30, 223, 223, 223, 223, 223,
  1978.             223, 223, 223, 223, 223, 223, 223, 223,
  1979.             223, 223, 223, 223, -1, 223, 223, 223 ),
  1980.         array( -1, -1, -1, -1, -1, -1, -1, 212,
  1981.             -1, -1, -1, -1, -1, -1, -1, -1,
  1982.             217, -1, -1, -1, -1, -1, -1, -1,
  1983.             -1, 402, -1, -1, -1, -1, -1, -1,
  1984.             -1, -1, 28, -1, -1, -1, -1, -1,
  1985.             -1, -1, -1, -1, -1, -1, -1, -1,
  1986.             -1, -1, -1, -1, 354, -1, -1, -1 ),
  1987.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1988.             -1, -1, -1, -1, -1, -1, -1, -1,
  1989.             -1, -1, -1, -1, -1, -1, -1, -1,
  1990.             -1, -1, -1, -1, -1, -1, -1, -1,
  1991.             -1, -1, -1, -1, -1, -1, -1, -1,
  1992.             -1, -1, -1, -1, 226, -1, -1, -1,
  1993.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  1994.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  1995.             -1, -1, -1, -1, -1, -1, -1, -1,
  1996.             -1, -1, 224, -1, -1, -1, -1, -1,
  1997.             -1, -1, -1, -1, -1, -1, -1, -1,
  1998.             -1, -1, -1, -1, -1, -1, -1, -1,
  1999.             -1, -1, -1, -1, -1, -1, 224, -1,
  2000.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2001.         array( 1, 31, 31, 31, 31, 31, 31, 31,
  2002.             31, 31, 31, 31, 31, 31, 31, 31,
  2003.             31, 31, 31, 31, 31, 31, 31, 104,
  2004.             31, 133, 131, 31, 31, 32, 31, 31,
  2005.             31, 31, 31, 31, 31, 31, 31, 31,
  2006.             31, 31, 31, 31, 31, 31, 31, 31,
  2007.             31, 31, 31, 31, 31, 31, 31, 31 ),
  2008.         array( -1, -1, -1, 229, -1, -1, 229, 232,
  2009.             -1, -1, 233, -1, -1, -1, -1, -1,
  2010.             234, 229, 229, 229, 229, -1, -1, -1,
  2011.             -1, 235, -1, 229, -1, -1, -1, -1,
  2012.             -1, 33, 34, 229, 229, 229, 229, 229,
  2013.             229, 229, 229, 229, 229, 229, 229, 229,
  2014.             229, 229, 229, 229, -1, 229, 229, 229 ),
  2015.         array( -1, -1, -1, 229, -1, -1, 229, 232,
  2016.             -1, -1, 233, -1, -1, -1, -1, -1,
  2017.             234, 229, 229, 229, 229, -1, -1, -1,
  2018.             -1, 235, -1, 229, -1, -1, -1, -1,
  2019.             -1, 145, 34, 229, 229, 229, 229, 229,
  2020.             229, 229, 229, 229, 229, 229, 229, 229,
  2021.             229, 229, 229, 229, -1, 229, 229, 229 ),
  2022.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2023.             -1, -1, -1, -1, -1, -1, -1, -1,
  2024.             -1, -1, -1, -1, -1, -1, -1, -1,
  2025.             -1, -1, -1, -1, -1, -1, -1, -1,
  2026.             -1, -1, -1, -1, -1, -1, -1, -1,
  2027.             -1, -1, -1, -1, -1, 236, -1, -1,
  2028.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2029.         array( -1, -1, -1, -1, -1, -1, 237, -1,
  2030.             -1, -1, -1, -1, -1, -1, -1, -1,
  2031.             -1, 237, 237, 237, 237, -1, -1, -1,
  2032.             -1, -1, -1, 237, -1, -1, -1, -1,
  2033.             -1, -1, -1, 237, 237, 237, 237, 237,
  2034.             237, 237, 237, 237, -1, 237, 237, 237,
  2035.             237, 237, 237, 237, -1, 237, 237, -1 ),
  2036.         array( -1, -1, -1, -1, -1, -1, 238, -1,
  2037.             -1, -1, -1, -1, -1, -1, -1, -1,
  2038.             -1, 238, 238, 238, 238, -1, -1, -1,
  2039.             -1, -1, -1, -1, -1, -1, -1, -1,
  2040.             -1, -1, -1, 238, 238, 238, 238, 238,
  2041.             238, 238, 238, 238, -1, 238, 238, 238,
  2042.             238, 238, 238, 238, -1, 238, 238, -1 ),
  2043.         array( -1, -1, -1, 239, -1, -1, 239, -1,
  2044.             -1, -1, -1, -1, -1, -1, -1, 239,
  2045.             -1, 239, 239, 239, 239, -1, -1, -1,
  2046.             -1, -1, -1, 239, -1, -1, -1, -1,
  2047.             -1, -1, -1, 239, 239, 239, 239, 239,
  2048.             239, 239, 239, 239, 239, 239, 239, 239,
  2049.             239, 239, 239, 239, -1, 239, 239, 239 ),
  2050.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2051.             -1, -1, -1, -1, -1, -1, -1, -1,
  2052.             -1, -1, -1, -1, -1, -1, -1, -1,
  2053.             -1, -1, -1, -1, -1, -1, -1, -1,
  2054.             -1, -1, -1, -1, -1, -1, -1, -1,
  2055.             -1, -1, -1, -1, 373, -1, -1, -1,
  2056.             -1, -1, -1, -1, -1, -1, -1, 240 ),
  2057.         array( -1, -1, -1, -1, -1, -1, 229, -1,
  2058.             -1, -1, -1, -1, -1, -1, -1, -1,
  2059.             -1, 229, 229, 229, 229, -1, -1, -1,
  2060.             -1, -1, -1, 229, -1, -1, -1, -1,
  2061.             -1, -1, -1, 229, 229, 229, 229, 229,
  2062.             229, 229, 229, 229, -1, 229, 229, 229,
  2063.             229, 229, 229, 229, -1, 229, 229, -1 ),
  2064.         array( -1, -1, -1, 237, -1, -1, 237, 232,
  2065.             -1, -1, 233, -1, -1, -1, -1, -1,
  2066.             241, 237, 237, 237, 237, -1, -1, -1,
  2067.             -1, 394, -1, 237, -1, -1, -1, -1,
  2068.             -1, 33, 34, 237, 237, 237, 237, 237,
  2069.             237, 237, 237, 237, 237, 237, 237, 237,
  2070.             237, 237, 237, 237, -1, 237, 237, 237 ),
  2071.         array( -1, -1, -1, -1, -1, -1, 238, -1,
  2072.             -1, -1, -1, -1, -1, -1, -1, -1,
  2073.             -1, 238, 238, 238, 238, -1, -1, -1,
  2074.             -1, 242, -1, -1, -1, -1, -1, -1,
  2075.             -1, -1, 34, 238, 238, 238, 238, 238,
  2076.             238, 238, 238, 238, -1, 238, 238, 238,
  2077.             238, 238, 238, 238, -1, 238, 238, -1 ),
  2078.         array( -1, -1, -1, 239, -1, -1, 239, -1,
  2079.             -1, -1, -1, -1, -1, -1, -1, 239,
  2080.             -1, 239, 239, 239, 239, -1, 243, -1,
  2081.             -1, 244, -1, 239, -1, -1, -1, -1,
  2082.             -1, -1, -1, 239, 239, 239, 239, 239,
  2083.             239, 239, 239, 239, 239, 239, 239, 239,
  2084.             239, 239, 239, 239, -1, 239, 239, 239 ),
  2085.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2086.             -1, -1, -1, -1, -1, -1, -1, -1,
  2087.             -1, -1, 34, -1, -1, -1, -1, -1,
  2088.             -1, -1, -1, -1, -1, -1, -1, -1,
  2089.             -1, -1, -1, -1, -1, -1, -1, -1,
  2090.             -1, -1, -1, -1, -1, -1, 34, -1,
  2091.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2092.         array( -1, -1, -1, 245, -1, -1, 245, -1,
  2093.             -1, -1, -1, -1, -1, -1, -1, 245,
  2094.             -1, 245, 245, 245, 245, -1, -1, -1,
  2095.             -1, -1, -1, 245, -1, -1, -1, -1,
  2096.             -1, -1, -1, 245, 245, 245, 245, 245,
  2097.             245, 245, 245, 245, 245, 245, 245, 245,
  2098.             245, 245, 245, 245, -1, 245, 245, 245 ),
  2099.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2100.             -1, -1, -1, -1, -1, -1, -1, -1,
  2101.             -1, -1, -1, -1, -1, -1, -1, -1,
  2102.             -1, -1, -1, -1, -1, -1, -1, -1,
  2103.             -1, -1, -1, -1, -1, -1, -1, -1,
  2104.             -1, -1, -1, -1, -1, -1, -1, -1,
  2105.             -1, -1, -1, -1, -1, -1, -1, 240 ),
  2106.         array( -1, -1, -1, -1, -1, -1, -1, 232,
  2107.             -1, -1, 233, -1, -1, -1, -1, -1,
  2108.             234, -1, -1, -1, -1, -1, -1, -1,
  2109.             -1, 235, -1, -1, -1, -1, -1, -1,
  2110.             -1, -1, 34, -1, -1, -1, -1, -1,
  2111.             -1, -1, -1, -1, -1, -1, -1, -1,
  2112.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2113.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2114.             -1, -1, -1, -1, -1, -1, -1, -1,
  2115.             -1, -1, -1, -1, -1, -1, -1, -1,
  2116.             -1, -1, -1, -1, -1, -1, -1, -1,
  2117.             -1, -1, -1, -1, -1, -1, -1, -1,
  2118.             -1, -1, -1, -1, 246, -1, -1, -1,
  2119.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2120.         array( -1, -1, -1, 245, -1, -1, 245, -1,
  2121.             -1, -1, -1, -1, -1, -1, -1, 245,
  2122.             -1, 245, 245, 245, 245, -1, 247, -1,
  2123.             -1, 248, -1, 245, -1, -1, -1, -1,
  2124.             -1, -1, -1, 245, 245, 245, 245, 245,
  2125.             245, 245, 245, 245, 245, 245, 245, 245,
  2126.             245, 245, 245, 245, -1, 245, 245, 245 ),
  2127.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2128.             -1, -1, -1, -1, -1, -1, -1, -1,
  2129.             -1, -1, 243, -1, -1, -1, -1, -1,
  2130.             -1, -1, -1, -1, -1, -1, -1, -1,
  2131.             -1, -1, -1, -1, -1, -1, -1, -1,
  2132.             -1, -1, -1, -1, -1, -1, 243, -1,
  2133.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2134.         array( -1, -1, -1, -1, -1, -1, -1, 232,
  2135.             -1, -1, 233, -1, -1, -1, -1, -1,
  2136.             241, -1, -1, -1, -1, -1, -1, -1,
  2137.             -1, 394, -1, -1, -1, -1, -1, -1,
  2138.             -1, -1, 34, -1, -1, -1, -1, -1,
  2139.             -1, -1, -1, -1, -1, -1, -1, -1,
  2140.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2141.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2142.             -1, -1, -1, -1, -1, -1, -1, -1,
  2143.             -1, -1, -1, -1, -1, -1, -1, -1,
  2144.             -1, -1, -1, -1, -1, -1, -1, -1,
  2145.             -1, -1, -1, -1, -1, -1, -1, -1,
  2146.             -1, -1, -1, -1, 249, -1, -1, -1,
  2147.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2148.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2149.             -1, -1, -1, -1, -1, -1, -1, -1,
  2150.             -1, -1, 247, -1, -1, -1, -1, -1,
  2151.             -1, -1, -1, -1, -1, -1, -1, -1,
  2152.             -1, -1, -1, -1, -1, -1, -1, -1,
  2153.             -1, -1, -1, -1, -1, -1, 247, -1,
  2154.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2155.         array( 1, 43, 43, 44, 43, -1, 348, 348,
  2156.             106, 45, 43, 143, -1, 46, 43, 348,
  2157.             43, 348, 348, 348, 348, 43, 43, 43,
  2158.             43, 43, 43, 348, 43, 47, 48, 43,
  2159.             43, 43, 43, 348, 348, 348, 348, 348,
  2160.             348, 348, 348, 348, 44, 348, 348, 348,
  2161.             348, 348, 348, 348, 43, 348, 348, 44 ),
  2162.         array( 1, 143, 143, 143, 143, 49, 143, 143,
  2163.             143, 143, 143, 49, 49, 143, 143, 143,
  2164.             143, 143, 143, 143, 143, 143, 143, 143,
  2165.             143, 143, 143, 143, 143, 143, 143, 143,
  2166.             143, 143, 143, 143, 143, 143, 143, 143,
  2167.             143, 143, 143, 143, 143, 143, 143, 143,
  2168.             143, 143, 143, 143, 143, 143, 143, 143 ),
  2169.         array( 1, 50, 50, 50, 50, -1, 50, 50,
  2170.             50, 50, 50, 50, -1, 51, 50, 50,
  2171.             50, 50, 50, 50, 50, 50, 50, 50,
  2172.             50, 50, 50, 50, 50, 50, 50, 50,
  2173.             50, 50, 50, 50, 50, 50, 50, 50,
  2174.             50, 50, 50, 50, 50, 50, 50, 50,
  2175.             50, 50, 50, 50, 50, 50, 50, 50 ),
  2176.         array( 1, 52, 52, 52, 52, 52, 52, 52,
  2177.             52, 52, 52, 52, 52, 52, 52, 52,
  2178.             52, 52, 52, 52, 52, 52, 52, 110,
  2179.             52, 136, 153, 52, 52, 52, 53, 52,
  2180.             52, 52, 52, 52, 52, 52, 52, 52,
  2181.             52, 52, 52, 52, 52, 52, 52, 52,
  2182.             52, 52, 52, 52, 52, 52, 52, 52 ),
  2183.         array( -1, -1, -1, 229, -1, -1, 229, 232,
  2184.             -1, -1, 233, -1, -1, -1, -1, -1,
  2185.             234, 229, 229, 229, 229, -1, -1, -1,
  2186.             -1, 235, -1, 229, -1, -1, -1, -1,
  2187.             -1, 146, 34, 229, 229, 229, 229, 229,
  2188.             229, 229, 229, 229, 229, 229, 229, 229,
  2189.             229, 229, 229, 229, -1, 229, 229, 229 ),
  2190.         array( -1, 119, 119, 119, 119, 119, 119, 119,
  2191.             119, 119, 119, 119, 119, 119, 119, -1,
  2192.             119, 119, 119, 119, 119, 119, 119, 119,
  2193.             119, 119, 119, 119, 119, 119, 119, 119,
  2194.             119, 119, 119, 119, 119, 119, 119, 119,
  2195.             119, 119, 119, 119, 119, 119, 119, 119,
  2196.             119, 119, 119, 119, 119, 119, 119, 119 ),
  2197.         array( -1, 66, 66, 66, 66, 66, 66, 66,
  2198.             66, 66, 66, 66, 66, 67, 66, 120,
  2199.             66, 66, 66, 66, 66, 66, 66, 66,
  2200.             66, 66, 66, 66, 66, 66, 66, 66,
  2201.             66, 66, 66, 66, 66, 66, 66, 66,
  2202.             66, 66, 66, 66, 66, 66, 66, 66,
  2203.             66, 66, 66, 66, 66, 66, 66, 66 ),
  2204.         array( 1, 68, 68, 68, 68, 68, 68, 68,
  2205.             68, 68, 68, 68, 68, 68, 68, 68,
  2206.             68, 68, 68, 68, 68, 68, 69, 68,
  2207.             68, 68, 68, 68, 68, 68, 68, 68,
  2208.             68, 68, 68, 68, 68, 68, 68, 68,
  2209.             68, 68, 68, 68, 68, 68, 68, 68,
  2210.             68, 68, 68, 68, 68, 68, 68, 68 ),
  2211.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2212.             -1, -1, -1, -1, -1, 70, -1, -1,
  2213.             -1, -1, -1, -1, -1, -1, -1, -1,
  2214.             -1, -1, -1, -1, -1, -1, -1, -1,
  2215.             -1, -1, -1, -1, -1, -1, -1, -1,
  2216.             -1, -1, -1, -1, -1, -1, -1, -1,
  2217.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2218.         array( 1, 143, 155, 157, 143, -1, 159, 143,
  2219.             143, 143, 143, 143, -1, 143, 143, 143,
  2220.             143, 159, 159, 159, 159, 161, 143, 143,
  2221.             143, 143, 143, 159, 143, 143, 143, 143,
  2222.             143, 143, 143, 159, 159, 159, 159, 159,
  2223.             159, 159, 159, 159, 157, 159, 159, 159,
  2224.             159, 159, 159, 159, 143, 159, 159, 157 ),
  2225.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2226.             -1, -1, 355, -1, -1, -1, -1, -1,
  2227.             -1, -1, -1, -1, -1, -1, -1, -1,
  2228.             -1, -1, -1, -1, -1, -1, -1, -1,
  2229.             -1, -1, 72, -1, -1, -1, -1, -1,
  2230.             -1, -1, -1, -1, -1, -1, -1, -1,
  2231.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2232.         array( -1, -1, -1, -1, -1, -1, 273, -1,
  2233.             -1, -1, -1, -1, -1, -1, -1, -1,
  2234.             -1, 273, 273, 273, 273, -1, -1, -1,
  2235.             -1, -1, -1, 273, -1, -1, -1, -1,
  2236.             -1, -1, -1, 273, 273, 273, 273, 273,
  2237.             273, 273, 273, 273, -1, 273, 273, 273,
  2238.             273, 273, 273, 273, -1, 273, 273, -1 ),
  2239.         array( -1, -1, -1, 274, -1, -1, 274, -1,
  2240.             -1, -1, -1, -1, -1, -1, -1, 274,
  2241.             -1, 274, 274, 274, 274, -1, -1, -1,
  2242.             -1, -1, -1, 274, -1, -1, -1, -1,
  2243.             -1, -1, -1, 274, 274, 274, 274, 274,
  2244.             274, 274, 274, 274, 274, 274, 274, 274,
  2245.             274, 274, 274, 274, -1, 274, 274, 274 ),
  2246.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2247.             -1, -1, 361, -1, -1, -1, -1, -1,
  2248.             -1, -1, -1, -1, -1, -1, -1, -1,
  2249.             -1, -1, -1, -1, -1, -1, -1, -1,
  2250.             -1, -1, 73, -1, -1, -1, -1, -1,
  2251.             -1, -1, -1, -1, -1, -1, -1, -1,
  2252.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2253.         array( -1, -1, -1, -1, -1, -1, 275, -1,
  2254.             -1, -1, -1, -1, -1, -1, -1, -1,
  2255.             -1, 275, 275, 275, 275, -1, -1, -1,
  2256.             -1, -1, -1, -1, -1, -1, -1, -1,
  2257.             -1, -1, -1, 275, 275, 275, 275, 275,
  2258.             275, 275, 275, 275, -1, 275, 275, 275,
  2259.             275, 275, 275, 275, -1, 275, 275, -1 ),
  2260.         array( -1, -1, -1, 273, -1, -1, 273, 269,
  2261.             -1, -1, -1, -1, -1, -1, -1, -1,
  2262.             277, 273, 273, 273, 273, 271, -1, -1,
  2263.             -1, 404, -1, 273, -1, -1, -1, -1,
  2264.             -1, -1, -1, 273, 273, 273, 273, 273,
  2265.             273, 273, 273, 273, 273, 273, 273, 273,
  2266.             273, 273, 273, 273, 73, 273, 273, 273 ),
  2267.         array( -1, -1, -1, 274, -1, -1, 274, -1,
  2268.             -1, -1, -1, -1, -1, -1, -1, 274,
  2269.             -1, 274, 274, 274, 274, -1, 278, -1,
  2270.             -1, 279, -1, 274, -1, -1, -1, -1,
  2271.             -1, -1, -1, 274, 274, 274, 274, 274,
  2272.             274, 274, 274, 274, 274, 274, 274, 274,
  2273.             274, 274, 274, 274, -1, 274, 274, 274 ),
  2274.         array( -1, -1, -1, -1, -1, -1, 275, -1,
  2275.             -1, -1, -1, -1, -1, -1, -1, -1,
  2276.             -1, 275, 275, 275, 275, -1, -1, -1,
  2277.             -1, -1, -1, -1, -1, -1, -1, -1,
  2278.             -1, -1, 74, 275, 275, 275, 275, 275,
  2279.             275, 275, 275, 275, -1, 275, 275, 275,
  2280.             275, 275, 275, 275, -1, 275, 275, -1 ),
  2281.         array( -1, -1, -1, -1, -1, -1, 276, -1,
  2282.             -1, -1, -1, -1, -1, -1, -1, -1,
  2283.             -1, 276, 276, 276, 276, -1, -1, -1,
  2284.             -1, -1, -1, -1, -1, -1, -1, -1,
  2285.             -1, -1, 72, 276, 276, 276, 276, 276,
  2286.             276, 276, 276, 276, -1, 276, 276, 276,
  2287.             276, 276, 276, 276, -1, 276, 276, -1 ),
  2288.         array( -1, -1, -1, 281, -1, -1, 281, -1,
  2289.             -1, -1, -1, -1, -1, -1, -1, 281,
  2290.             -1, 281, 281, 281, 281, -1, -1, -1,
  2291.             -1, -1, -1, 281, -1, -1, -1, -1,
  2292.             -1, -1, -1, 281, 281, 281, 281, 281,
  2293.             281, 281, 281, 281, 281, 281, 281, 281,
  2294.             281, 281, 281, 281, -1, 281, 281, 281 ),
  2295.         array( -1, -1, -1, -1, -1, -1, -1, 269,
  2296.             -1, -1, -1, -1, -1, -1, -1, -1,
  2297.             270, -1, -1, -1, -1, 271, -1, -1,
  2298.             -1, 403, -1, -1, -1, -1, -1, -1,
  2299.             -1, -1, -1, -1, -1, -1, -1, -1,
  2300.             -1, -1, -1, -1, -1, -1, -1, -1,
  2301.             -1, -1, -1, -1, 73, -1, -1, -1 ),
  2302.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2303.             -1, -1, -1, -1, -1, -1, -1, -1,
  2304.             -1, -1, -1, -1, -1, -1, -1, -1,
  2305.             -1, -1, -1, -1, -1, -1, -1, -1,
  2306.             -1, -1, -1, -1, -1, -1, -1, -1,
  2307.             -1, -1, -1, -1, 282, -1, -1, -1,
  2308.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2309.         array( -1, -1, -1, -1, -1, -1, 280, -1,
  2310.             -1, -1, -1, -1, -1, -1, -1, -1,
  2311.             -1, 280, 280, 280, 280, -1, -1, -1,
  2312.             -1, -1, -1, -1, -1, -1, -1, -1,
  2313.             -1, -1, 73, 280, 280, 280, 280, 280,
  2314.             280, 280, 280, 280, -1, 280, 280, 280,
  2315.             280, 280, 280, 280, -1, 280, 280, -1 ),
  2316.         array( -1, -1, -1, 281, -1, -1, 281, -1,
  2317.             -1, -1, -1, -1, -1, -1, -1, 281,
  2318.             -1, 281, 281, 281, 281, -1, 283, -1,
  2319.             -1, 284, -1, 281, -1, -1, -1, -1,
  2320.             -1, -1, -1, 281, 281, 281, 281, 281,
  2321.             281, 281, 281, 281, 281, 281, 281, 281,
  2322.             281, 281, 281, 281, -1, 281, 281, 281 ),
  2323.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2324.             -1, -1, -1, -1, -1, -1, -1, -1,
  2325.             -1, -1, 278, -1, -1, -1, -1, -1,
  2326.             -1, -1, -1, -1, -1, -1, -1, -1,
  2327.             -1, -1, -1, -1, -1, -1, -1, -1,
  2328.             -1, -1, -1, -1, -1, -1, 278, -1,
  2329.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2330.         array( -1, -1, -1, -1, -1, -1, -1, 269,
  2331.             -1, -1, -1, -1, -1, -1, -1, -1,
  2332.             277, -1, -1, -1, -1, 271, -1, -1,
  2333.             -1, 404, -1, -1, -1, -1, -1, -1,
  2334.             -1, -1, -1, -1, -1, -1, -1, -1,
  2335.             -1, -1, -1, -1, -1, -1, -1, -1,
  2336.             -1, -1, -1, -1, 73, -1, -1, -1 ),
  2337.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2338.             -1, -1, -1, -1, -1, -1, -1, -1,
  2339.             -1, -1, -1, -1, -1, -1, -1, -1,
  2340.             -1, -1, -1, -1, -1, -1, -1, -1,
  2341.             -1, -1, -1, -1, -1, -1, -1, -1,
  2342.             -1, -1, -1, -1, 285, -1, -1, -1,
  2343.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2344.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2345.             -1, -1, -1, -1, -1, -1, -1, -1,
  2346.             -1, -1, 283, -1, -1, -1, -1, -1,
  2347.             -1, -1, -1, -1, -1, -1, -1, -1,
  2348.             -1, -1, -1, -1, -1, -1, -1, -1,
  2349.             -1, -1, -1, -1, -1, -1, 283, -1,
  2350.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2351.         array( 1, 143, 163, 143, 143, -1, 75, 143,
  2352.             143, 143, 143, 143, -1, 143, 143, 143,
  2353.             143, 75, 75, 75, 75, 165, 143, 143,
  2354.             143, 143, 143, 75, 143, 143, 143, 143,
  2355.             143, 143, 143, 75, 75, 75, 75, 75,
  2356.             75, 75, 75, 75, 143, 75, 75, 75,
  2357.             75, 75, 75, 75, 143, 75, 75, 143 ),
  2358.         array( -1, -1, -1, -1, -1, -1, 349, -1,
  2359.             -1, -1, -1, -1, -1, -1, -1, -1,
  2360.             -1, 349, 349, 349, 349, -1, -1, -1,
  2361.             -1, -1, -1, 349, -1, -1, -1, -1,
  2362.             -1, -1, -1, 349, 349, 349, 349, 349,
  2363.             349, 349, 349, 349, -1, 349, 349, 349,
  2364.             349, 349, 349, 349, -1, 349, 349, -1 ),
  2365.         array( -1, -1, -1, 292, -1, -1, 292, -1,
  2366.             -1, -1, -1, -1, -1, -1, -1, 292,
  2367.             -1, 292, 292, 292, 292, -1, -1, -1,
  2368.             -1, -1, -1, 292, -1, -1, -1, -1,
  2369.             -1, -1, -1, 292, 292, 292, 292, 292,
  2370.             292, 292, 292, 292, 292, 292, 292, 292,
  2371.             292, 292, 292, 292, -1, 292, 292, 292 ),
  2372.         array( -1, -1, -1, -1, -1, -1, 293, -1,
  2373.             -1, -1, -1, -1, -1, -1, -1, -1,
  2374.             -1, 293, 293, 293, 293, -1, -1, -1,
  2375.             -1, -1, -1, -1, -1, -1, -1, -1,
  2376.             -1, -1, -1, 293, 293, 293, 293, 293,
  2377.             293, 293, 293, 293, -1, 293, 293, 293,
  2378.             293, 293, 293, 293, -1, 293, 293, -1 ),
  2379.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2380.             -1, -1, -1, -1, -1, -1, -1, -1,
  2381.             -1, -1, -1, -1, -1, -1, -1, -1,
  2382.             -1, -1, -1, -1, -1, -1, -1, -1,
  2383.             -1, -1, -1, -1, -1, -1, -1, -1,
  2384.             -1, -1, -1, -1, -1, -1, -1, -1,
  2385.             -1, -1, -1, -1, -1, -1, -1, 294 ),
  2386.         array( -1, -1, -1, 292, -1, -1, 292, -1,
  2387.             -1, -1, -1, -1, -1, -1, -1, 292,
  2388.             -1, 292, 292, 292, 292, -1, 122, -1,
  2389.             -1, 296, -1, 292, -1, -1, -1, -1,
  2390.             -1, -1, -1, 292, 292, 292, 292, 292,
  2391.             292, 292, 292, 292, 292, 292, 292, 292,
  2392.             292, 292, 292, 292, -1, 292, 292, 292 ),
  2393.         array( -1, -1, -1, -1, -1, -1, 293, -1,
  2394.             -1, -1, -1, -1, -1, -1, -1, -1,
  2395.             -1, 293, 293, 293, 293, -1, -1, -1,
  2396.             -1, 291, -1, -1, -1, -1, -1, -1,
  2397.             -1, -1, 77, 293, 293, 293, 293, 293,
  2398.             293, 293, 293, 293, -1, 293, 293, 293,
  2399.             293, 293, 293, 293, -1, 293, 293, -1 ),
  2400.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2401.             -1, -1, -1, -1, -1, -1, -1, -1,
  2402.             -1, -1, 77, -1, -1, -1, -1, -1,
  2403.             -1, -1, -1, -1, -1, -1, -1, -1,
  2404.             -1, -1, -1, -1, -1, -1, -1, -1,
  2405.             -1, -1, -1, -1, -1, -1, 77, -1,
  2406.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2407.         array( -1, -1, -1, 297, -1, -1, 297, -1,
  2408.             -1, -1, -1, -1, -1, -1, -1, 297,
  2409.             -1, 297, 297, 297, 297, -1, -1, -1,
  2410.             -1, -1, -1, 297, -1, -1, -1, -1,
  2411.             -1, -1, -1, 297, 297, 297, 297, 297,
  2412.             297, 297, 297, 297, 297, 297, 297, 297,
  2413.             297, 297, 297, 297, -1, 297, 297, 297 ),
  2414.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2415.             -1, -1, -1, -1, -1, -1, -1, -1,
  2416.             -1, -1, -1, -1, -1, -1, -1, -1,
  2417.             -1, -1, -1, -1, -1, -1, -1, -1,
  2418.             -1, -1, -1, -1, -1, -1, -1, -1,
  2419.             -1, -1, -1, -1, 298, -1, -1, -1,
  2420.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2421.         array( -1, -1, -1, 297, -1, -1, 297, -1,
  2422.             -1, -1, -1, -1, -1, -1, -1, 297,
  2423.             -1, 297, 297, 297, 297, -1, 350, -1,
  2424.             -1, 299, -1, 297, -1, -1, -1, -1,
  2425.             -1, -1, -1, 297, 297, 297, 297, 297,
  2426.             297, 297, 297, 297, 297, 297, 297, 297,
  2427.             297, 297, 297, 297, -1, 297, 297, 297 ),
  2428.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2429.             -1, -1, -1, -1, -1, -1, -1, -1,
  2430.             -1, -1, 122, -1, -1, -1, -1, -1,
  2431.             -1, -1, -1, -1, -1, -1, -1, -1,
  2432.             -1, -1, -1, -1, -1, -1, -1, -1,
  2433.             -1, -1, -1, -1, -1, -1, 122, -1,
  2434.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2435.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2436.             -1, -1, -1, -1, -1, -1, -1, -1,
  2437.             -1, -1, -1, -1, -1, -1, -1, -1,
  2438.             -1, -1, -1, -1, -1, -1, -1, -1,
  2439.             -1, -1, -1, -1, -1, -1, -1, -1,
  2440.             -1, -1, -1, -1, 356, -1, -1, -1,
  2441.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2442.         array( 1, 143, 143, 143, 143, -1, 143, 143,
  2443.             143, 143, 143, 143, -1, 143, 143, 143,
  2444.             143, 143, 143, 143, 143, 165, 143, 143,
  2445.             143, 143, 143, 143, 143, 143, 143, 143,
  2446.             143, 143, 143, 143, 143, 143, 143, 143,
  2447.             143, 143, 143, 143, 143, 143, 143, 143,
  2448.             143, 143, 143, 143, 78, 143, 143, 143 ),
  2449.         array( 1, 79, 79, 79, 79, 79, 79, 79,
  2450.             123, 79, 79, 79, 79, 79, 79, 79,
  2451.             79, 79, 79, 79, 79, 79, 79, 79,
  2452.             79, 79, 79, 79, 79, 79, 79, 79,
  2453.             79, 79, 79, 79, 79, 79, 79, 79,
  2454.             79, 79, 79, 79, 79, 79, 79, 79,
  2455.             79, 79, 79, 79, 79, 79, 79, 79 ),
  2456.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2457.             -1, -1, -1, -1, -1, -1, -1, -1,
  2458.             -1, -1, -1, -1, -1, -1, -1, -1,
  2459.             -1, -1, -1, -1, -1, -1, -1, -1,
  2460.             -1, -1, -1, 303, 303, -1, -1, -1,
  2461.             -1, -1, -1, -1, -1, -1, -1, -1,
  2462.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2463.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2464.             -1, -1, -1, -1, -1, -1, -1, -1,
  2465.             -1, 304, -1, -1, -1, -1, -1, -1,
  2466.             -1, -1, -1, -1, -1, -1, -1, -1,
  2467.             -1, -1, -1, -1, -1, 304, -1, -1,
  2468.             -1, -1, -1, -1, -1, -1, -1, -1,
  2469.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2470.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2471.             -1, -1, -1, -1, -1, -1, -1, -1,
  2472.             -1, -1, -1, -1, -1, -1, -1, -1,
  2473.             -1, -1, -1, -1, -1, -1, -1, -1,
  2474.             -1, -1, -1, -1, -1, -1, 305, 305,
  2475.             -1, -1, -1, -1, -1, -1, -1, -1,
  2476.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2477.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2478.             -1, -1, -1, -1, -1, -1, -1, -1,
  2479.             -1, -1, -1, -1, -1, -1, -1, -1,
  2480.             -1, -1, -1, -1, -1, -1, -1, -1,
  2481.             -1, -1, -1, -1, -1, -1, -1, -1,
  2482.             306, 306, -1, -1, -1, -1, -1, -1,
  2483.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2484.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2485.             -1, -1, -1, -1, -1, -1, -1, -1,
  2486.             -1, -1, -1, -1, -1, -1, -1, -1,
  2487.             -1, -1, -1, -1, -1, -1, -1, -1,
  2488.             -1, -1, -1, -1, -1, -1, -1, -1,
  2489.             -1, -1, 307, -1, -1, -1, -1, -1,
  2490.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2491.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2492.             -1, -1, -1, -1, -1, -1, -1, -1,
  2493.             -1, -1, -1, -1, 308, -1, -1, -1,
  2494.             -1, -1, -1, -1, -1, -1, -1, -1,
  2495.             -1, -1, -1, -1, -1, -1, -1, -1,
  2496.             -1, -1, -1, 308, -1, -1, -1, -1,
  2497.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2498.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2499.             -1, -1, -1, -1, -1, 80, -1, -1,
  2500.             -1, -1, -1, -1, -1, -1, -1, -1,
  2501.             -1, -1, -1, -1, -1, -1, -1, -1,
  2502.             -1, -1, -1, -1, -1, -1, -1, -1,
  2503.             -1, -1, -1, -1, -1, -1, -1, -1,
  2504.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2505.         array( 1, 81, 81, 81, 81, 81, 81, 81,
  2506.             81, 81, 81, 81, 81, 81, 81, 81,
  2507.             81, 81, 81, 81, 81, 81, 124, 138,
  2508.             81, 81, 81, 81, 81, 81, 81, 81,
  2509.             81, 81, 81, 81, 81, 81, 81, 81,
  2510.             81, 81, 81, 81, 81, 81, 81, 81,
  2511.             81, 81, 81, 81, 81, 81, 81, 81 ),
  2512.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2513.             -1, -1, 168, -1, -1, -1, -1, -1,
  2514.             312, 310, 310, 310, 310, -1, -1, -1,
  2515.             -1, 407, -1, 310, -1, -1, -1, -1,
  2516.             -1, -1, 19, 310, 310, 310, 310, 310,
  2517.             310, 310, 310, 310, 310, 310, 310, 310,
  2518.             310, 310, 310, 310, -1, 310, 310, 310 ),
  2519.         array( -1, -1, -1, -1, -1, -1, 313, -1,
  2520.             -1, -1, -1, -1, -1, -1, -1, -1,
  2521.             -1, 313, 313, 313, 313, -1, -1, -1,
  2522.             -1, -1, -1, 313, -1, -1, -1, -1,
  2523.             -1, -1, -1, 313, 313, 313, 313, 313,
  2524.             313, 313, 313, 313, -1, 313, 313, 313,
  2525.             313, 313, 313, 313, -1, 313, 313, -1 ),
  2526.         array( -1, -1, -1, 314, -1, -1, 314, -1,
  2527.             -1, -1, -1, -1, -1, -1, -1, 314,
  2528.             -1, 314, 314, 314, 314, -1, -1, -1,
  2529.             -1, -1, -1, 314, -1, -1, -1, -1,
  2530.             -1, -1, -1, 314, 314, 314, 314, 314,
  2531.             314, 314, 314, 314, 314, 314, 314, 314,
  2532.             314, 314, 314, 314, -1, 314, 314, 314 ),
  2533.         array( -1, -1, -1, 313, -1, -1, 313, 311,
  2534.             -1, -1, 168, -1, -1, -1, -1, -1,
  2535.             316, 313, 313, 313, 313, -1, -1, -1,
  2536.             -1, 408, -1, 313, -1, -1, -1, -1,
  2537.             -1, -1, 19, 313, 313, 313, 313, 313,
  2538.             313, 313, 313, 313, 313, 313, 313, 313,
  2539.             313, 313, 313, 313, -1, 313, 313, 313 ),
  2540.         array( -1, -1, -1, 314, -1, -1, 314, -1,
  2541.             -1, -1, -1, -1, -1, -1, -1, 314,
  2542.             -1, 314, 314, 314, 314, -1, 317, -1,
  2543.             -1, 318, -1, 314, -1, -1, -1, -1,
  2544.             -1, -1, -1, 314, 314, 314, 314, 314,
  2545.             314, 314, 314, 314, 314, 314, 314, 314,
  2546.             314, 314, 314, 314, -1, 314, 314, 314 ),
  2547.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2548.             -1, -1, 186, -1, -1, -1, -1, -1,
  2549.             312, 310, 310, 310, 310, -1, -1, -1,
  2550.             -1, 407, -1, 310, -1, -1, -1, -1,
  2551.             -1, -1, 19, 310, 310, 310, 310, 310,
  2552.             310, 310, 310, 310, 310, 310, 310, 310,
  2553.             310, 310, 310, 310, -1, 310, 310, 310 ),
  2554.         array( -1, -1, -1, 320, -1, -1, 320, -1,
  2555.             -1, -1, -1, -1, -1, -1, -1, 320,
  2556.             -1, 320, 320, 320, 320, -1, -1, -1,
  2557.             -1, -1, -1, 320, -1, -1, -1, -1,
  2558.             -1, -1, -1, 320, 320, 320, 320, 320,
  2559.             320, 320, 320, 320, 320, 320, 320, 320,
  2560.             320, 320, 320, 320, -1, 320, 320, 320 ),
  2561.         array( -1, -1, -1, -1, -1, -1, -1, 311,
  2562.             -1, -1, 168, -1, -1, -1, -1, -1,
  2563.             312, -1, -1, -1, -1, -1, -1, -1,
  2564.             -1, 407, -1, -1, -1, -1, -1, -1,
  2565.             -1, -1, 19, -1, -1, -1, -1, -1,
  2566.             -1, -1, -1, -1, -1, -1, -1, -1,
  2567.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2568.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2569.             -1, -1, -1, -1, -1, -1, -1, -1,
  2570.             -1, -1, -1, -1, -1, -1, -1, -1,
  2571.             -1, -1, -1, -1, -1, -1, -1, -1,
  2572.             -1, -1, -1, -1, -1, -1, -1, -1,
  2573.             -1, -1, -1, -1, 321, -1, -1, -1,
  2574.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2575.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2576.             -1, -1, 193, -1, -1, -1, -1, -1,
  2577.             312, 310, 310, 310, 310, -1, -1, -1,
  2578.             -1, 407, -1, 310, -1, -1, -1, -1,
  2579.             -1, -1, 19, 310, 310, 310, 310, 310,
  2580.             310, 310, 310, 310, 310, 310, 310, 310,
  2581.             310, 310, 310, 310, -1, 310, 310, 310 ),
  2582.         array( -1, -1, -1, 320, -1, -1, 320, -1,
  2583.             -1, -1, -1, -1, -1, -1, -1, 320,
  2584.             -1, 320, 320, 320, 320, -1, 322, -1,
  2585.             -1, 323, -1, 320, -1, -1, -1, -1,
  2586.             -1, -1, -1, 320, 320, 320, 320, 320,
  2587.             320, 320, 320, 320, 320, 320, 320, 320,
  2588.             320, 320, 320, 320, -1, 320, 320, 320 ),
  2589.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2590.             -1, -1, -1, -1, -1, -1, -1, -1,
  2591.             -1, -1, 317, -1, -1, -1, -1, -1,
  2592.             -1, -1, -1, -1, -1, -1, -1, -1,
  2593.             -1, -1, -1, -1, -1, -1, -1, -1,
  2594.             -1, -1, -1, -1, -1, -1, 317, -1,
  2595.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2596.         array( -1, -1, -1, -1, -1, -1, -1, 311,
  2597.             -1, -1, 168, -1, -1, -1, -1, -1,
  2598.             316, -1, -1, -1, -1, -1, -1, -1,
  2599.             -1, 408, -1, -1, -1, -1, -1, -1,
  2600.             -1, -1, 19, -1, -1, -1, -1, -1,
  2601.             -1, -1, -1, -1, -1, -1, -1, -1,
  2602.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2603.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2604.             -1, -1, -1, -1, -1, -1, -1, -1,
  2605.             -1, -1, -1, -1, -1, -1, -1, -1,
  2606.             -1, -1, -1, -1, -1, -1, -1, -1,
  2607.             -1, -1, -1, -1, -1, -1, -1, -1,
  2608.             -1, -1, -1, -1, 324, -1, -1, -1,
  2609.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2610.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2611.             -1, -1, -1, -1, -1, -1, -1, -1,
  2612.             -1, -1, 322, -1, -1, -1, -1, -1,
  2613.             -1, -1, -1, -1, -1, -1, -1, -1,
  2614.             -1, -1, -1, -1, -1, -1, -1, -1,
  2615.             -1, -1, -1, -1, -1, -1, 322, -1,
  2616.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2617.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2618.             -1, -1, 207, -1, -1, -1, -1, -1,
  2619.             312, 310, 310, 310, 310, -1, -1, -1,
  2620.             -1, 407, -1, 310, -1, -1, -1, -1,
  2621.             -1, -1, 19, 310, 310, 310, 310, 310,
  2622.             310, 310, 310, 310, 310, 310, 310, 310,
  2623.             310, 310, 310, 310, -1, 310, 310, 310 ),
  2624.         array( -1, 125, 125, 125, 125, 125, 125, 125,
  2625.             125, 125, 125, 125, 125, 125, 125, -1,
  2626.             125, 125, 125, 125, 125, 125, 125, 125,
  2627.             125, 125, 125, 125, 125, 125, 125, 125,
  2628.             125, 125, 125, 125, 125, 125, 125, 125,
  2629.             125, 125, 125, 125, 125, 125, 125, 125,
  2630.             125, 125, 125, 125, 125, 125, 125, 125 ),
  2631.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2632.             -1, -1, -1, -1, -1, 84, -1, -1,
  2633.             -1, -1, -1, -1, -1, -1, -1, -1,
  2634.             -1, -1, -1, -1, -1, -1, -1, -1,
  2635.             -1, -1, -1, -1, -1, -1, -1, -1,
  2636.             -1, -1, -1, -1, -1, -1, -1, -1,
  2637.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2638.         array( -1, 139, 139, 139, 139, 139, 139, 139,
  2639.             139, 139, 139, 139, 139, 86, 139, 139,
  2640.             139, 139, 139, 139, 139, 139, 139, 139,
  2641.             139, 139, 139, 139, 139, 139, 139, 139,
  2642.             139, 139, 139, 139, 139, 139, 139, 139,
  2643.             139, 139, 139, 139, 139, 139, 139, 139,
  2644.             139, 139, 139, 139, 139, 139, 139, 139 ),
  2645.         array( -1, 89, 89, 89, 89, 89, 89, 89,
  2646.             89, 89, 89, 89, 89, 90, 89, 129,
  2647.             89, 89, 89, 89, 89, 89, 89, 89,
  2648.             89, 89, 89, 89, 89, 89, 89, 89,
  2649.             89, 89, 89, 89, 89, 89, 89, 89,
  2650.             89, 89, 89, 89, 89, 89, 89, 89,
  2651.             89, 89, 89, 89, 89, 89, 89, 89 ),
  2652.         array( -1, -1, -1, 330, -1, -1, 330, 332,
  2653.             -1, -1, 333, -1, -1, -1, -1, -1,
  2654.             334, 330, 330, 330, 330, -1, -1, -1,
  2655.             -1, 409, -1, 330, -1, -1, -1, -1,
  2656.             -1, -1, 91, 330, 330, 330, 330, 330,
  2657.             330, 330, 330, 330, 330, 330, 330, 330,
  2658.             330, 330, 330, 330, -1, 330, 330, 330 ),
  2659.         array( -1, -1, -1, -1, -1, -1, 336, -1,
  2660.             -1, -1, -1, -1, -1, -1, -1, -1,
  2661.             -1, 336, 336, 336, 336, -1, -1, -1,
  2662.             -1, -1, -1, 336, -1, -1, -1, -1,
  2663.             -1, -1, -1, 336, 336, 336, 336, 336,
  2664.             336, 336, 336, 336, -1, 336, 336, 336,
  2665.             336, 336, 336, 336, -1, 336, 336, -1 ),
  2666.         array( -1, -1, -1, -1, -1, -1, 337, -1,
  2667.             -1, -1, -1, -1, -1, -1, -1, -1,
  2668.             -1, 337, 337, 337, 337, -1, -1, -1,
  2669.             -1, -1, -1, -1, -1, -1, -1, -1,
  2670.             -1, -1, -1, 337, 337, 337, 337, 337,
  2671.             337, 337, 337, 337, -1, 337, 337, 337,
  2672.             337, 337, 337, 337, -1, 337, 337, -1 ),
  2673.         array( -1, -1, -1, 338, -1, -1, 338, -1,
  2674.             -1, -1, -1, -1, -1, -1, -1, 338,
  2675.             -1, 338, 338, 338, 338, -1, -1, -1,
  2676.             -1, -1, -1, 338, -1, -1, -1, -1,
  2677.             -1, -1, -1, 338, 338, 338, 338, 338,
  2678.             338, 338, 338, 338, 338, 338, 338, 338,
  2679.             338, 338, 338, 338, -1, 338, 338, 338 ),
  2680.         array( -1, -1, -1, 336, -1, -1, 336, 332,
  2681.             -1, -1, 333, -1, -1, -1, -1, -1,
  2682.             339, 336, 336, 336, 336, -1, -1, -1,
  2683.             -1, 410, -1, 336, -1, -1, -1, -1,
  2684.             -1, -1, 91, 336, 336, 336, 336, 336,
  2685.             336, 336, 336, 336, 336, 336, 336, 336,
  2686.             336, 336, 336, 336, -1, 336, 336, 336 ),
  2687.         array( -1, -1, -1, -1, -1, -1, 337, -1,
  2688.             -1, -1, -1, -1, -1, -1, -1, -1,
  2689.             -1, 337, 337, 337, 337, -1, -1, -1,
  2690.             -1, -1, -1, -1, -1, -1, -1, -1,
  2691.             -1, -1, 91, 337, 337, 337, 337, 337,
  2692.             337, 337, 337, 337, -1, 337, 337, 337,
  2693.             337, 337, 337, 337, -1, 337, 337, -1 ),
  2694.         array( -1, -1, -1, 338, -1, -1, 338, -1,
  2695.             -1, -1, -1, -1, -1, -1, -1, 338,
  2696.             -1, 338, 338, 338, 338, -1, 340, -1,
  2697.             -1, 341, -1, 338, -1, -1, -1, -1,
  2698.             -1, -1, -1, 338, 338, 338, 338, 338,
  2699.             338, 338, 338, 338, 338, 338, 338, 338,
  2700.             338, 338, 338, 338, -1, 338, 338, 338 ),
  2701.         array( -1, -1, -1, 342, -1, -1, 342, -1,
  2702.             -1, -1, -1, -1, -1, -1, -1, 342,
  2703.             -1, 342, 342, 342, 342, -1, -1, -1,
  2704.             -1, -1, -1, 342, -1, -1, -1, -1,
  2705.             -1, -1, -1, 342, 342, 342, 342, 342,
  2706.             342, 342, 342, 342, 342, 342, 342, 342,
  2707.             342, 342, 342, 342, -1, 342, 342, 342 ),
  2708.         array( -1, -1, -1, -1, -1, -1, -1, 332,
  2709.             -1, -1, 333, -1, -1, -1, -1, -1,
  2710.             334, -1, -1, -1, -1, -1, -1, -1,
  2711.             -1, 409, -1, -1, -1, -1, -1, -1,
  2712.             -1, -1, 91, -1, -1, -1, -1, -1,
  2713.             -1, -1, -1, -1, -1, -1, -1, -1,
  2714.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2715.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2716.             -1, -1, -1, -1, -1, -1, -1, -1,
  2717.             -1, -1, -1, -1, -1, -1, -1, -1,
  2718.             -1, -1, -1, -1, -1, -1, -1, -1,
  2719.             -1, -1, -1, -1, -1, -1, -1, -1,
  2720.             -1, -1, -1, -1, 343, -1, -1, -1,
  2721.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2722.         array( -1, -1, -1, 342, -1, -1, 342, -1,
  2723.             -1, -1, -1, -1, -1, -1, -1, 342,
  2724.             -1, 342, 342, 342, 342, -1, 344, -1,
  2725.             -1, 345, -1, 342, -1, -1, -1, -1,
  2726.             -1, -1, -1, 342, 342, 342, 342, 342,
  2727.             342, 342, 342, 342, 342, 342, 342, 342,
  2728.             342, 342, 342, 342, -1, 342, 342, 342 ),
  2729.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2730.             -1, -1, -1, -1, -1, -1, -1, -1,
  2731.             -1, -1, 340, -1, -1, -1, -1, -1,
  2732.             -1, -1, -1, -1, -1, -1, -1, -1,
  2733.             -1, -1, -1, -1, -1, -1, -1, -1,
  2734.             -1, -1, -1, -1, -1, -1, 340, -1,
  2735.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2736.         array( -1, -1, -1, -1, -1, -1, -1, 332,
  2737.             -1, -1, 333, -1, -1, -1, -1, -1,
  2738.             339, -1, -1, -1, -1, -1, -1, -1,
  2739.             -1, 410, -1, -1, -1, -1, -1, -1,
  2740.             -1, -1, 91, -1, -1, -1, -1, -1,
  2741.             -1, -1, -1, -1, -1, -1, -1, -1,
  2742.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2743.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2744.             -1, -1, -1, -1, -1, -1, -1, -1,
  2745.             -1, -1, -1, -1, -1, -1, -1, -1,
  2746.             -1, -1, -1, -1, -1, -1, -1, -1,
  2747.             -1, -1, -1, -1, -1, -1, -1, -1,
  2748.             -1, -1, -1, -1, 346, -1, -1, -1,
  2749.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2750.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2751.             -1, -1, -1, -1, -1, -1, -1, -1,
  2752.             -1, -1, 344, -1, -1, -1, -1, -1,
  2753.             -1, -1, -1, -1, -1, -1, -1, -1,
  2754.             -1, -1, -1, -1, -1, -1, -1, -1,
  2755.             -1, -1, -1, -1, -1, -1, 344, -1,
  2756.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2757.         array( -1, 130, 3, 3, 3, 3, 3, 3,
  2758.             142, 3, 3, 3, 3, 3, 3, 3,
  2759.             3, 3, 3, 3, 3, -1, 144, -1,
  2760.             3, 3, 3, 3, 3, 3, 3, 3,
  2761.             3, 3, 3, 3, 3, 3, 3, 3,
  2762.             3, 3, 3, 3, 3, 3, 3, 3,
  2763.             3, 3, 3, 3, 3, 3, 3, 3 ),
  2764.         array( -1, -1, -1, 349, -1, -1, 349, 288,
  2765.             -1, -1, -1, -1, -1, -1, -1, -1,
  2766.             295, 349, 349, 349, 349, -1, -1, -1,
  2767.             -1, 406, -1, 349, -1, -1, -1, -1,
  2768.             -1, -1, -1, 349, 349, 349, 349, 349,
  2769.             349, 349, 349, 349, 349, 349, 349, 349,
  2770.             349, 349, 349, 349, -1, 349, 349, 349 ),
  2771.         array( -1, -1, -1, -1, -1, -1, -1, 288,
  2772.             -1, -1, -1, -1, -1, -1, -1, -1,
  2773.             295, -1, -1, -1, -1, -1, -1, -1,
  2774.             -1, 406, -1, -1, -1, -1, -1, -1,
  2775.             -1, -1, -1, -1, -1, -1, -1, -1,
  2776.             -1, -1, -1, -1, -1, -1, -1, -1,
  2777.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2778.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2779.             -1, -1, 168, -1, -1, -1, -1, -1,
  2780.             169, 156, 156, 156, 156, -1, -1, -1,
  2781.             -1, 170, -1, 156, -1, -1, -1, -1,
  2782.             -1, 18, 19, 156, 156, 156, 156, 156,
  2783.             156, 156, 156, 156, 156, 156, 156, 171,
  2784.             156, 156, 156, 156, -1, 156, 156, 156 ),
  2785.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2786.             -1, -1, -1, -1, -1, -1, -1, -1,
  2787.             -1, -1, -1, -1, -1, -1, -1, -1,
  2788.             -1, -1, -1, -1, -1, -1, -1, -1,
  2789.             -1, -1, -1, -1, -1, -1, -1, -1,
  2790.             -1, -1, -1, -1, -1, 352, -1, -1,
  2791.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2792.         array( -1, -1, -1, -1, -1, -1, 216, -1,
  2793.             -1, -1, -1, -1, -1, -1, -1, -1,
  2794.             -1, 216, 216, 216, 216, -1, -1, -1,
  2795.             -1, -1, -1, 216, -1, -1, -1, -1,
  2796.             -1, -1, -1, 216, 216, 216, 216, 216,
  2797.             216, 216, 216, 216, -1, 216, 216, 216,
  2798.             216, 216, 216, 216, -1, 216, 216, -1 ),
  2799.         array( -1, -1, -1, -1, -1, -1, 276, -1,
  2800.             -1, -1, -1, -1, -1, -1, -1, -1,
  2801.             -1, 276, 276, 276, 276, -1, -1, -1,
  2802.             -1, -1, -1, -1, -1, -1, -1, -1,
  2803.             -1, -1, -1, 276, 276, 276, 276, 276,
  2804.             276, 276, 276, 276, -1, 276, 276, 276,
  2805.             276, 276, 276, 276, -1, 276, 276, -1 ),
  2806.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2807.             -1, -1, -1, -1, -1, -1, -1, -1,
  2808.             -1, -1, 350, -1, -1, -1, -1, -1,
  2809.             -1, -1, -1, -1, -1, -1, -1, -1,
  2810.             -1, -1, -1, -1, -1, -1, -1, -1,
  2811.             -1, -1, -1, -1, -1, -1, 350, -1,
  2812.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2813.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2814.             -1, -1, 168, -1, -1, -1, -1, -1,
  2815.             312, 310, 310, 310, 310, -1, -1, -1,
  2816.             -1, 407, -1, 310, -1, -1, -1, -1,
  2817.             -1, -1, 19, 310, 310, 310, 310, 310,
  2818.             310, 310, 310, 310, 310, 310, 315, 310,
  2819.             310, 310, 310, 310, -1, 310, 310, 310 ),
  2820.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2821.             -1, -1, 168, -1, -1, -1, -1, -1,
  2822.             169, 156, 156, 156, 156, -1, -1, -1,
  2823.             -1, 170, -1, 156, -1, -1, -1, -1,
  2824.             -1, 18, 19, 156, 156, 156, 156, 156,
  2825.             156, 156, 156, 156, 156, 156, 178, 156,
  2826.             156, 156, 156, 156, -1, 156, 156, 156 ),
  2827.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2828.             -1, -1, -1, -1, -1, -1, -1, -1,
  2829.             -1, -1, -1, -1, -1, -1, -1, -1,
  2830.             -1, -1, -1, -1, -1, -1, -1, -1,
  2831.             -1, -1, -1, -1, -1, -1, -1, -1,
  2832.             -1, -1, -1, -1, -1, 359, -1, -1,
  2833.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2834.         array( -1, -1, -1, -1, -1, -1, 280, -1,
  2835.             -1, -1, -1, -1, -1, -1, -1, -1,
  2836.             -1, 280, 280, 280, 280, -1, -1, -1,
  2837.             -1, -1, -1, -1, -1, -1, -1, -1,
  2838.             -1, -1, -1, 280, 280, 280, 280, 280,
  2839.             280, 280, 280, 280, -1, 280, 280, 280,
  2840.             280, 280, 280, 280, -1, 280, 280, -1 ),
  2841.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2842.             -1, -1, 168, -1, -1, -1, -1, -1,
  2843.             312, 310, 310, 310, 310, -1, -1, -1,
  2844.             -1, 407, -1, 310, -1, -1, -1, -1,
  2845.             -1, -1, 19, 310, 310, 310, 310, 310,
  2846.             310, 310, 310, 310, 310, 310, 310, 310,
  2847.             310, 319, 310, 310, -1, 310, 310, 310 ),
  2848.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2849.             -1, -1, 168, -1, -1, -1, -1, -1,
  2850.             169, 156, 156, 156, 156, -1, -1, -1,
  2851.             -1, 170, -1, 156, -1, -1, -1, -1,
  2852.             -1, 18, 19, 156, 156, 156, 156, 156,
  2853.             156, 156, 156, 156, 156, 156, 156, 156,
  2854.             156, 187, 156, 156, -1, 156, 156, 156 ),
  2855.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2856.             -1, -1, -1, -1, -1, -1, -1, -1,
  2857.             -1, -1, -1, -1, -1, -1, -1, -1,
  2858.             -1, -1, -1, -1, -1, -1, -1, -1,
  2859.             -1, -1, -1, -1, -1, -1, -1, -1,
  2860.             -1, -1, -1, -1, -1, 364, -1, -1,
  2861.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2862.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2863.             -1, -1, 168, -1, -1, -1, -1, -1,
  2864.             312, 310, 310, 310, 310, -1, -1, -1,
  2865.             -1, 407, -1, 310, -1, -1, -1, -1,
  2866.             -1, -1, 19, 310, 310, 310, 310, 310,
  2867.             310, 310, 310, 310, 310, 310, 310, 310,
  2868.             310, 310, 310, 325, -1, 310, 310, 310 ),
  2869.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2870.             -1, -1, 168, -1, -1, -1, -1, -1,
  2871.             169, 156, 156, 156, 156, -1, -1, -1,
  2872.             -1, 170, -1, 156, -1, -1, -1, -1,
  2873.             -1, 18, 19, 156, 156, 156, 156, 156,
  2874.             156, 156, 156, 156, 156, 156, 156, 156,
  2875.             156, 156, 156, 204, -1, 156, 156, 156 ),
  2876.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2877.             -1, -1, -1, -1, -1, -1, -1, -1,
  2878.             -1, -1, -1, -1, -1, -1, -1, -1,
  2879.             -1, -1, -1, -1, -1, -1, -1, -1,
  2880.             -1, -1, -1, -1, -1, -1, -1, -1,
  2881.             -1, -1, -1, -1, -1, 368, -1, -1,
  2882.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2883.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2884.             -1, -1, -1, -1, -1, -1, -1, -1,
  2885.             -1, -1, -1, -1, -1, -1, -1, -1,
  2886.             -1, -1, -1, -1, -1, -1, -1, -1,
  2887.             -1, -1, -1, -1, -1, -1, -1, -1,
  2888.             -1, -1, -1, -1, -1, 370, -1, -1,
  2889.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2890.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2891.             -1, -1, -1, -1, -1, -1, -1, -1,
  2892.             -1, -1, -1, -1, -1, -1, -1, -1,
  2893.             -1, -1, -1, -1, -1, -1, -1, -1,
  2894.             -1, -1, -1, -1, -1, -1, -1, -1,
  2895.             -1, -1, -1, -1, -1, 372, -1, -1,
  2896.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2897.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2898.             -1, -1, -1, -1, -1, -1, -1, -1,
  2899.             -1, -1, -1, -1, -1, -1, -1, -1,
  2900.             -1, -1, -1, -1, -1, -1, -1, -1,
  2901.             -1, -1, -1, -1, -1, -1, -1, -1,
  2902.             -1, -1, -1, -1, -1, 374, -1, -1,
  2903.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2904.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2905.             -1, -1, -1, -1, -1, -1, -1, -1,
  2906.             -1, -1, -1, -1, -1, -1, -1, -1,
  2907.             -1, -1, -1, -1, -1, -1, -1, -1,
  2908.             -1, -1, -1, -1, -1, -1, -1, -1,
  2909.             -1, -1, -1, -1, -1, 376, -1, -1,
  2910.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2911.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2912.             -1, -1, -1, -1, -1, -1, -1, -1,
  2913.             -1, -1, -1, -1, -1, -1, -1, -1,
  2914.             -1, -1, -1, -1, -1, -1, -1, -1,
  2915.             -1, -1, -1, -1, -1, -1, -1, -1,
  2916.             -1, -1, -1, -1, -1, 378, -1, -1,
  2917.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2918.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2919.             -1, -1, -1, -1, -1, -1, -1, -1,
  2920.             -1, -1, -1, -1, -1, -1, -1, -1,
  2921.             -1, -1, -1, -1, -1, -1, -1, -1,
  2922.             -1, -1, -1, -1, -1, -1, -1, -1,
  2923.             -1, -1, -1, -1, -1, 380, -1, -1,
  2924.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2925.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2926.             -1, -1, -1, -1, -1, -1, -1, -1,
  2927.             -1, -1, -1, -1, -1, -1, -1, -1,
  2928.             -1, -1, -1, -1, -1, -1, -1, -1,
  2929.             -1, -1, -1, -1, -1, -1, -1, -1,
  2930.             -1, -1, -1, -1, -1, 382, -1, -1,
  2931.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2932.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2933.             -1, -1, -1, -1, -1, -1, -1, -1,
  2934.             -1, -1, -1, -1, -1, -1, -1, -1,
  2935.             -1, -1, -1, -1, -1, -1, -1, -1,
  2936.             -1, -1, -1, -1, -1, -1, -1, -1,
  2937.             -1, -1, -1, -1, -1, 384, -1, -1,
  2938.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2939.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2940.             -1, -1, -1, -1, -1, -1, -1, -1,
  2941.             -1, -1, -1, -1, -1, -1, -1, -1,
  2942.             -1, -1, -1, -1, -1, -1, -1, -1,
  2943.             -1, -1, -1, -1, -1, -1, -1, -1,
  2944.             -1, -1, -1, -1, -1, 386, -1, -1,
  2945.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2946.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2947.             -1, -1, -1, -1, -1, -1, -1, -1,
  2948.             -1, -1, -1, -1, -1, -1, -1, -1,
  2949.             -1, -1, -1, -1, -1, -1, -1, -1,
  2950.             -1, -1, -1, -1, -1, -1, -1, -1,
  2951.             -1, -1, -1, -1, -1, 388, -1, -1,
  2952.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2953.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2954.             -1, -1, -1, -1, -1, -1, -1, -1,
  2955.             -1, -1, -1, -1, -1, -1, -1, -1,
  2956.             -1, -1, -1, -1, -1, -1, -1, -1,
  2957.             -1, -1, -1, -1, -1, -1, -1, -1,
  2958.             -1, -1, -1, -1, -1, 390, -1, -1,
  2959.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2960.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2961.             -1, -1, 168, -1, -1, -1, -1, -1,
  2962.             169, 156, 156, 156, 156, -1, -1, -1,
  2963.             -1, 170, -1, 156, -1, -1, -1, -1,
  2964.             -1, 18, 19, 156, 156, 156, 156, 156,
  2965.             156, 156, 156, 156, 156, 156, 156, 156,
  2966.             156, 156, 156, 156, -1, 358, 396, 156 ),
  2967.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2968.             -1, -1, -1, -1, -1, -1, -1, -1,
  2969.             -1, -1, -1, -1, -1, -1, -1, -1,
  2970.             -1, -1, -1, -1, -1, -1, -1, -1,
  2971.             -1, -1, -1, -1, -1, -1, -1, -1,
  2972.             -1, -1, -1, -1, 360, -1, -1, -1,
  2973.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  2974.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2975.             -1, -1, -1, -1, -1, -1, -1, -1,
  2976.             -1, -1, -1, -1, -1, -1, -1, -1,
  2977.             -1, -1, -1, -1, -1, -1, -1, -1,
  2978.             -1, -1, -1, -1, -1, -1, -1, -1,
  2979.             -1, -1, -1, -1, 375, -1, -1, -1,
  2980.             -1, -1, -1, -1, -1, -1, -1, 240 ),
  2981.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  2982.             -1, -1, 168, -1, -1, -1, -1, -1,
  2983.             312, 310, 310, 310, 310, -1, -1, -1,
  2984.             -1, 407, -1, 310, -1, -1, -1, -1,
  2985.             -1, -1, 19, 310, 310, 310, 310, 310,
  2986.             310, 310, 310, 310, 310, 310, 310, 310,
  2987.             310, 310, 310, 310, -1, 357, 398, 310 ),
  2988.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  2989.             -1, -1, 168, -1, -1, -1, -1, -1,
  2990.             169, 156, 156, 156, 156, -1, -1, -1,
  2991.             -1, 170, -1, 156, -1, -1, -1, -1,
  2992.             -1, 18, 19, 156, 363, 156, 156, 156,
  2993.             156, 156, 156, 156, 156, 156, 156, 156,
  2994.             156, 156, 156, 156, -1, 156, 156, 156 ),
  2995.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  2996.             -1, -1, -1, -1, -1, -1, -1, -1,
  2997.             -1, -1, -1, -1, -1, -1, -1, -1,
  2998.             -1, -1, -1, -1, -1, -1, -1, -1,
  2999.             -1, -1, -1, -1, -1, -1, -1, -1,
  3000.             -1, -1, -1, -1, 365, -1, -1, -1,
  3001.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3002.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3003.             -1, -1, 168, -1, -1, -1, -1, -1,
  3004.             312, 310, 310, 310, 310, -1, -1, -1,
  3005.             -1, 407, -1, 310, -1, -1, -1, -1,
  3006.             -1, -1, 19, 310, 362, 310, 310, 310,
  3007.             310, 310, 310, 310, 310, 310, 310, 310,
  3008.             310, 310, 310, 310, -1, 310, 310, 310 ),
  3009.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  3010.             -1, -1, 168, -1, -1, -1, -1, -1,
  3011.             169, 156, 156, 156, 156, -1, -1, -1,
  3012.             -1, 170, -1, 156, -1, -1, -1, -1,
  3013.             -1, 18, 19, 156, 156, 367, 156, 156,
  3014.             156, 156, 156, 156, 156, 156, 156, 156,
  3015.             156, 156, 156, 156, -1, 156, 156, 156 ),
  3016.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3017.             -1, -1, -1, -1, -1, -1, -1, -1,
  3018.             -1, -1, -1, -1, -1, -1, -1, -1,
  3019.             -1, -1, -1, -1, -1, -1, -1, -1,
  3020.             -1, -1, -1, -1, -1, -1, -1, -1,
  3021.             -1, -1, -1, -1, 369, -1, -1, -1,
  3022.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3023.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3024.             -1, -1, 168, -1, -1, -1, -1, -1,
  3025.             312, 310, 310, 310, 310, -1, -1, -1,
  3026.             -1, 407, -1, 310, -1, -1, -1, -1,
  3027.             -1, -1, 19, 310, 310, 366, 310, 310,
  3028.             310, 310, 310, 310, 310, 310, 310, 310,
  3029.             310, 310, 310, 310, -1, 310, 310, 310 ),
  3030.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3031.             -1, -1, -1, -1, -1, -1, -1, -1,
  3032.             -1, -1, -1, -1, -1, -1, -1, -1,
  3033.             -1, -1, -1, -1, -1, -1, -1, -1,
  3034.             -1, -1, -1, -1, -1, -1, -1, -1,
  3035.             -1, -1, -1, -1, 371, -1, -1, -1,
  3036.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3037.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3038.             -1, -1, -1, -1, -1, -1, -1, -1,
  3039.             -1, -1, -1, -1, -1, -1, -1, -1,
  3040.             -1, -1, -1, -1, -1, -1, -1, -1,
  3041.             -1, -1, -1, -1, -1, -1, -1, -1,
  3042.             -1, -1, -1, -1, 377, -1, -1, -1,
  3043.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3044.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3045.             -1, -1, -1, -1, -1, -1, -1, -1,
  3046.             -1, -1, -1, -1, -1, -1, -1, -1,
  3047.             -1, -1, -1, -1, -1, -1, -1, -1,
  3048.             -1, -1, -1, -1, -1, -1, -1, -1,
  3049.             -1, -1, -1, -1, 379, -1, -1, -1,
  3050.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3051.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3052.             -1, -1, -1, -1, -1, -1, -1, -1,
  3053.             -1, -1, -1, -1, -1, -1, -1, -1,
  3054.             -1, -1, -1, -1, -1, -1, -1, -1,
  3055.             -1, -1, -1, -1, -1, -1, -1, -1,
  3056.             -1, -1, -1, -1, 381, -1, -1, -1,
  3057.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3058.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3059.             -1, -1, -1, -1, -1, -1, -1, -1,
  3060.             -1, -1, -1, -1, -1, -1, -1, -1,
  3061.             -1, -1, -1, -1, -1, -1, -1, -1,
  3062.             -1, -1, -1, -1, -1, -1, -1, -1,
  3063.             -1, -1, -1, -1, 383, -1, -1, -1,
  3064.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3065.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3066.             -1, -1, -1, -1, -1, -1, -1, -1,
  3067.             -1, -1, -1, -1, -1, -1, -1, -1,
  3068.             -1, -1, -1, -1, -1, -1, -1, -1,
  3069.             -1, -1, -1, -1, -1, -1, -1, -1,
  3070.             -1, -1, -1, -1, 385, -1, -1, -1,
  3071.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3072.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3073.             -1, -1, -1, -1, -1, -1, -1, -1,
  3074.             -1, -1, -1, -1, -1, -1, -1, -1,
  3075.             -1, -1, -1, -1, -1, -1, -1, -1,
  3076.             -1, -1, -1, -1, -1, -1, -1, -1,
  3077.             -1, -1, -1, -1, 387, -1, -1, -1,
  3078.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3079.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3080.             -1, -1, -1, -1, -1, -1, -1, -1,
  3081.             -1, -1, -1, -1, -1, -1, -1, -1,
  3082.             -1, -1, -1, -1, -1, -1, -1, -1,
  3083.             -1, -1, -1, -1, -1, -1, -1, -1,
  3084.             -1, -1, -1, -1, 389, -1, -1, -1,
  3085.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3086.         array( -1, -1, -1, -1, -1, -1, -1, -1,
  3087.             -1, -1, -1, -1, -1, -1, -1, -1,
  3088.             -1, -1, -1, -1, -1, -1, -1, -1,
  3089.             -1, -1, -1, -1, -1, -1, -1, -1,
  3090.             -1, -1, -1, -1, -1, -1, -1, -1,
  3091.             -1, -1, -1, -1, 391, -1, -1, -1,
  3092.             -1, -1, -1, -1, -1, -1, -1, -1 ),
  3093.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  3094.             -1, -1, 168, -1, -1, -1, -1, -1,
  3095.             169, 156, 156, 156, 156, -1, -1, -1,
  3096.             -1, 170, -1, 156, -1, -1, -1, -1,
  3097.             -1, 18, 19, 156, 156, 156, 156, 156,
  3098.             156, 156, 156, 156, 156, 156, 156, 156,
  3099.             156, 156, 399, 156, -1, 156, 156, 156 ),
  3100.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3101.             -1, -1, 168, -1, -1, -1, -1, -1,
  3102.             312, 310, 310, 310, 310, -1, -1, -1,
  3103.             -1, 407, -1, 310, -1, -1, -1, -1,
  3104.             -1, -1, 19, 310, 310, 310, 310, 310,
  3105.             310, 310, 310, 310, 310, 310, 310, 310,
  3106.             310, 310, 401, 310, -1, 310, 310, 310 ),
  3107.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  3108.             -1, -1, 168, -1, -1, -1, -1, -1,
  3109.             169, 156, 156, 156, 156, -1, -1, -1,
  3110.             -1, 170, -1, 156, -1, -1, -1, -1,
  3111.             -1, 18, 19, 156, 156, 156, 156, 156,
  3112.             156, 156, 156, 156, 156, 156, 156, 156,
  3113.             156, 411, 156, 156, -1, 156, 156, 156 ),
  3114.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3115.             -1, -1, 168, -1, -1, -1, -1, -1,
  3116.             312, 310, 310, 310, 310, -1, -1, -1,
  3117.             -1, 407, -1, 310, -1, -1, -1, -1,
  3118.             -1, -1, 19, 310, 310, 310, 310, 310,
  3119.             310, 310, 310, 310, 310, 310, 310, 310,
  3120.             310, 412, 310, 310, -1, 310, 310, 310 ),
  3121.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  3122.             -1, -1, 168, -1, -1, -1, -1, -1,
  3123.             169, 156, 156, 156, 156, -1, -1, -1,
  3124.             -1, 170, -1, 156, -1, -1, -1, -1,
  3125.             -1, 18, 19, 156, 156, 156, 413, 156,
  3126.             156, 156, 156, 156, 156, 156, 156, 156,
  3127.             156, 156, 156, 156, -1, 156, 156, 156 ),
  3128.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3129.             -1, -1, 168, -1, -1, -1, -1, -1,
  3130.             312, 310, 310, 310, 310, -1, -1, -1,
  3131.             -1, 407, -1, 310, -1, -1, -1, -1,
  3132.             -1, -1, 19, 310, 310, 310, 414, 310,
  3133.             310, 310, 310, 310, 310, 310, 310, 310,
  3134.             310, 310, 310, 310, -1, 310, 310, 310 ),
  3135.         array( -1, -1, -1, 156, -1, -1, 156, 166,
  3136.             -1, -1, 168, -1, -1, -1, -1, -1,
  3137.             169, 156, 156, 156, 156, -1, -1, -1,
  3138.             -1, 170, -1, 156, -1, -1, -1, -1,
  3139.             -1, 18, 19, 156, 156, 156, 156, 156,
  3140.             156, 156, 156, 156, 156, 156, 156, 156,
  3141.             415, 156, 156, 156, -1, 156, 156, 156 ),
  3142.         array( -1, -1, -1, 310, -1, -1, 310, 311,
  3143.             -1, -1, 168, -1, -1, -1, -1, -1,
  3144.             312, 310, 310, 310, 310, -1, -1, -1,
  3145.             -1, 407, -1, 310, -1, -1, -1, -1,
  3146.             -1, -1, 19, 310, 310, 310, 310, 310,
  3147.             310, 310, 310, 310, 310, 310, 310, 310,
  3148.             416, 310, 310, 310, -1, 310, 310, 310 )
  3149.         );
  3150.  
  3151.  
  3152.     function  yylex()
  3153.     {
  3154.         $yy_lookahead = '';
  3155.         $yy_anchor = YY_NO_ANCHOR;
  3156.         $yy_state = $this->yy_state_dtrans[$this->yy_lexical_state];
  3157.         $yy_next_state = YY_NO_STATE;
  3158.          $yy_last_accept_state = YY_NO_STATE;
  3159.         $yy_initial = true;
  3160.         $yy_this_accept = 0;
  3161.         
  3162.         $this->yy_mark_start();
  3163.         $yy_this_accept = $this->yy_acpt[$yy_state];
  3164.         if (YY_NOT_ACCEPT != $yy_this_accept) {
  3165.             $yy_last_accept_state = $yy_state;
  3166.             $this->yy_buffer_end = $this->yy_buffer_index;
  3167.         }
  3168.         while (true) {
  3169.             if ($yy_initial && $this->yy_at_bol) {
  3170.                 $yy_lookahead =  YY_BOL;
  3171.             } else {
  3172.                 $yy_lookahead = $this->yy_advance();
  3173.             }
  3174.             $yy_next_state = $this->yy_nxt[$this->yy_rmap[$yy_state]][$this->yy_cmap[$yy_lookahead]];
  3175.             if (YY_EOF == $yy_lookahead && $yy_initial) {
  3176.                 return false;            }
  3177.             if (YY_F != $yy_next_state) {
  3178.                 $yy_state = $yy_next_state;
  3179.                 $yy_initial = false;
  3180.                 $yy_this_accept = $this->yy_acpt[$yy_state];
  3181.                 if (YY_NOT_ACCEPT != $yy_this_accept) {
  3182.                     $yy_last_accept_state = $yy_state;
  3183.                     $this->yy_buffer_end = $this->yy_buffer_index;
  3184.                 }
  3185.             } else {
  3186.                 if (YY_NO_STATE == $yy_last_accept_state) {
  3187.                     $this->yy_error(1,1);
  3188.                 } else {
  3189.                     $yy_anchor = $this->yy_acpt[$yy_last_accept_state];
  3190.                     if (0 != (YY_END & $yy_anchor)) {
  3191.                         $this->yy_move_end();
  3192.                     }
  3193.                     $this->yy_to_mark();
  3194.                     if ($yy_last_accept_state < 0) {
  3195.                        if ($yy_last_accept_state < 419) {
  3196.                            $this->yy_error(YY_E_INTERNAL, false);
  3197.                        }
  3198.                     } else {
  3199.  
  3200.                         switch ($yy_last_accept_state) {
  3201. case 2:
  3202. {
  3203.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  3204. }
  3205. case 3:
  3206. {
  3207.     //abcd -- data characters  
  3208.     // { and ) added for flexy
  3209.     $this->value = $this->createToken('Text');
  3210.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3211. }
  3212. case 4:
  3213. {
  3214.     // &abc;
  3215.     $this->value = $this->createToken('Text');
  3216.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3217. }
  3218. case 5:
  3219. {
  3220.     //<name -- start tag */
  3221.     if ($this->options['ignore_html']) {
  3222.         return $this->returnSimple();
  3223.     }
  3224.     $this->tagName = trim(substr($this->yytext(),1));
  3225.     $this->tokenName = 'Tag';
  3226.     $this->value = '';
  3227.     $this->attributes = array();
  3228.     $this->yybegin(IN_ATTR);
  3229.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3230. }
  3231. case 6:
  3232. {  
  3233.     // <> -- empty start tag */
  3234.     if ($this->options['ignore_html']) {
  3235.         return $this->returnSimple();
  3236.     }
  3237.     return $this->raiseError("empty tag"); 
  3238. }
  3239. case 7:
  3240.     /* <? php start.. */
  3241.     //echo "STARTING PHP?\n";
  3242.     $this->yyPhpBegin = $this->yy_buffer_start;
  3243.     $this->yybegin(IN_PHP);
  3244.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3245. }
  3246. case 8:
  3247. {
  3248.     // {
  3249.     $this->value = $this->createToken('Text');
  3250.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3251. }
  3252. case 9:
  3253. {
  3254.     // &#abc;
  3255.     $this->value = $this->createToken('Text');
  3256.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3257. }
  3258. case 10:
  3259. {
  3260.     /* </title> -- end tag */
  3261.     if ($this->options['ignore_html']) {
  3262.         return $this->returnSimple();
  3263.     }
  3264.     if ($this->inStyle) {
  3265.         $this->inStyle = false;
  3266.     }
  3267.     $this->tagName = trim(substr($this->yytext(),1));
  3268.     $this->tokenName = 'EndTag';
  3269.     $this->yybegin(IN_ENDTAG);
  3270.     $this->value = '';
  3271.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3272. }
  3273. case 11:
  3274. {
  3275.     /* </> -- empty end tag */  
  3276.     if ($this->options['ignore_html']) {
  3277.         return $this->returnSimple();
  3278.     }
  3279.     return $this->raiseError("empty end tag not handled");
  3280. }
  3281. case 12:
  3282. {
  3283.     /* <!DOCTYPE -- markup declaration */
  3284.     if ($this->options['ignore_html']) {
  3285.         return $this->returnSimple();
  3286.     }
  3287.     $this->value = $this->createToken('Doctype');
  3288.     $this->yybegin(IN_MD);
  3289.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3290. }
  3291. case 13:
  3292. {
  3293.     /* <!> */
  3294.     if ($this->options['ignore_html']) {
  3295.         return $this->returnSimple();
  3296.     }
  3297.     return $this->raiseError("empty markup tag not handled"); 
  3298. }
  3299. case 14:
  3300. {
  3301.     /* <![ -- marked section */
  3302.     return $this->returnSimple();
  3303. }
  3304. case 15:
  3305.     /* eg. <?xml-stylesheet, <?php ... */
  3306.     $t = $this->yytext();
  3307.     $tagname = trim(strtoupper(substr($t,2)));
  3308.    // echo "STARTING XML? $t:$tagname\n";
  3309.     if ($tagname == 'PHP') {
  3310.         $this->yyPhpBegin = $this->yy_buffer_start;
  3311.         $this->yybegin(IN_PHP);
  3312.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3313.     }
  3314.     // not php - it's xlm or something...
  3315.     // we treat this like a tag???
  3316.     // we are going to have to escape it eventually...!!!
  3317.     $this->tagName = trim(substr($t,1));
  3318.     $this->tokenName = 'Tag';
  3319.     $this->value = '';
  3320.     $this->attributes = array();
  3321.     $this->yybegin(IN_ATTR);
  3322.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3323. }
  3324. case 16:
  3325. {
  3326.     $this->value = $this->createToken('GetTextEnd','');
  3327.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3328. }
  3329. case 17:
  3330.     /* ]]> -- marked section end */
  3331.     return $this->returnSimple();
  3332. }
  3333. case 18:
  3334. {
  3335.     $this->value =  '';
  3336.     $this->flexyMethod = substr($this->yytext(),1,-1);
  3337.     $this->flexyArgs = array();
  3338.     $this->yybegin(IN_FLEXYMETHOD);
  3339.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3340. }
  3341. case 19:
  3342. {
  3343.     $t =  $this->yytext();
  3344.     $t = substr($t,1,-1);
  3345.     $this->value = $this->createToken('Var'  , $t);
  3346.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3347. }
  3348. case 20:
  3349. {
  3350.     $this->value = $this->createToken('GetTextStart','');
  3351.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3352. }
  3353. case 21:
  3354. {
  3355.     if ($this->options['ignore_html']) {
  3356.         return $this->returnSimple();
  3357.     }
  3358.     /* </name <  -- unclosed end tag */
  3359.     return $this->raiseError("Unclosed  end tag");
  3360. }
  3361. case 22:
  3362. {
  3363.     /* <!--  -- comment declaration */
  3364.     if ($this->options['ignore_html']) {
  3365.         return $this->returnSimple();
  3366.     }
  3367.     if ($this->inStyle) {
  3368.         $this->value = $this->createToken('Comment');
  3369.         $this->yybegin(IN_COMSTYLE);
  3370.         return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3371.     }
  3372.     $this->yyCommentBegin = $this->yy_buffer_end;
  3373.     //$this->value = $this->createToken('Comment',$this->yytext(),$this->yyline);
  3374.     $this->yybegin(IN_COM);
  3375.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3376. }
  3377. case 23:
  3378. {
  3379.     $this->value =  '';
  3380.     $this->flexyMethod = substr($this->yytext(),1,-1);
  3381.     $this->flexyArgs = array();
  3382.     $this->yybegin(IN_FLEXYMETHOD);
  3383.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3384. }
  3385. case 24:
  3386. {
  3387.     $this->value = $this->createToken('If',substr($this->yytext(),4,-1));
  3388.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3389. }
  3390. case 25:
  3391. {
  3392.     $this->value = $this->createToken('End', '');
  3393.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3394. }
  3395. case 26:
  3396. {
  3397.     $this->value = $this->createToken('Else', '');
  3398.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3399. }
  3400. case 27:
  3401. {
  3402.     /* <![ -- marked section */
  3403.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  3404.     $this->yybegin(IN_CDATA);
  3405.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3406. }
  3407. case 28:
  3408. {
  3409.     return $this->raiseError('invalid syntax for Foreach','',true);
  3410. }
  3411. case 29:
  3412. {
  3413.     $this->value = $this->createToken('Foreach', explode(',',substr($this->yytext(),9,-1)));
  3414.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3415. }
  3416. case 30:
  3417. {
  3418.     $this->value = $this->createToken('Foreach',  explode(',',substr($this->yytext(),9,-1)));
  3419.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3420. }
  3421. case 31:
  3422. {
  3423.     $this->attrVal[] = $this->yytext();
  3424.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3425. }
  3426. case 32:
  3427. {
  3428.     $this->attrVal[] = "'";
  3429.      //var_dump($this->attrVal);
  3430.     $s = "";
  3431.     foreach($this->attrVal as $v) {
  3432.         if (!is_string($v)) {
  3433.             $this->attributes[$this->attrKey] = $this->attrVal;
  3434.             $this->yybegin(IN_ATTR);
  3435.             return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3436.         }
  3437.         $s .= $v;
  3438.     }
  3439.     $this->attributes[$this->attrKey] = $s;
  3440.     $this->yybegin(IN_ATTR);
  3441.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3442. }
  3443. case 33:
  3444. {
  3445.     $this->value =  '';
  3446.     $n = $this->yytext();
  3447.     if ($n{0} != "{") {
  3448.         $n = substr($n,2);
  3449.     }
  3450.     $this->flexyMethod = substr($n,1,-1);
  3451.     $this->flexyArgs = array();
  3452.     $this->flexyMethodState = $this->yy_lexical_state;
  3453.     $this->yybegin(IN_FLEXYMETHODQUOTED);
  3454.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3455. }
  3456. case 34:
  3457. {
  3458.     $n = $this->yytext();
  3459.     if ($n{0} != '{') {
  3460.         $n = substr($n,3);
  3461.     } else {
  3462.         $n = substr($n,1);
  3463.     }
  3464.     if ($n{strlen($n)-1} != '}') {
  3465.         $n = substr($n,0,-3);
  3466.     } else {
  3467.         $n = substr($n,0,-1);
  3468.     }
  3469.     $this->attrVal[] = $this->createToken('Var'  , $n);
  3470.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3471. }
  3472. case 35:
  3473. {
  3474.     $this->value = '';
  3475.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3476. }
  3477. case 36:
  3478. {
  3479.     // <foo^<bar> -- unclosed start tag */
  3480.     return $this->raiseError("Unclosed tags not supported"); 
  3481. }
  3482. case 37:
  3483. {
  3484.     $this->value = $this->createToken($this->tokenName, array($this->tagName,$this->attributes));
  3485.     if (strtoupper($this->tagName) == 'SCRIPT') {
  3486.         $this->yybegin(IN_SCRIPT);
  3487.         return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3488.     }
  3489.     if (strtoupper($this->tagName) == 'STYLE') {
  3490.         $this->inStyle = true;
  3491.     } else {
  3492.         $this->inStyle = false;
  3493.     }
  3494.     $this->yybegin(YYINITIAL);
  3495.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3496. }
  3497. case 38:
  3498. {
  3499.     // <img src="xxx" ...ismap...> the ismap */
  3500.     $this->attributes[trim($this->yytext())] = true;
  3501.     $this->value = '';
  3502.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3503. }
  3504. case 39:
  3505. {
  3506.     // <em^/ -- NET tag */
  3507.     $this->yybegin(IN_NETDATA);
  3508.     $this->attributes["/"] = true;
  3509.     $this->value = '';
  3510.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3511. }
  3512. case 40:
  3513. {
  3514.    // <a ^href = "xxx"> -- attribute name 
  3515.     $this->attrKey = substr(trim($this->yytext()),0,-1);
  3516.     $this->yybegin(IN_ATTRVAL);
  3517.     $this->value = '';
  3518.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3519. }
  3520. case 41:
  3521. {
  3522.     // <em^/ -- NET tag */
  3523.     $this->attributes["/"] = true;
  3524.     $this->value = $this->createToken($this->tokenName, array($this->tagName,$this->attributes));
  3525.     $this->yybegin(YYINITIAL);
  3526.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3527. }
  3528. case 42:
  3529. {
  3530.     // <em^/ -- NET tag */
  3531.     $this->attributes["?"] = true;
  3532.     $this->value = $this->createToken($this->tokenName, array($this->tagName,$this->attributes));
  3533.     $this->yybegin(YYINITIAL);
  3534.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3535. }
  3536. case 43:
  3537. {
  3538.     // <a href = ^http://foo/> -- unquoted literal HACK */                          
  3539.     $this->attributes[$this->attrKey] = trim($this->yytext());
  3540.     $this->yybegin(IN_ATTR);
  3541.     //   $this->raiseError("attribute value needs quotes");
  3542.     $this->value = '';
  3543.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3544. }
  3545. case 44:
  3546. {
  3547.     // <a name = ^12pt> -- number token */
  3548.     $this->attributes[$this->attrKey] = trim($this->yytext());
  3549.     $this->yybegin(IN_ATTR);
  3550.     $this->value = '';
  3551.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3552. }
  3553. case 45:
  3554. {
  3555.     // <em^/ -- NET tag */
  3556.     return $this->raiseError("attribute value missing"); 
  3557. }
  3558. case 46:
  3559.     return $this->raiseError("Tag close found where attribute value expected"); 
  3560. }
  3561. case 47:
  3562. {
  3563.     //echo "STARTING SINGLEQUOTE";
  3564.     $this->attrVal = array( "'");
  3565.     $this->yybegin(IN_SINGLEQUOTE);
  3566.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3567. }
  3568. case 48:
  3569. {
  3570.     //echo "START QUOTE";
  3571.     $this->attrVal =array("\"");
  3572.     $this->yybegin(IN_DOUBLEQUOTE);
  3573.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3574. }
  3575. case 49:
  3576.     // whitespace switch back to IN_ATTR MODE.
  3577.     $this->value = '';
  3578.     $this->yybegin(IN_ATTR);
  3579.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3580. }
  3581. case 50:
  3582.     return $this->raiseError("extraneous character in end tag"); 
  3583. }
  3584. case 51:
  3585.     $this->value = $this->createToken($this->tokenName, array($this->tagName));
  3586.         array($this->tagName);
  3587.     $this->yybegin(YYINITIAL);
  3588.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3589. }
  3590. case 52:
  3591. {
  3592.     //echo "GOT DATA:".$this->yytext();
  3593.     $this->attrVal[] = $this->yytext();
  3594.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3595. }
  3596. case 53:
  3597. {
  3598.     //echo "GOT END DATA:".$this->yytext();
  3599.     $this->attrVal[] = "\"";
  3600.     $s = "";
  3601.     foreach($this->attrVal as $v) {
  3602.         if (!is_string($v)) {
  3603.             $this->attributes[$this->attrKey] = $this->attrVal;
  3604.             $this->yybegin(IN_ATTR);
  3605.             return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3606.         }
  3607.         $s .= $v;
  3608.     }
  3609.     $this->attributes[$this->attrKey] = $s;
  3610.     $this->yybegin(IN_ATTR);
  3611.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3612. }
  3613. case 54:
  3614.     $this->value = $this->createToken('WhiteSpace');
  3615.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3616. }
  3617. case 55:
  3618. {
  3619.     return $this->raiseError("illegal character in markup declaration (0x".dechex(ord($this->yytext())).')');
  3620. }
  3621. case 56:
  3622. {   
  3623.     $this->value = $this->createToken('Number');
  3624.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3625. }
  3626. case 57:
  3627.     $this->value = $this->createToken('Name');
  3628.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3629. }
  3630. case 58:
  3631.     $this->value = $this->createToken('NameT');
  3632.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3633. }
  3634. case 59:
  3635. {   
  3636.     $this->value = $this->createToken('CloseTag');
  3637.     $this->yybegin(YYINITIAL); 
  3638.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3639. }
  3640. case 60:
  3641. {
  3642.     // <!doctype foo ^[  -- declaration subset */
  3643.     $this->value = $this->createToken('BeginDS');
  3644.     $this->yybegin(IN_DS);
  3645.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3646. }
  3647. case 61:
  3648.     $this->value = $this->createToken('NumberT');
  3649.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3650. }
  3651. case 62:
  3652. {
  3653.     // <!entity ^% foo system "..." ...> -- parameter entity definition */
  3654.     $this->value = $this->createToken('EntityPar');
  3655.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3656. }
  3657. case 63:
  3658. {
  3659.     // <!doctype ^%foo;> -- parameter entity reference */
  3660.     $this->value = $this->createToken('EntityRef');
  3661.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3662. }
  3663. case 64:
  3664.     $this->value = $this->createToken('Literal');
  3665.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3666. }
  3667. case 65:
  3668. {
  3669.     // inside a comment (not - or not --
  3670.     // <!^--...-->   -- comment */   
  3671.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3672. }
  3673. case 66:
  3674. {
  3675.     // inside comment -- without a >
  3676.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3677. }
  3678. case 67:
  3679. {   
  3680.     $this->value = $this->createToken('Comment',
  3681.         '<!--'. substr($this->yy_buffer,$this->yyCommentBegin ,$this->yy_buffer_end - $this->yyCommentBegin),
  3682.         $this->yyline,$this->yyCommentBegin
  3683.     );
  3684.     $this->yybegin(YYINITIAL); 
  3685.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3686. }
  3687. case 68:
  3688.     $this->value = $this->createToken('Declaration');
  3689.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3690. }
  3691. case 69:
  3692.     // ] -- declaration subset close */
  3693.     $this->value = $this->createToken('DSEndSubset');
  3694.     $this->yybegin(IN_DSCOM); 
  3695.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3696. }
  3697. case 70:
  3698. {
  3699.     // ]]> -- marked section end */
  3700.      $this->value = $this->createToken('DSEnd');
  3701.     $this->yybegin(YYINITIAL);
  3702.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3703. }
  3704. case 71:
  3705. {
  3706.     $t = $this->yytext();
  3707.     if ($t{strlen($t)-1} == ",") {
  3708.         // add argument
  3709.         $this->flexyArgs[] = substr($t,0,-1);
  3710.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3711.     }
  3712.     $this->flexyArgs[] = $t;
  3713.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3714. }
  3715. case 72:
  3716. {
  3717.     $t = $this->yytext();
  3718.     if ($t{strlen($t)-1} == ",") {
  3719.         // add argument
  3720.         $this->flexyArgs[] = '#' . substr($t,0,-1) . '#';
  3721.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3722.     }
  3723.     if ($c = strpos($t,':')) {
  3724.         $this->flexyMethod .= substr($t,$c,-1);
  3725.         $t = '#' . substr($t,0,$c-1) . '#';
  3726.     } else {
  3727.         $t = '#' . substr($t,0,-2) . '#';
  3728.     }
  3729.     $this->flexyArgs[] = $t;
  3730.     $this->value = $this->createToken('Method', array($this->flexyMethod,$this->flexyArgs));
  3731.     $this->yybegin(YYINITIAL);
  3732.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3733. }
  3734. case 73:
  3735. {
  3736.     $t = $this->yytext();
  3737.     if ($t{strlen($t)-1} == ",") {
  3738.         // add argument
  3739.         $this->flexyArgs[] = substr($t,0,-1);
  3740.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3741.     }
  3742.     if ($c = strpos($t,':')) {
  3743.         $this->flexyMethod .= substr($t,$c,-1);
  3744.         $t = substr($t,0,$c-1);
  3745.     } else {
  3746.         $t = substr($t,0,-2);
  3747.     }
  3748.     $this->flexyArgs[] = $t;
  3749.     $this->value = $this->createToken('Method'  , array($this->flexyMethod,$this->flexyArgs));
  3750.     $this->yybegin(YYINITIAL);
  3751.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3752. }
  3753. case 74:
  3754. {
  3755.     $t = $this->yytext();
  3756.     if ($t{1} == ':') {
  3757.         $this->flexyMethod .= substr($t,1,-1);
  3758.     }
  3759.     $this->value = $this->createToken('Method'  , array($this->flexyMethod,$this->flexyArgs));
  3760.     $this->yybegin(YYINITIAL);
  3761.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3762. }
  3763. case 75:
  3764. {
  3765.     $t = $this->yytext();
  3766.     // add argument
  3767.     $this->flexyArgs[] = $t;
  3768.     $this->yybegin(IN_FLEXYMETHODQUOTED_END);
  3769.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3770. }
  3771. case 76:
  3772. {
  3773.     $t = $this->yytext();
  3774.     $this->flexyArgs[] =$t;
  3775.     $this->yybegin(IN_FLEXYMETHODQUOTED_END);
  3776.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3777. }
  3778. case 77:
  3779. {
  3780.     $t = $this->yytext();
  3781.     if ($p = strpos($t,':')) {
  3782.         $this->flexyMethod .= substr($t,$p,-1);
  3783.     }
  3784.     $this->attrVal[] = $this->createToken('Method'  , array($this->flexyMethod,$this->flexyArgs));
  3785.     $this->yybegin($this->flexyMethodState);
  3786.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3787. }
  3788. case 78:
  3789. {
  3790.     $this->yybegin(IN_FLEXYMETHODQUOTED);
  3791.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3792. }
  3793. case 79:
  3794. {
  3795.     // general text in script..
  3796.     $this->value = $this->createToken('Text');
  3797.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3798. }
  3799. case 80:
  3800. {
  3801.     // </script>
  3802.     $this->value = $this->createToken('EndTag', array('/script'));
  3803.     $this->yybegin(YYINITIAL);
  3804.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3805. }
  3806. case 81:
  3807.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  3808.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3809. }
  3810. case 82:
  3811.     /* ]]> -- marked section end */
  3812.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  3813.     $this->yybegin(YYINITIAL);
  3814.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3815. }
  3816. case 83:
  3817. {
  3818.     // inside a comment (not - or not --
  3819.     // <!^--...-->   -- comment */   
  3820.     $this->value = $this->createToken('DSComment');
  3821.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3822. }
  3823. case 84:
  3824. {   
  3825.     $this->value = $this->createToken('DSEnd');
  3826.     $this->yybegin(YYINITIAL); 
  3827.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3828. }
  3829. case 85:
  3830. {     
  3831.     /* anything inside of php tags */
  3832.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3833. }
  3834. case 86:
  3835.     /* php end */
  3836.     $this->value = $this->createToken('Php',
  3837.         substr($this->yy_buffer,$this->yyPhpBegin ,$this->yy_buffer_end - $this->yyPhpBegin ),
  3838.         $this->yyline,$this->yyPhpBegin);
  3839.     $this->yybegin(YYINITIAL);
  3840.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3841. }
  3842. case 87:
  3843. {
  3844.     // inside a style comment (not - or not --
  3845.     // <!^--...-->   -- comment */   
  3846.     $this->value = $this->createToken('Comment');
  3847.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3848. }
  3849. case 88:
  3850. {
  3851.     // we allow anything inside of comstyle!!!
  3852.     $this->value = $this->createToken('Comment');
  3853.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3854. }
  3855. case 89:
  3856. {
  3857.     // inside style comment -- without a >
  3858.     $this->value = $this->createToken('Comment');
  3859.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3860. }
  3861. case 90:
  3862. {   
  3863.     // --> inside a style tag.
  3864.     $this->value = $this->createToken('Comment');
  3865.     $this->yybegin(YYINITIAL); 
  3866.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  3867. }
  3868. case 91:
  3869. {
  3870.     // var in commented out style bit..
  3871.     $t =  $this->yytext();
  3872.     $t = substr($t,1,-1);
  3873.     $this->value = $this->createToken('Var', $t);
  3874.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3875. }
  3876. case 93:
  3877. {
  3878.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  3879. }
  3880. case 94:
  3881. {
  3882.     //abcd -- data characters  
  3883.     // { and ) added for flexy
  3884.     $this->value = $this->createToken('Text');
  3885.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3886. }
  3887. case 95:
  3888. {
  3889.     // &abc;
  3890.     $this->value = $this->createToken('Text');
  3891.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3892. }
  3893. case 96:
  3894. {
  3895.     //<name -- start tag */
  3896.     if ($this->options['ignore_html']) {
  3897.         return $this->returnSimple();
  3898.     }
  3899.     $this->tagName = trim(substr($this->yytext(),1));
  3900.     $this->tokenName = 'Tag';
  3901.     $this->value = '';
  3902.     $this->attributes = array();
  3903.     $this->yybegin(IN_ATTR);
  3904.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3905. }
  3906. case 97:
  3907.     /* <? php start.. */
  3908.     //echo "STARTING PHP?\n";
  3909.     $this->yyPhpBegin = $this->yy_buffer_start;
  3910.     $this->yybegin(IN_PHP);
  3911.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3912. }
  3913. case 98:
  3914. {
  3915.     // {
  3916.     $this->value = $this->createToken('Text');
  3917.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3918. }
  3919. case 99:
  3920. {
  3921.     // &#abc;
  3922.     $this->value = $this->createToken('Text');
  3923.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3924. }
  3925. case 100:
  3926. {
  3927.     /* </title> -- end tag */
  3928.     if ($this->options['ignore_html']) {
  3929.         return $this->returnSimple();
  3930.     }
  3931.     if ($this->inStyle) {
  3932.         $this->inStyle = false;
  3933.     }
  3934.     $this->tagName = trim(substr($this->yytext(),1));
  3935.     $this->tokenName = 'EndTag';
  3936.     $this->yybegin(IN_ENDTAG);
  3937.     $this->value = '';
  3938.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3939. }
  3940. case 101:
  3941. {
  3942.     /* <!DOCTYPE -- markup declaration */
  3943.     if ($this->options['ignore_html']) {
  3944.         return $this->returnSimple();
  3945.     }
  3946.     $this->value = $this->createToken('Doctype');
  3947.     $this->yybegin(IN_MD);
  3948.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  3949. }
  3950. case 102:
  3951. {
  3952.     /* <![ -- marked section */
  3953.     return $this->returnSimple();
  3954. }
  3955. case 103:
  3956.     /* eg. <?xml-stylesheet, <?php ... */
  3957.     $t = $this->yytext();
  3958.     $tagname = trim(strtoupper(substr($t,2)));
  3959.    // echo "STARTING XML? $t:$tagname\n";
  3960.     if ($tagname == 'PHP') {
  3961.         $this->yyPhpBegin = $this->yy_buffer_start;
  3962.         $this->yybegin(IN_PHP);
  3963.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3964.     }
  3965.     // not php - it's xlm or something...
  3966.     // we treat this like a tag???
  3967.     // we are going to have to escape it eventually...!!!
  3968.     $this->tagName = trim(substr($t,1));
  3969.     $this->tokenName = 'Tag';
  3970.     $this->value = '';
  3971.     $this->attributes = array();
  3972.     $this->yybegin(IN_ATTR);
  3973.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3974. }
  3975. case 104:
  3976. {
  3977.     $this->attrVal[] = $this->yytext();
  3978.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3979. }
  3980. case 105:
  3981. {
  3982.     $this->value = '';
  3983.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3984. }
  3985. case 106:
  3986. {
  3987.     // <foo^<bar> -- unclosed start tag */
  3988.     return $this->raiseError("Unclosed tags not supported"); 
  3989. }
  3990. case 107:
  3991. {
  3992.     // <img src="xxx" ...ismap...> the ismap */
  3993.     $this->attributes[trim($this->yytext())] = true;
  3994.     $this->value = '';
  3995.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  3996. }
  3997. case 108:
  3998. {
  3999.     // <a href = ^http://foo/> -- unquoted literal HACK */                          
  4000.     $this->attributes[$this->attrKey] = trim($this->yytext());
  4001.     $this->yybegin(IN_ATTR);
  4002.     //   $this->raiseError("attribute value needs quotes");
  4003.     $this->value = '';
  4004.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4005. }
  4006. case 109:
  4007. {
  4008.     // <a name = ^12pt> -- number token */
  4009.     $this->attributes[$this->attrKey] = trim($this->yytext());
  4010.     $this->yybegin(IN_ATTR);
  4011.     $this->value = '';
  4012.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4013. }
  4014. case 110:
  4015. {
  4016.     //echo "GOT DATA:".$this->yytext();
  4017.     $this->attrVal[] = $this->yytext();
  4018.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4019. }
  4020. case 111:
  4021.     $this->value = $this->createToken('WhiteSpace');
  4022.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4023. }
  4024. case 112:
  4025. {
  4026.     return $this->raiseError("illegal character in markup declaration (0x".dechex(ord($this->yytext())).')');
  4027. }
  4028. case 113:
  4029. {   
  4030.     $this->value = $this->createToken('Number');
  4031.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4032. }
  4033. case 114:
  4034.     $this->value = $this->createToken('Name');
  4035.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4036. }
  4037. case 115:
  4038.     $this->value = $this->createToken('NameT');
  4039.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4040. }
  4041. case 116:
  4042.     $this->value = $this->createToken('NumberT');
  4043.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4044. }
  4045. case 117:
  4046. {
  4047.     // <!doctype ^%foo;> -- parameter entity reference */
  4048.     $this->value = $this->createToken('EntityRef');
  4049.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4050. }
  4051. case 118:
  4052.     $this->value = $this->createToken('Literal');
  4053.     return HTML_TEMPLATE_FLEXY_TOKEN_OK; 
  4054. }
  4055. case 119:
  4056. {
  4057.     // inside a comment (not - or not --
  4058.     // <!^--...-->   -- comment */   
  4059.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4060. }
  4061. case 120:
  4062. {
  4063.     // inside comment -- without a >
  4064.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4065. }
  4066. case 121:
  4067. {
  4068.     $t = $this->yytext();
  4069.     if ($t{strlen($t)-1} == ",") {
  4070.         // add argument
  4071.         $this->flexyArgs[] = substr($t,0,-1);
  4072.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4073.     }
  4074.     $this->flexyArgs[] = $t;
  4075.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4076. }
  4077. case 122:
  4078. {
  4079.     $t = $this->yytext();
  4080.     // add argument
  4081.     $this->flexyArgs[] = $t;
  4082.     $this->yybegin(IN_FLEXYMETHODQUOTED_END);
  4083.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4084. }
  4085. case 123:
  4086. {
  4087.     // general text in script..
  4088.     $this->value = $this->createToken('Text');
  4089.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4090. }
  4091. case 124:
  4092.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  4093.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4094. }
  4095. case 125:
  4096. {
  4097.     // inside a comment (not - or not --
  4098.     // <!^--...-->   -- comment */   
  4099.     $this->value = $this->createToken('DSComment');
  4100.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4101. }
  4102. case 126:
  4103. {     
  4104.     /* anything inside of php tags */
  4105.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4106. }
  4107. case 127:
  4108. {
  4109.     // inside a style comment (not - or not --
  4110.     // <!^--...-->   -- comment */   
  4111.     $this->value = $this->createToken('Comment');
  4112.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4113. }
  4114. case 128:
  4115. {
  4116.     // we allow anything inside of comstyle!!!
  4117.     $this->value = $this->createToken('Comment');
  4118.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4119. }
  4120. case 129:
  4121. {
  4122.     // inside style comment -- without a >
  4123.     $this->value = $this->createToken('Comment');
  4124.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4125. }
  4126. case 131:
  4127. {
  4128.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4129. }
  4130. case 132:
  4131. {
  4132.     //abcd -- data characters  
  4133.     // { and ) added for flexy
  4134.     $this->value = $this->createToken('Text');
  4135.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4136. }
  4137. case 133:
  4138. {
  4139.     $this->attrVal[] = $this->yytext();
  4140.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4141. }
  4142. case 134:
  4143. {
  4144.     $this->value = '';
  4145.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4146. }
  4147. case 135:
  4148. {
  4149.     // <a name = ^12pt> -- number token */
  4150.     $this->attributes[$this->attrKey] = trim($this->yytext());
  4151.     $this->yybegin(IN_ATTR);
  4152.     $this->value = '';
  4153.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4154. }
  4155. case 136:
  4156. {
  4157.     //echo "GOT DATA:".$this->yytext();
  4158.     $this->attrVal[] = $this->yytext();
  4159.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4160. }
  4161. case 137:
  4162. {
  4163.     return $this->raiseError("illegal character in markup declaration (0x".dechex(ord($this->yytext())).')');
  4164. }
  4165. case 138:
  4166.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  4167.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4168. }
  4169. case 139:
  4170. {     
  4171.     /* anything inside of php tags */
  4172.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4173. }
  4174. case 140:
  4175. {
  4176.     // inside a style comment (not - or not --
  4177.     // <!^--...-->   -- comment */   
  4178.     $this->value = $this->createToken('Comment');
  4179.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4180. }
  4181. case 141:
  4182. {
  4183.     // we allow anything inside of comstyle!!!
  4184.     $this->value = $this->createToken('Comment');
  4185.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4186. }
  4187. case 143:
  4188. {
  4189.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4190. }
  4191. case 144:
  4192. {
  4193.     //abcd -- data characters  
  4194.     // { and ) added for flexy
  4195.     $this->value = $this->createToken('Text');
  4196.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4197. }
  4198. case 145:
  4199. {
  4200.     $this->attrVal[] = $this->yytext();
  4201.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4202. }
  4203. case 146:
  4204. {
  4205.     //echo "GOT DATA:".$this->yytext();
  4206.     $this->attrVal[] = $this->yytext();
  4207.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4208. }
  4209. case 147:
  4210. {
  4211.     return $this->raiseError("illegal character in markup declaration (0x".dechex(ord($this->yytext())).')');
  4212. }
  4213. case 148:
  4214.     $this->value = $this->createToken('Cdata',$this->yytext(), $this->yyline);
  4215.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4216. }
  4217. case 150:
  4218. {
  4219.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4220. }
  4221. case 151:
  4222. {
  4223.     return $this->raiseError("illegal character in markup declaration (0x".dechex(ord($this->yytext())).')');
  4224. }
  4225. case 153:
  4226. {
  4227.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4228. }
  4229. case 155:
  4230. {
  4231.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4232. }
  4233. case 157:
  4234. {
  4235.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4236. }
  4237. case 159:
  4238. {
  4239.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4240. }
  4241. case 161:
  4242. {
  4243.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4244. }
  4245. case 163:
  4246. {
  4247.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4248. }
  4249. case 165:
  4250. {
  4251.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4252. }
  4253. case 167:
  4254. {
  4255.     return $this->raiseError("unexpected something: (".$this->yytext() .") character: 0x" . dechex(ord($this->yytext())));
  4256. }
  4257. case 347:
  4258. {
  4259.     //abcd -- data characters  
  4260.     // { and ) added for flexy
  4261.     $this->value = $this->createToken('Text');
  4262.     return HTML_TEMPLATE_FLEXY_TOKEN_OK;
  4263. }
  4264. case 348:
  4265. {
  4266.     // <a name = ^12pt> -- number token */
  4267.     $this->attributes[$this->attrKey] = trim($this->yytext());
  4268.     $this->yybegin(IN_ATTR);
  4269.     $this->value = '';
  4270.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4271. }
  4272. case 349:
  4273. {
  4274.     $t = $this->yytext();
  4275.     // add argument
  4276.     $this->flexyArgs[] = $t;
  4277.     $this->yybegin(IN_FLEXYMETHODQUOTED_END);
  4278.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4279. }
  4280. case 350:
  4281. {
  4282.     $t = $this->yytext();
  4283.     // add argument
  4284.     $this->flexyArgs[] = $t;
  4285.     $this->yybegin(IN_FLEXYMETHODQUOTED_END);
  4286.     return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4287. }
  4288.  
  4289.                         }
  4290.                     }
  4291.                     $yy_initial = true;
  4292.                     $yy_state = $this->yy_state_dtrans[$this->yy_lexical_state];
  4293.                     $yy_next_state = YY_NO_STATE;
  4294.                     $yy_last_accept_state = YY_NO_STATE;
  4295.                     $this->yy_mark_start();
  4296.                     $yy_this_accept = $this->yy_acpt[$yy_state];
  4297.                     if (YY_NOT_ACCEPT != $yy_this_accept) {
  4298.                         $yy_last_accept_state = $yy_state;
  4299.                         $this->yy_buffer_end = $this->yy_buffer_index;
  4300.                     }
  4301.                 }
  4302.             }
  4303.         }
  4304.         return HTML_TEMPLATE_FLEXY_TOKEN_NONE;
  4305.     }
  4306. }
  4307.