1 /*
2  * Do not edit this file!
3  * This file is generated from:
4  *    UnicodeData.txt (version 6.3.0)
5  */
6 
7 #include <stddef.h>
8 #include <idn/utf32.h>
9 #include <idn/auto/bidiclass.h>
10 
11 /*
12  * Bidi class tables.
13  */
14 #define BIDICLASS_BITS_0	9
15 #define BIDICLASS_BITS_1	7
16 #define BIDICLASS_BITS_2	5
17 
18 static const unsigned short bidiclass_imap[] = {
19 	  272,   400,   528,   656,   784,   912,   912,   912,
20 	  912,   912,  1040,   912,   912,   912,   912,  1168,
21 	 1296,  1424,   912,   912,   912,   912,  1552,   912,
22 	  912,   912,   912,   912,   912,  1680,  1808,  1936,
23 	  912,   912,   912,   912,   912,   912,   912,   912,
24 	  912,   912,   912,   912,   912,   912,   912,   912,
25 	  912,   912,   912,   912,   912,   912,   912,   912,
26 	  912,   912,   912,   912,   912,   912,   912,   912,
27 	  912,   912,   912,   912,   912,   912,   912,   912,
28 	  912,   912,   912,   912,   912,   912,   912,   912,
29 	  912,   912,   912,   912,   912,   912,   912,   912,
30 	  912,   912,   912,   912,   912,   912,   912,   912,
31 	  912,   912,   912,   912,   912,   912,   912,   912,
32 	  912,   912,   912,   912,   912,   912,   912,   912,
33 	  912,   912,   912,   912,   912,   912,   912,   912,
34 	  912,   912,   912,   912,   912,   912,   912,   912,
35 	  912,   912,   912,   912,   912,   912,   912,   912,
36 	  912,   912,   912,   912,   912,   912,   912,   912,
37 	  912,   912,   912,   912,   912,   912,   912,   912,
38 	  912,   912,   912,   912,   912,   912,   912,   912,
39 	  912,   912,   912,   912,   912,   912,   912,   912,
40 	  912,   912,   912,   912,   912,   912,   912,   912,
41 	  912,   912,   912,   912,   912,   912,   912,   912,
42 	  912,   912,   912,   912,   912,   912,   912,   912,
43 	  912,   912,   912,   912,   912,   912,   912,   912,
44 	  912,   912,   912,   912,   912,   912,   912,   912,
45 	  912,   912,   912,   912,   912,   912,   912,   912,
46 	  912,   912,   912,   912,   912,   912,   912,   912,
47 	 2064,   912,   912,   912,   912,   912,   912,   912,
48 	  912,   912,   912,   912,   912,   912,   912,   912,
49 	  912,   912,   912,   912,   912,   912,   912,   912,
50 	  912,   912,   912,   912,   912,   912,   912,   912,
51 	  912,   912,   912,   912,   912,   912,   912,   912,
52 	  912,   912,   912,   912,   912,   912,   912,   912,
53 	    0,     1,     2,     3,     4,     5,     6,     6,
54 	    7,     7,     7,     7,     7,     7,     7,     7,
55 	    7,     7,     7,     7,     7,     8,     9,    10,
56 	   11,    11,    11,    12,    13,     7,     7,    14,
57 	    7,     7,     7,     7,    15,     7,     7,     7,
58 	    7,     7,     7,     7,    16,    17,    18,    19,
59 	   20,    21,    22,    23,    21,    21,    24,    25,
60 	   26,    27,    28,    21,    21,    29,    30,    31,
61 	   32,    33,    34,     7,     7,    35,     7,    36,
62 	   37,    38,    39,    40,    41,    42,    43,    44,
63 	   45,    42,    46,    47,    45,    42,    48,    49,
64 	   41,    50,    51,    40,    52,     7,    53,    54,
65 	    7,    55,    56,    57,     7,    42,    58,    40,
66 	    7,     7,    43,    40,     7,     7,    59,     7,
67 	    7,    60,    61,     7,     7,    62,    63,     7,
68 	   64,    65,     7,    66,    67,    68,    69,     7,
69 	    7,    70,    71,    72,    73,     7,     7,     7,
70 	    7,     7,     7,     7,     7,     7,     7,     7,
71 	    7,     7,     7,     7,     7,     7,     7,     7,
72 	    7,     7,    74,     7,    75,     7,     7,     7,
73 	   76,     7,     7,     7,     7,     7,     7,     7,
74 	    7,     7,     7,     7,     7,     7,     7,     7,
75 	    7,     7,     7,     7,    77,     7,     7,     7,
76 	   78,    78,    79,    79,     7,    80,    81,    75,
77 	   82,     7,     7,     7,     7,    83,     7,     7,
78 	    7,    84,    85,     7,     7,     7,    86,    87,
79 	   88,     7,    89,    90,     7,     7,     7,     7,
80 	   91,    92,    52,    93,    94,    95,     7,    96,
81 	    7,    97,     7,     7,     7,     7,    98,    99,
82 	    7,     7,     7,     7,     7,     7,    11,   100,
83 	    7,     7,     7,     7,     7,     7,     7,     7,
84 	    7,     7,     7,     7,     7,   101,   102,   103,
85 	  104,   105,   106,   107,   108,   109,   110,   111,
86 	  112,   113,   114,     7,   115,    87,    87,    87,
87 	  116,    87,    87,    87,    87,    87,    87,    87,
88 	   87,   117,     7,   118,   119,    87,    87,   120,
89 	   87,   121,   122,    87,   123,     7,     7,   124,
90 	   87,    87,    87,    87,    87,    87,    87,    87,
91 	   87,    87,    87,    87,    87,   125,    87,    87,
92 	  126,    87,    87,    87,    87,    87,    87,    87,
93 	    7,     7,     7,     7,     7,     7,     7,     7,
94 	   87,    87,    87,    87,    87,    87,    87,    87,
95 	   87,    87,    87,    87,    87,    87,    87,    87,
96 	   87,    87,   127,     7,     7,     7,     7,     7,
97 	    7,     7,     7,     7,     7,     7,     7,   128,
98 	    7,     7,     7,   129,     7,     7,     7,    11,
99 	   87,   130,     7,     7,   131,    87,    87,   120,
100 	   87,    87,    87,    87,    87,    87,   117,   132,
101 	  133,   134,     7,     7,   135,    76,     7,   136,
102 	    7,     7,     7,     7,     7,     7,    87,   137,
103 	  138,     7,   139,   140,     7,   141,   142,     7,
104 	    7,     7,     7,   143,     7,     7,    86,   144,
105 	    7,     7,     7,     7,     7,     7,     7,     7,
106 	    7,     7,     7,     7,     7,     7,     7,     7,
107 	    7,     7,     7,     7,     7,     7,     7,     7,
108 	    7,     7,     7,     7,     7,     7,     7,     7,
109 	    7,     7,     7,     7,     7,     7,     7,     7,
110 	    7,     7,     7,     7,     7,     7,     7,     7,
111 	    7,     7,     7,     7,     7,     7,     7,     7,
112 	    7,     7,     7,     7,     7,     7,     7,     7,
113 	    7,     7,     7,     7,     7,     7,     7,     7,
114 	    7,     7,     7,     7,     7,     7,     7,     7,
115 	    7,     7,     7,     7,     7,     7,     7,     7,
116 	    7,     7,     7,     7,     7,     7,     7,     7,
117 	    7,     7,     7,     7,     7,     7,     7,     7,
118 	    7,     7,     7,     7,     7,     7,     7,     7,
119 	    7,     7,     7,     7,     7,     7,     7,     7,
120 	    7,     7,     7,     7,     7,     7,     7,     7,
121 	    7,     7,     7,     7,     7,     7,     7,     7,
122 	    7,     7,     7,     7,     7,     7,     7,     7,
123 	    7,     7,     7,     7,     7,     7,     7,     7,
124 	    7,     7,     7,     7,     7,     7,     7,     7,
125 	    7,     7,     7,     7,     7,     7,     7,     7,
126 	    7,     7,     7,     7,     7,     7,     7,     7,
127 	    7,     7,     7,     7,     7,     7,     7,     7,
128 	    7,     7,     7,     7,     7,     7,     7,     7,
129 	    7,     7,     7,     7,     7,     7,     7,     7,
130 	    7,     7,     7,     7,     7,     7,    87,    87,
131 	    7,     7,     7,     7,     7,     7,     7,     7,
132 	    7,     7,     7,     7,     7,     7,     7,     7,
133 	    7,     7,     7,     7,     7,     7,     7,     7,
134 	    7,     7,     7,     7,     7,     7,     7,     7,
135 	    7,     7,     7,     7,     7,     7,     7,     7,
136 	    7,     7,     7,     7,     7,     7,     7,     7,
137 	    7,     7,     7,     7,     7,     7,     7,     7,
138 	    7,     7,     7,     7,     7,     7,     7,     7,
139 	    7,     7,     7,     7,     7,     7,     7,     7,
140 	    7,     7,     7,     7,     7,     7,     7,     7,
141 	    7,     7,     7,     7,     7,     7,     7,     7,
142 	    7,     7,     7,     7,     7,     7,     7,     7,
143 	    7,     7,     7,     7,     7,     7,     7,     7,
144 	    7,     7,     7,     7,     7,     7,     7,     7,
145 	    7,     7,     7,     7,     7,     7,     7,     7,
146 	    7,     7,     7,     7,     7,     7,     7,     7,
147 	    7,     7,     7,     7,     7,     7,     7,     7,
148 	    7,     7,     7,     7,     7,     7,     7,     7,
149 	    7,     7,     7,     7,     7,     7,     7,     7,
150 	    7,     7,     7,     7,     7,     7,     7,     7,
151 	    7,     7,     7,     7,     7,     7,     7,     7,
152 	    7,     7,     7,     7,     7,     7,     7,     7,
153 	    7,     7,     7,     7,   139,    87,   121,     7,
154 	    7,     7,     7,     7,     7,     7,     7,     7,
155 	  145,     7,     7,   146,   129,     7,     7,   147,
156 	   87,   148,     7,     7,   149,     7,     7,     7,
157 	  150,   151,     7,   152,     7,     7,   153,   154,
158 	    7,   155,   156,     7,    37,   157,     7,     7,
159 	    7,   158,   159,     7,     7,   160,    41,   161,
160 	    7,     7,     7,     7,     7,     7,     7,   162,
161 	    7,     7,     7,     7,     7,     7,     7,     7,
162 	    7,     7,     7,     7,     7,     7,     7,     7,
163 	    7,     7,     7,     7,     7,     7,     7,     7,
164 	    7,     7,     7,     7,     7,     7,     7,     7,
165 	    7,     7,     7,     7,     7,     7,     7,     7,
166 	    7,     7,     7,     7,     7,     7,     7,     7,
167 	    7,     7,     7,     7,     7,     7,     7,     7,
168 	    7,     7,     7,     7,     7,     7,     7,     7,
169 	    7,     7,     7,     7,     7,     7,     7,     7,
170 	    7,     7,     7,     7,     7,     7,     7,     7,
171 	    7,     7,     7,     7,     7,     7,     7,     7,
172 	    7,     7,     7,     7,     7,     7,     7,     7,
173 	    7,     7,     7,     7,     7,     7,     7,     7,
174 	    7,     7,     7,     7,     7,     7,     7,     7,
175 	    7,     7,     7,     7,     7,     7,     7,     7,
176 	  163,   164,   165,    21,    21,    21,   166,    21,
177 	   21,    21,    21,    21,    21,    21,    21,    21,
178 	   21,   167,   168,    21,   169,    21,   170,   171,
179 	  172,   173,   174,   175,    21,    21,    21,   176,
180 	  177,     2,     2,   178,     7,     7,     7,   179,
181 	    7,     7,     7,     7,     7,     7,     7,     7,
182 	  180,     7,    87,    87,   181,     7,     7,   182,
183 	    7,     7,     7,     7,     7,     7,     7,     7,
184 	    7,     7,     7,     7,     7,     7,     7,     7,
185 	    7,     7,     7,     7,     7,     7,     7,     7,
186 	    7,     7,     7,     7,     7,     7,     7,     7,
187 	    7,     7,     7,     7,     7,     7,     7,     7,
188 	    7,     7,     7,     7,     7,     7,     7,     7,
189 	  183,   184,   185,     7,     7,     7,     7,     7,
190 	  186,   187,     7,     7,    30,   188,     7,     7,
191 	  189,   190,   191,    30,     7,     7,     7,     7,
192 	   30,   192,   193,   194,     7,     7,     7,     7,
193 	   30,    30,   195,     7,     7,     7,     7,     7,
194 	    7,     7,     7,     7,     7,     7,     7,     7,
195 	    7,     7,     7,   196,     7,     7,     7,     7,
196 	    7,     7,     7,     7,     7,     7,     7,     7,
197 	   41,   197,   198,   178,    94,   199,     7,     7,
198 	   37,   200,     7,     7,    94,   201,     7,     7,
199 	    7,     7,     7,     7,     7,     7,     7,     7,
200 	    7,     7,     7,     7,     7,     7,     7,     7,
201 	    7,     7,     7,     7,     7,     7,     7,     7,
202 	    7,     7,     7,     7,     7,     7,     7,     7,
203 	    7,     7,     7,     7,     7,   202,     7,     7,
204 	    7,     7,     7,     7,     7,     7,     7,     7,
205 	    7,     7,     7,     7,     7,     7,     7,     7,
206 	    7,     7,     7,     7,     7,     7,     7,     7,
207 	    7,     7,     7,     7,     7,     7,     7,     7,
208 	    7,     7,     7,     7,     7,     7,     7,     7,
209 	    7,     7,     7,     7,     7,     7,     7,     7,
210 	    7,     7,     7,     7,     7,     7,     7,     7,
211 	    7,     7,     7,     7,     7,     7,     7,     7,
212 	    7,     7,     7,     7,     7,     7,     7,     7,
213 	    7,     7,     7,     7,     7,     7,     7,     7,
214 	    7,     7,     7,     7,     7,     7,     7,     7,
215 	    7,     7,     7,     7,     7,     7,     7,     7,
216 	    7,     7,     7,     7,     7,     7,     7,     7,
217 	    7,     7,     7,     7,     7,     7,     7,     7,
218 	    7,     7,     7,     7,     7,     7,     7,     7,
219 	    7,     7,     7,     7,     7,     7,     7,     7,
220 	    7,     7,     7,     7,     7,     7,     7,     7,
221 	    7,     7,     7,     7,     7,     7,     7,     7,
222 	    7,     7,     7,     7,     7,     7,     7,     7,
223 	    7,     7,     7,     7,     7,     7,     7,     7,
224 	    7,     7,     7,     7,     7,     7,     7,     7,
225 	    7,     7,     7,     7,     7,     7,     7,     7,
226 	    7,     7,     7,     7,     7,     7,     7,     7,
227 	    7,     7,     7,     7,     7,     7,     7,     7,
228 	    7,     7,     7,     7,   203,     7,     7,     7,
229 	    7,     7,     7,     7,     7,     7,     7,     7,
230 	    7,     7,     7,   204,   205,   206,     7,     7,
231 	   87,    87,   207,     7,     7,     7,     7,     7,
232 	   87,    87,   208,     7,     7,     7,     7,     7,
233 	    7,     7,     7,     7,     7,     7,     7,     7,
234 	    7,     7,     7,     7,     7,     7,     7,     7,
235 	    7,     7,     7,     7,     7,     7,   136,     7,
236 	  209,     7,   210,     7,   211,     7,   212,   213,
237 	    7,     7,     7,     7,     7,     7,     7,     7,
238 	    7,     7,     7,     7,     7,     7,     7,     7,
239 	    7,     7,     7,     7,     7,     7,     7,     7,
240 	    7,     7,     7,     7,     7,     7,     7,     7,
241 	    7,     7,     7,     7,     7,     7,     7,     7,
242 	    7,     7,     7,     7,     7,     7,     7,     7,
243 	    7,     7,     7,     7,     7,     7,     7,     7,
244 	    7,     7,     7,     7,     7,     7,     7,     7,
245 	    7,     7,     7,     7,     7,     7,     7,     7,
246 	    7,     7,     7,     7,     7,     7,     7,     7,
247 	    7,     7,     7,     7,     7,     7,     7,     7,
248 	    7,     7,     7,     7,     7,     7,     7,     7,
249 	    7,     7,     7,     7,     7,     7,     7,     7,
250 	    7,     7,     7,     7,     7,     7,     7,     7,
251 	    7,     7,     7,     7,     7,     7,     7,     7,
252 	    7,     7,     7,     7,     7,     7,     7,     7,
253 	    7,     7,     7,     7,     7,     7,     7,     7,
254 	    7,     7,     7,     7,     7,     7,     7,     7,
255 	    7,     7,     7,     7,     7,     7,     7,     7,
256 	    7,     7,     7,     7,     7,     7,     7,     7,
257 	    7,     7,     7,     7,     7,     7,     7,     7,
258 	    7,     7,     7,     7,     7,     7,     7,     7,
259 	  214,   215,   216,   217,   218,   219,     7,   220,
260 	    7,     7,     7,     7,     7,     7,     7,     7,
261 	   87,   221,    87,    87,   120,   222,   223,     7,
262 	  224,     7,     7,   225,     7,     7,     7,     7,
263 	    7,     7,     7,     7,     7,     7,     7,     7,
264 	   87,   226,    87,   227,   120,    87,   228,   229,
265 	   87,   230,   231,    87,    87,    87,    87,   232,
266 	   87,   233,   234,   235,     7,     7,     7,   118,
267 	   87,    87,   236,     7,    87,    87,   178,     7,
268 	   87,    87,    87,   120,     7,     7,     7,     7,
269 	    7,     7,     7,     7,     7,     7,     7,     7,
270 	    7,     7,     7,     7,     7,     7,     7,     7,
271 	    7,     7,     7,     7,     7,     7,     7,     7,
272 	    7,     7,     7,     7,     7,     7,     7,     7,
273 	    7,     7,     7,     7,     7,     7,     7,     7,
274 	    7,     7,     7,     7,     7,     7,     7,     7,
275 	    7,     7,     7,     7,     7,     7,     7,     7,
276 	    7,     7,     7,     7,     7,     7,     7,     7,
277 	  237,   238,   238,   238,     7,     7,     7,     7,
278 	   11,    11,    11,    11,    11,    11,    11,   239,
279 	    7,     7,     7,     7,     7,     7,     7,     7,
280 	    7,     7,     7,     7,     7,     7,     7,     7,
281 	    7,     7,     7,     7,     7,     7,     7,     7,
282 	    7,     7,     7,     7,     7,     7,     7,     7,
283 	    7,     7,     7,     7,     7,     7,     7,     7,
284 	    7,     7,     7,     7,     7,     7,     7,     7,
285 	    7,     7,     7,     7,     7,     7,     7,     7,
286 	    7,     7,     7,     7,     7,     7,     7,     7,
287 	    7,     7,     7,     7,     7,     7,     7,     7,
288 	    7,     7,     7,     7,     7,     7,     7,     7,
289 	    7,     7,     7,     7,     7,     7,     7,     7,
290 	    7,     7,     7,     7,     7,     7,     7,     7,
291 	    7,     7,     7,     7,     7,     7,     7,     7,
292 	    7,     7,     7,     7,     7,     7,     7,     7,
293 };
294 
295 static const struct {
296 	unsigned char tbl[32];
297 } bidiclass_table[] = {
298 	{{
299 	14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 16, 17, 15, 14, 14, 14,
300 	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16,
301 	}},
302 	{{
303 	17, 18, 18, 10, 10, 10, 18, 18, 18, 18, 18,  9, 12,  9, 12, 12,  8,
304 	 8,  8,  8,  8,  8,  8,  8,  8,  8, 12, 18, 18, 18, 18, 18,
305 	}},
306 	{{
307 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
308 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18,
309 	}},
310 	{{
311 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
312 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 14,
313 	}},
314 	{{
315 	14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
316 	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
317 	}},
318 	{{
319 	12, 18, 10, 10, 10, 10, 18, 18, 18, 18,  0, 18, 18, 14, 18, 18, 10,
320 	10,  8,  8, 18,  0, 18, 18, 18,  8,  0, 18, 18, 18, 18, 18,
321 	}},
322 	{{
323 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
324 	 0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,
325 	}},
326 	{{
327 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
328 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
329 	}},
330 	{{
331 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
332 	 0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,  0,  0,  0,  0,
333 	}},
334 	{{
335 	 0,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,
336 	 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
337 	}},
338 	{{
339 	 0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0, 18, 18,
340 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
341 	}},
342 	{{
343 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
344 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
345 	}},
346 	{{
347 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,
348 	 0,  0,  0, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,
349 	}},
350 	{{
351 	 0,  0,  0,  0, 18, 18,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,
352 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
353 	}},
354 	{{
355 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
356 	 0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,
357 	}},
358 	{{
359 	 0,  0,  0, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,
360 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
361 	}},
362 	{{
363 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0, 10,  0,
364 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
365 	}},
366 	{{
367 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
368 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  3, 13,
369 	}},
370 	{{
371 	 3, 13, 13,  3, 13, 13,  3, 13,  0,  0,  0,  0,  0,  0,  0,  0,  3,
372 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
373 	}},
374 	{{
375 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  3,
376 	 3,  3,  3,  3,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
377 	}},
378 	{{
379 	11, 11, 11, 11, 11,  0, 18, 18,  4, 10, 10,  4, 12,  4, 18, 18, 13,
380 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  4,  4,  0,  4,  4,
381 	}},
382 	{{
383 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
384 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
385 	}},
386 	{{
387 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 13, 13, 13, 13, 13, 13,
388 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
389 	}},
390 	{{
391 	11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 11, 11,  4,  4,  4, 13,
392 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
393 	}},
394 	{{
395 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
396 	 4,  4,  4,  4,  4, 13, 13, 13, 13, 13, 13, 13, 11, 18, 13,
397 	}},
398 	{{
399 	13, 13, 13, 13, 13,  4,  4, 13, 13, 18, 13, 13, 13, 13,  4,  4,  8,
400 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  4,  4,  4,  4,  4,  4,
401 	}},
402 	{{
403 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  4,  4,
404 	13,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
405 	}},
406 	{{
407 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 13,
408 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
409 	}},
410 	{{
411 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,  4,  4,  4,  4,
412 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
413 	}},
414 	{{
415 	 4,  4,  4,  4,  4,  4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
416 	 4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
417 	}},
418 	{{
419 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
420 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
421 	}},
422 	{{
423 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3, 13, 13, 13, 13, 13, 13,
424 	13, 13, 13,  3,  3, 18, 18, 18, 18,  3,  0,  0,  0,  0,  0,
425 	}},
426 	{{
427 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
428 	 3,  3,  3,  3,  3, 13, 13, 13, 13,  3, 13, 13, 13, 13, 13,
429 	}},
430 	{{
431 	13, 13, 13, 13,  3, 13, 13, 13,  3, 13, 13, 13, 13, 13,  0,  0,  3,
432 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  0,
433 	}},
434 	{{
435 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
436 	 3,  3,  3,  3,  3,  3,  3,  3, 13, 13, 13,  0,  0,  3,  0,
437 	}},
438 	{{
439 	 4,  0,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  0,  0,  0,
440 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
441 	}},
442 	{{
443 	 0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
444 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,
445 	}},
446 	{{
447 	13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
448 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
449 	}},
450 	{{
451 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
452 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0, 13,  0,  0,  0,
453 	}},
454 	{{
455 	 0, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0, 13,  0,  0,  0,
456 	13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,
457 	}},
458 	{{
459 	 0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
460 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
461 	}},
462 	{{
463 	 0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
464 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
465 	}},
466 	{{
467 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
468 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,
469 	}},
470 	{{
471 	 0, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,
472 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
473 	}},
474 	{{
475 	 0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
476 	 0, 10, 10,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,
477 	}},
478 	{{
479 	 0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
480 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
481 	}},
482 	{{
483 	 0, 13, 13,  0,  0,  0,  0, 13, 13,  0,  0, 13, 13, 13,  0,  0,  0,
484 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
485 	}},
486 	{{
487 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
488 	13,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
489 	}},
490 	{{
491 	 0, 13, 13, 13, 13, 13,  0, 13, 13,  0,  0,  0,  0, 13,  0,  0,  0,
492 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
493 	}},
494 	{{
495 	 0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
496 	10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
497 	}},
498 	{{
499 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
500 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0, 13,
501 	}},
502 	{{
503 	 0, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,
504 	 0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,
505 	}},
506 	{{
507 	 0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
508 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
509 	}},
510 	{{
511 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,
512 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
513 	}},
514 	{{
515 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
516 	 0,  0, 18, 18, 18, 18, 18, 18, 10, 18,  0,  0,  0,  0,  0,
517 	}},
518 	{{
519 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
520 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,
521 	}},
522 	{{
523 	13,  0,  0,  0,  0,  0, 13, 13, 13,  0, 13, 13, 13, 13,  0,  0,  0,
524 	 0,  0,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,
525 	}},
526 	{{
527 	 0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
528 	 0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18,  0,
529 	}},
530 	{{
531 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,
532 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
533 	}},
534 	{{
535 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,
536 	 0, 13, 13, 13,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,
537 	}},
538 	{{
539 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
540 	13,  0,  0, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0, 10,
541 	}},
542 	{{
543 	 0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,
544 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
545 	}},
546 	{{
547 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
548 	13,  0,  0, 13, 13, 13, 13, 13, 13,  0, 13, 13,  0,  0,  0,
549 	}},
550 	{{
551 	 0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13,  0,  0,  0,
552 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
553 	}},
554 	{{
555 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
556 	 0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,
557 	}},
558 	{{
559 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
560 	 0,  0,  0,  0, 13,  0, 13,  0, 13, 18, 18, 18, 18,  0,  0,
561 	}},
562 	{{
563 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
564 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,
565 	}},
566 	{{
567 	13, 13, 13, 13, 13,  0, 13, 13,  0,  0,  0,  0,  0, 13, 13, 13, 13,
568 	13, 13, 13, 13, 13, 13, 13,  0, 13, 13, 13, 13, 13, 13, 13,
569 	}},
570 	{{
571 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
572 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,
573 	}},
574 	{{
575 	 0,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
576 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
577 	}},
578 	{{
579 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13,
580 	 0, 13, 13, 13, 13, 13, 13,  0, 13, 13,  0,  0, 13, 13,  0,
581 	}},
582 	{{
583 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
584 	 0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,  0, 13, 13,
585 	}},
586 	{{
587 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
588 	13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
589 	}},
590 	{{
591 	 0,  0, 13,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,
592 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,
593 	}},
594 	{{
595 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
596 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13,
597 	}},
598 	{{
599 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
600 	18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,
601 	}},
602 	{{
603 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
604 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
605 	}},
606 	{{
607 	17,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
608 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,  0,  0,
609 	}},
610 	{{
611 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
612 	 0, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
613 	}},
614 	{{
615 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
616 	 0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
617 	}},
618 	{{
619 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
620 	 0,  0,  0, 13, 13,  0, 13, 13, 13, 13, 13, 13, 13,  0,  0,
621 	}},
622 	{{
623 	 0,  0,  0,  0,  0,  0, 13,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13,
624 	13, 13, 13,  0,  0,  0,  0,  0,  0,  0, 10,  0, 13,  0,  0,
625 	}},
626 	{{
627 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 13, 13, 13, 14,  0,  0,
628 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
629 	}},
630 	{{
631 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,
632 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
633 	}},
634 	{{
635 	13, 13, 13,  0,  0,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,
636 	 0, 13,  0,  0,  0,  0,  0,  0, 13, 13, 13,  0,  0,  0,  0,
637 	}},
638 	{{
639 	18,  0,  0,  0, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
640 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
641 	}},
642 	{{
643 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
644 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,
645 	}},
646 	{{
647 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
648 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
649 	}},
650 	{{
651 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
652 	 0,  0,  0,  0,  0,  0, 13, 13,  0,  0, 13,  0,  0,  0,  0,
653 	}},
654 	{{
655 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
656 	 0,  0,  0,  0,  0, 13,  0, 13, 13, 13, 13, 13, 13, 13,  0,
657 	}},
658 	{{
659 	13,  0, 13,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,
660 	 0,  0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0, 13,
661 	}},
662 	{{
663 	13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
664 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
665 	}},
666 	{{
667 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
668 	 0,  0,  0, 13,  0, 13, 13, 13, 13, 13,  0, 13,  0,  0,  0,
669 	}},
670 	{{
671 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13,
672 	13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
673 	}},
674 	{{
675 	13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
676 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
677 	}},
678 	{{
679 	 0,  0, 13, 13, 13, 13,  0,  0, 13, 13,  0, 13,  0,  0,  0,  0,  0,
680 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
681 	}},
682 	{{
683 	 0,  0,  0,  0,  0,  0, 13,  0, 13, 13,  0,  0,  0, 13,  0, 13, 13,
684 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
685 	}},
686 	{{
687 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13,
688 	13, 13, 13,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,
689 	}},
690 	{{
691 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
692 	13, 13,  0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
693 	}},
694 	{{
695 	13,  0, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0, 13,  0,  0,  0,
696 	 0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
697 	}},
698 	{{
699 	13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
700 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13,
701 	}},
702 	{{
703 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
704 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0, 18,
705 	}},
706 	{{
707 	18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18,  0,
708 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18,
709 	}},
710 	{{
711 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18,  0,
712 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,
713 	}},
714 	{{
715 	17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 14, 14, 14,  0,  3, 18,
716 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
717 	}},
718 	{{
719 	18, 18, 18, 18, 18, 18, 18, 18, 17, 15,  1,  5,  7,  2,  6, 12, 10,
720 	10, 10, 10, 10, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
721 	}},
722 	{{
723 	18, 18, 18, 18, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
724 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17,
725 	}},
726 	{{
727 	14, 14, 14, 14, 14,  0, 19, 20, 21, 22, 14, 14, 14, 14, 14, 14,  8,
728 	 0,  0,  0,  8,  8,  8,  8,  8,  8,  9,  9, 18, 18, 18,  0,
729 	}},
730 	{{
731 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,  9, 18, 18, 18,  0,  0,
732 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
733 	}},
734 	{{
735 	10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
736 	10, 10, 10, 10, 10, 10, 10, 10, 10, 10,  0,  0,  0,  0,  0,
737 	}},
738 	{{
739 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
740 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
741 	}},
742 	{{
743 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
744 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
745 	}},
746 	{{
747 	18, 18,  0, 18, 18, 18, 18,  0, 18, 18,  0,  0,  0,  0,  0,  0,  0,
748 	 0,  0,  0, 18,  0, 18, 18, 18,  0,  0,  0,  0,  0, 18, 18,
749 	}},
750 	{{
751 	18, 18, 18, 18,  0, 18,  0, 18,  0, 18,  0,  0,  0,  0, 10,  0,  0,
752 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,  0,  0,  0,
753 	}},
754 	{{
755 	18, 18, 18, 18, 18,  0,  0,  0,  0,  0, 18, 18, 18, 18,  0,  0, 18,
756 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
757 	}},
758 	{{
759 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0, 18,
760 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
761 	}},
762 	{{
763 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
764 	18,  9, 10, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
765 	}},
766 	{{
767 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
768 	18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
769 	}},
770 	{{
771 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
772 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18,
773 	}},
774 	{{
775 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
776 	18, 18, 18, 18,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
777 	}},
778 	{{
779 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
780 	18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
781 	}},
782 	{{
783 	18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
784 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
785 	}},
786 	{{
787 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,
788 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
789 	}},
790 	{{
791 	18, 18, 18, 18, 18, 18, 18, 18,  8,  8,  8,  8,  8,  8,  8,  8,  8,
792 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  0,  0,  0,  0,
793 	}},
794 	{{
795 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18,
796 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
797 	}},
798 	{{
799 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0, 18, 18, 18, 18,
800 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
801 	}},
802 	{{
803 	 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
804 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
805 	}},
806 	{{
807 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0, 18,
808 	18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,
809 	}},
810 	{{
811 	 0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0, 13, 13,
812 	13,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18,
813 	}},
814 	{{
815 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
816 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
817 	}},
818 	{{
819 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
820 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,
821 	}},
822 	{{
823 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
824 	18, 18, 18, 18, 18, 18, 18, 18, 18,  0, 18, 18, 18, 18, 18,
825 	}},
826 	{{
827 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
828 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,
829 	}},
830 	{{
831 	17, 18, 18, 18, 18,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18,
832 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
833 	}},
834 	{{
835 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13,  0,  0, 18,
836 	 0,  0,  0,  0,  0, 18, 18,  0,  0,  0,  0,  0, 18, 18, 18,
837 	}},
838 	{{
839 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
840 	 0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 18, 18,  0,  0,  0,
841 	}},
842 	{{
843 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
844 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,
845 	}},
846 	{{
847 	18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
848 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
849 	}},
850 	{{
851 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
852 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,
853 	}},
854 	{{
855 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
856 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
857 	}},
858 	{{
859 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
860 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18,  0,
861 	}},
862 	{{
863 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
864 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
865 	}},
866 	{{
867 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18,  0,
868 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
869 	}},
870 	{{
871 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
872 	 0,  0,  0,  0,  0,  0, 18, 18, 18, 18,  0,  0,  0,  0,  0,
873 	}},
874 	{{
875 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
876 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
877 	}},
878 	{{
879 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18,  0,
880 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
881 	}},
882 	{{
883 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,
884 	13, 13, 18, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 18, 18,
885 	}},
886 	{{
887 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
888 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
889 	}},
890 	{{
891 	18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
892 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
893 	}},
894 	{{
895 	 0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,
896 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
897 	}},
898 	{{
899 	 0,  0, 13,  0,  0,  0, 13,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,
900 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
901 	}},
902 	{{
903 	 0,  0,  0,  0,  0, 13, 13,  0, 18, 18, 18, 18,  0,  0,  0,  0,  0,
904 	 0,  0,  0,  0,  0,  0,  0, 10, 10,  0,  0,  0,  0,  0,  0,
905 	}},
906 	{{
907 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
908 	 0,  0,  0, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,
909 	}},
910 	{{
911 	 0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
912 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
913 	}},
914 	{{
915 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
916 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
917 	}},
918 	{{
919 	 0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,
920 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
921 	}},
922 	{{
923 	 0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
924 	13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
925 	}},
926 	{{
927 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
928 	 0,  0, 13,  0,  0, 13, 13, 13, 13,  0,  0, 13,  0,  0,  0,
929 	}},
930 	{{
931 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13,  0,  0,
932 	13, 13,  0,  0, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,
933 	}},
934 	{{
935 	 0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,  0,  0,
936 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
937 	}},
938 	{{
939 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,
940 	 0, 13, 13, 13,  0,  0, 13, 13,  0,  0,  0,  0,  0, 13, 13,
941 	}},
942 	{{
943 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,  0,  0,  0,
944 	 0,  0,  0,  0,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,
945 	}},
946 	{{
947 	 0,  0,  0,  0,  0, 13,  0,  0, 13,  0,  0,  0,  0, 13,  0,  0,  0,
948 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
949 	}},
950 	{{
951 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
952 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  3, 13,  3,
953 	}},
954 	{{
955 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  9,  3,  3,  3,  3,  3,  3,  3,
956 	 3,  3,  3,  3,  3,  3,  0,  3,  3,  3,  3,  3,  0,  3,  0,
957 	}},
958 	{{
959 	 3,  3,  0,  3,  3,  0,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  4,
960 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
961 	}},
962 	{{
963 	 4,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
964 	 0,  0,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
965 	}},
966 	{{
967 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
968 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18, 18,
969 	}},
970 	{{
971 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,
972 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
973 	}},
974 	{{
975 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,
976 	 0,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
977 	}},
978 	{{
979 	 4,  4,  4,  4,  4,  4,  4,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,
980 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
981 	}},
982 	{{
983 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,
984 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4, 18,  0,  0,
985 	}},
986 	{{
987 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 18,
988 	18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,
989 	}},
990 	{{
991 	13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
992 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
993 	}},
994 	{{
995 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 12,
996 	18, 12,  0, 18, 12, 18, 18, 18, 18, 18, 18, 18, 18, 18, 10,
997 	}},
998 	{{
999 	18, 18,  9,  9, 18, 18, 18,  0, 18, 10, 10, 18,  0,  0,  0,  0,  4,
1000 	 4,  4,  4,  4,  0,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
1001 	}},
1002 	{{
1003 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
1004 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  0, 14,
1005 	}},
1006 	{{
1007 	 0, 18, 18, 10, 10, 10, 18, 18, 18, 18, 18,  9, 12,  9, 12, 12,  8,
1008 	 8,  8,  8,  8,  8,  8,  8,  8,  8, 12, 18, 18, 18, 18, 18,
1009 	}},
1010 	{{
1011 	18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1012 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1013 	}},
1014 	{{
1015 	10, 10, 18, 18, 18, 10, 10,  0, 18, 18, 18, 18, 18, 18, 18,  0,  0,
1016 	 0,  0,  0,  0,  0,  0,  0,  0, 18, 18, 18, 18, 18,  0,  0,
1017 	}},
1018 	{{
1019 	 0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1020 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1021 	}},
1022 	{{
1023 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0, 18,
1024 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,
1025 	}},
1026 	{{
1027 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1028 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0,  0,
1029 	}},
1030 	{{
1031 	 3,  3,  3,  3,  3,  3,  0,  0,  3,  0,  3,  3,  3,  3,  3,  3,  3,
1032 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1033 	}},
1034 	{{
1035 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1036 	 3,  3,  3,  3,  3,  0,  3,  3,  0,  0,  0,  3,  0,  0,  3,
1037 	}},
1038 	{{
1039 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1040 	 3,  3,  3,  3,  3,  0,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1041 	}},
1042 	{{
1043 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1044 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0, 18,
1045 	}},
1046 	{{
1047 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1048 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  3,
1049 	}},
1050 	{{
1051 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1052 	 3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  0,  3,  3,
1053 	}},
1054 	{{
1055 	 3, 13, 13, 13,  0, 13, 13,  0,  0,  0,  0,  0, 13, 13, 13, 13,  3,
1056 	 3,  3,  3,  0,  3,  3,  3,  0,  3,  3,  3,  3,  3,  3,  3,
1057 	}},
1058 	{{
1059 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1060 	 3,  3,  3,  0,  0,  0,  0, 13, 13, 13,  0,  0,  0,  0, 13,
1061 	}},
1062 	{{
1063 	 3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  0,  0,  0,  3,
1064 	 3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  0,  0,
1065 	}},
1066 	{{
1067 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1068 	 3,  3,  3,  3,  3,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18,
1069 	}},
1070 	{{
1071 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1072 	 3,  3,  3,  3,  3,  0,  0,  3,  3,  3,  3,  3,  3,  3,  3,
1073 	}},
1074 	{{
1075 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
1076 	 3,  3,  0,  0,  0,  0,  0,  3,  3,  3,  3,  3,  3,  3,  3,
1077 	}},
1078 	{{
1079 	 3,  3,  3,  3,  3,  3,  3,  3,  3,  0,  0,  0,  0,  0,  0,  0,  0,
1080 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1081 	}},
1082 	{{
1083 	11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1084 	11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,  0,
1085 	}},
1086 	{{
1087 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1088 	 0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13,
1089 	}},
1090 	{{
1091 	13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1092 	 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1093 	}},
1094 	{{
1095 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1096 	 0,  0, 13, 13, 13, 13,  0,  0, 13, 13,  0,  0,  0,  0,  0,
1097 	}},
1098 	{{
1099 	 0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13, 13,  0, 13, 13, 13, 13,
1100 	13, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1101 	}},
1102 	{{
1103 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1104 	 0,  0,  0,  0,  0, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,
1105 	}},
1106 	{{
1107 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13,  0, 13,  0,  0, 13,
1108 	13, 13, 13, 13, 13,  0, 13,  0,  0,  0,  0,  0,  0,  0,  0,
1109 	}},
1110 	{{
1111 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13,
1112 	13, 13,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1113 	}},
1114 	{{
1115 	 0,  0,  0,  0,  0,  0,  0, 13, 13, 13,  0,  0,  0,  0,  0,  0,  0,
1116 	 0,  0, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13,
1117 	}},
1118 	{{
1119 	13, 13, 13,  0,  0, 13, 13, 13, 13, 13, 13, 13,  0,  0,  0,  0,  0,
1120 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1121 	}},
1122 	{{
1123 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 13, 13, 13,  0,  0,  0,
1124 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1125 	}},
1126 	{{
1127 	18, 18, 13, 13, 13, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1128 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1129 	}},
1130 	{{
1131 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1132 	18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1133 	}},
1134 	{{
1135 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1136 	 0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1137 	}},
1138 	{{
1139 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,
1140 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1141 	}},
1142 	{{
1143 	 0,  0,  0,  0,  0,  0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,
1144 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1145 	}},
1146 	{{
1147 	 0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  8,  8,  8,
1148 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
1149 	}},
1150 	{{
1151 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
1152 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
1153 	}},
1154 	{{
1155 	 4,  4,  4,  4,  0,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
1156 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
1157 	}},
1158 	{{
1159 	 0,  4,  4,  0,  4,  0,  0,  4,  0,  4,  4,  4,  4,  4,  4,  4,  4,
1160 	 4,  4,  0,  4,  4,  4,  4,  0,  4,  0,  4,  0,  0,  0,  0,
1161 	}},
1162 	{{
1163 	 0,  0,  4,  0,  0,  0,  0,  4,  0,  4,  0,  4,  0,  4,  4,  4,  0,
1164 	 4,  4,  0,  4,  0,  0,  4,  0,  4,  0,  4,  0,  4,  0,  4,
1165 	}},
1166 	{{
1167 	 0,  4,  4,  0,  4,  0,  0,  4,  4,  4,  4,  0,  4,  4,  4,  4,  4,
1168 	 4,  4,  0,  4,  4,  4,  4,  0,  4,  4,  4,  4,  0,  4,  0,
1169 	}},
1170 	{{
1171 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  4,  4,  4,  4,  4,  4,
1172 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  0,  0,  0,
1173 	}},
1174 	{{
1175 	 0,  4,  4,  4,  0,  4,  4,  4,  4,  4,  0,  4,  4,  4,  4,  4,  4,
1176 	 4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  0,  0,  0,  0,
1177 	}},
1178 	{{
1179 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
1180 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1181 	}},
1182 	{{
1183 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0, 18,
1184 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1185 	}},
1186 	{{
1187 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,
1188 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,
1189 	}},
1190 	{{
1191 	 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,
1192 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1193 	}},
1194 	{{
1195 	 8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  0,  0,  0,  0,  0,  0,
1196 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1197 	}},
1198 	{{
1199 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18, 18,  0,  0,  0,  0,  0,
1200 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1201 	}},
1202 	{{
1203 	18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
1204 	18, 18, 18, 18, 18,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1205 	}},
1206 	{{
1207 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1208 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,
1209 	}},
1210 	{{
1211 	18, 18, 18, 18, 18,  0, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,
1212 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1213 	}},
1214 	{{
1215 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1216 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1217 	}},
1218 	{{
1219 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1220 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,
1221 	}},
1222 	{{
1223 	18,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1224 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1225 	}},
1226 	{{
1227 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1228 	18, 18, 18, 18, 18, 18, 18,  0, 18, 18, 18, 18,  0,  0,  0,
1229 	}},
1230 	{{
1231 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1232 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,  0,
1233 	}},
1234 	{{
1235 	18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 18,
1236 	18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
1237 	}},
1238 	{{
1239 	18, 18, 18, 18, 18, 18, 18, 18,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1240 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1241 	}},
1242 	{{
1243 	18,  0,  0,  0,  0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,  0,
1244 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1245 	}},
1246 	{{
1247 	 0, 14,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1248 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1249 	}},
1250 	{{
1251 	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1252 	14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1253 	}},
1254 	{{
1255 	13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,  0,
1256 	 0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
1257 	}},
1258 };
1259 
1260 /*
1261  * Table accessor.
1262  */
1263 idn__bidiclass_t
idn__sparsemap_getbidiclass(unsigned long v)1264 idn__sparsemap_getbidiclass(unsigned long v) {
1265 	int idx0, idx1, idx2;
1266 
1267 	if (v > UTF32_MAX)
1268 		return (idn__bidiclass_unknown);
1269 	idx0 = v >> (BIDICLASS_BITS_1 + BIDICLASS_BITS_2);
1270 	idx1 = (v >> BIDICLASS_BITS_2) & ((1 << BIDICLASS_BITS_1) - 1);
1271 	idx2 = v & ((1 << BIDICLASS_BITS_2) - 1);
1272 	return (idn__bidiclass_t) bidiclass_table[bidiclass_imap[bidiclass_imap[idx0] + idx1]].tbl[idx2];
1273 }
1274