xref: /webtrees/app/Soundex.php (revision c1010eda29c0909ed4d5d463f32d32bfefdd4dfe)
1a25f0a04SGreg Roach<?php
2a25f0a04SGreg Roach/**
3a25f0a04SGreg Roach * webtrees: online genealogy
41062a142SGreg Roach * Copyright (C) 2018 webtrees development team
5a25f0a04SGreg Roach * This program is free software: you can redistribute it and/or modify
6a25f0a04SGreg Roach * it under the terms of the GNU General Public License as published by
7a25f0a04SGreg Roach * the Free Software Foundation, either version 3 of the License, or
8a25f0a04SGreg Roach * (at your option) any later version.
9a25f0a04SGreg Roach * This program is distributed in the hope that it will be useful,
10a25f0a04SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
11a25f0a04SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12a25f0a04SGreg Roach * GNU General Public License for more details.
13a25f0a04SGreg Roach * You should have received a copy of the GNU General Public License
14a25f0a04SGreg Roach * along with this program. If not, see <http://www.gnu.org/licenses/>.
15a25f0a04SGreg Roach */
1676692c8bSGreg Roachnamespace Fisharebest\Webtrees;
17a25f0a04SGreg Roach
18a25f0a04SGreg Roach/**
1976692c8bSGreg Roach * Phonetic matching of strings.
20a25f0a04SGreg Roach */
21*c1010edaSGreg Roachclass Soundex
22*c1010edaSGreg Roach{
23a25f0a04SGreg Roach    /**
2476692c8bSGreg Roach     * Which algorithms are supported.
2576692c8bSGreg Roach     *
26a25f0a04SGreg Roach     * @return string[]
27a25f0a04SGreg Roach     */
28*c1010edaSGreg Roach    public static function getAlgorithms()
29*c1010edaSGreg Roach    {
3013abd6f3SGreg Roach        return [
31*c1010edaSGreg Roach            'std' => /* I18N: http://en.wikipedia.org/wiki/Soundex */
32*c1010edaSGreg Roach                I18N::translate('Russell'),
33*c1010edaSGreg Roach            'dm'  => /* I18N: http://en.wikipedia.org/wiki/Daitch–Mokotoff_Soundex */
34*c1010edaSGreg Roach                I18N::translate('Daitch-Mokotoff'),
3513abd6f3SGreg Roach        ];
36a25f0a04SGreg Roach    }
37a25f0a04SGreg Roach
38a25f0a04SGreg Roach    /**
39a25f0a04SGreg Roach     * Is there a match between two soundex codes?
40a25f0a04SGreg Roach     *
41a25f0a04SGreg Roach     * @param string $soundex1
42a25f0a04SGreg Roach     * @param string $soundex2
43a25f0a04SGreg Roach     *
44cbc1590aSGreg Roach     * @return bool
45a25f0a04SGreg Roach     */
46*c1010edaSGreg Roach    public static function compare($soundex1, $soundex2)
47*c1010edaSGreg Roach    {
48b3fc7c59SGreg Roach        if ($soundex1 !== '' && $soundex2 !== '') {
49b3fc7c59SGreg Roach            return !empty(array_intersect(explode(':', $soundex1), explode(':', $soundex2)));
50a25f0a04SGreg Roach        }
51a25f0a04SGreg Roach
52a25f0a04SGreg Roach        return false;
53a25f0a04SGreg Roach    }
54a25f0a04SGreg Roach
55a25f0a04SGreg Roach    /**
56a25f0a04SGreg Roach     * Generate Russell soundex codes for a given text.
57a25f0a04SGreg Roach     *
58a25f0a04SGreg Roach     * @param $text
59a25f0a04SGreg Roach     *
60a25f0a04SGreg Roach     * @return null|string
61a25f0a04SGreg Roach     */
62*c1010edaSGreg Roach    public static function russell($text)
63*c1010edaSGreg Roach    {
64a25f0a04SGreg Roach        $words         = preg_split('/\s/', $text, -1, PREG_SPLIT_NO_EMPTY);
6513abd6f3SGreg Roach        $soundex_array = [];
66a25f0a04SGreg Roach        foreach ($words as $word) {
67a25f0a04SGreg Roach            $soundex = soundex($word);
68a25f0a04SGreg Roach            // Only return codes from recognisable sounds
69a25f0a04SGreg Roach            if ($soundex !== '0000') {
70a25f0a04SGreg Roach                $soundex_array[] = $soundex;
71a25f0a04SGreg Roach            }
72a25f0a04SGreg Roach        }
73a25f0a04SGreg Roach        // Combine words, e.g. “New York” as “Newyork”
74a25f0a04SGreg Roach        if (count($words) > 1) {
75a25f0a04SGreg Roach            $soundex_array[] = soundex(strtr($text, ' ', ''));
76a25f0a04SGreg Roach        }
77a25f0a04SGreg Roach        // A varchar(255) column can only hold 51 4-character codes (plus 50 delimiters)
78a25f0a04SGreg Roach        $soundex_array = array_slice(array_unique($soundex_array), 0, 51);
79a25f0a04SGreg Roach
80a25f0a04SGreg Roach        if ($soundex_array) {
81a25f0a04SGreg Roach            return implode(':', $soundex_array);
82a25f0a04SGreg Roach        } else {
8315e87d46SGreg Roach            return '';
84a25f0a04SGreg Roach        }
85a25f0a04SGreg Roach    }
86a25f0a04SGreg Roach
87a25f0a04SGreg Roach    /**
88a25f0a04SGreg Roach     * Generate Daitch–Mokotoff soundex codes for a given text.
89a25f0a04SGreg Roach     *
90a25f0a04SGreg Roach     * @param $text
91a25f0a04SGreg Roach     *
92b3fc7c59SGreg Roach     * @return string
93a25f0a04SGreg Roach     */
94*c1010edaSGreg Roach    public static function daitchMokotoff($text)
95*c1010edaSGreg Roach    {
96a25f0a04SGreg Roach        $words         = preg_split('/\s/', $text, -1, PREG_SPLIT_NO_EMPTY);
9713abd6f3SGreg Roach        $soundex_array = [];
98a25f0a04SGreg Roach        foreach ($words as $word) {
99a25f0a04SGreg Roach            $soundex_array = array_merge($soundex_array, self::daitchMokotoffWord($word));
100a25f0a04SGreg Roach        }
101a25f0a04SGreg Roach        // Combine words, e.g. “New York” as “Newyork”
102a25f0a04SGreg Roach        if (count($words) > 1) {
103a25f0a04SGreg Roach            $soundex_array = array_merge($soundex_array, self::daitchMokotoffWord(strtr($text, ' ', '')));
104a25f0a04SGreg Roach        }
105a25f0a04SGreg Roach        // A varchar(255) column can only hold 36 6-character codes (plus 35 delimiters)
106a25f0a04SGreg Roach        $soundex_array = array_slice(array_unique($soundex_array), 0, 36);
107a25f0a04SGreg Roach
108a25f0a04SGreg Roach        if ($soundex_array) {
109a25f0a04SGreg Roach            return implode(':', $soundex_array);
110a25f0a04SGreg Roach        } else {
11115e87d46SGreg Roach            return '';
112a25f0a04SGreg Roach        }
113a25f0a04SGreg Roach    }
114a25f0a04SGreg Roach
115a25f0a04SGreg Roach    // Determine the Daitch–Mokotoff Soundex code for a word
116a25f0a04SGreg Roach    // Original implementation by Gerry Kroll, and analysis by Meliza Amity
117a25f0a04SGreg Roach
118a25f0a04SGreg Roach    // Max. table key length (in ASCII bytes -- NOT in UTF-8 characters!)
119a25f0a04SGreg Roach    const MAXCHAR = 7;
120a25f0a04SGreg Roach
121a25f0a04SGreg Roach    /**
122a25f0a04SGreg Roach     * Name transformation arrays.
123a25f0a04SGreg Roach     * Used to transform the Name string to simplify the "sounds like" table.
124a25f0a04SGreg Roach     * This is especially useful in Hebrew.
125a25f0a04SGreg Roach     *
126a25f0a04SGreg Roach     * Each array entry defines the "from" and "to" arguments of an preg($from, $to, $text)
127a25f0a04SGreg Roach     * function call to achieve the desired transformations.
128a25f0a04SGreg Roach     *
129a25f0a04SGreg Roach     * Note about the use of "\x01":
130a25f0a04SGreg Roach     * This code, which can’t legitimately occur in the kind of text we're dealing with,
131a25f0a04SGreg Roach     * is used as a place-holder so that conditional string replacements can be done.
132a25f0a04SGreg Roach     *
133a25f0a04SGreg Roach     * @var string[][]
134a25f0a04SGreg Roach     */
13513abd6f3SGreg Roach    private static $transformNameTable = [
136a25f0a04SGreg Roach        // Force Yiddish ligatures to be treated as separate letters
137*c1010edaSGreg Roach        [
138*c1010edaSGreg Roach            'װ',
139*c1010edaSGreg Roach            'וו',
140*c1010edaSGreg Roach        ],
141*c1010edaSGreg Roach        [
142*c1010edaSGreg Roach            'ײ',
143*c1010edaSGreg Roach            'יי',
144*c1010edaSGreg Roach        ],
145*c1010edaSGreg Roach        [
146*c1010edaSGreg Roach            'ױ',
147*c1010edaSGreg Roach            'וי',
148*c1010edaSGreg Roach        ],
149*c1010edaSGreg Roach        [
150*c1010edaSGreg Roach            'בו',
151*c1010edaSGreg Roach            'בע',
152*c1010edaSGreg Roach        ],
153*c1010edaSGreg Roach        [
154*c1010edaSGreg Roach            'פו',
155*c1010edaSGreg Roach            'פע',
156*c1010edaSGreg Roach        ],
157*c1010edaSGreg Roach        [
158*c1010edaSGreg Roach            'ומ',
159*c1010edaSGreg Roach            'עמ',
160*c1010edaSGreg Roach        ],
161*c1010edaSGreg Roach        [
162*c1010edaSGreg Roach            'ום',
163*c1010edaSGreg Roach            'עם',
164*c1010edaSGreg Roach        ],
165*c1010edaSGreg Roach        [
166*c1010edaSGreg Roach            'ונ',
167*c1010edaSGreg Roach            'ענ',
168*c1010edaSGreg Roach        ],
169*c1010edaSGreg Roach        [
170*c1010edaSGreg Roach            'ון',
171*c1010edaSGreg Roach            'ען',
172*c1010edaSGreg Roach        ],
173*c1010edaSGreg Roach        [
174*c1010edaSGreg Roach            'וו',
175*c1010edaSGreg Roach            'ב',
176*c1010edaSGreg Roach        ],
177*c1010edaSGreg Roach        [
178*c1010edaSGreg Roach            "\x01",
179*c1010edaSGreg Roach            '',
180*c1010edaSGreg Roach        ],
181*c1010edaSGreg Roach        [
182*c1010edaSGreg Roach            'ייה$',
183*c1010edaSGreg Roach            "\x01ה",
184*c1010edaSGreg Roach        ],
185*c1010edaSGreg Roach        [
186*c1010edaSGreg Roach            'ייע$',
187*c1010edaSGreg Roach            "\x01ע",
188*c1010edaSGreg Roach        ],
189*c1010edaSGreg Roach        [
190*c1010edaSGreg Roach            'יי',
191*c1010edaSGreg Roach            'ע',
192*c1010edaSGreg Roach        ],
193*c1010edaSGreg Roach        [
194*c1010edaSGreg Roach            "\x01",
195*c1010edaSGreg Roach            'יי',
196*c1010edaSGreg Roach        ],
19713abd6f3SGreg Roach    ];
198a25f0a04SGreg Roach
199a25f0a04SGreg Roach    /**
200a25f0a04SGreg Roach     * The DM sound coding table is organized this way:
201a25f0a04SGreg Roach     * key: a variable-length string that corresponds to the UTF-8 character sequence
202a25f0a04SGreg Roach     * represented by the table entry. Currently, that string can be up to 7
203a25f0a04SGreg Roach     * bytes long. This maximum length is defined by the value of global variable
204a25f0a04SGreg Roach     * $maxchar.
205a25f0a04SGreg Roach     *
206a25f0a04SGreg Roach     * value: an array as follows:
207a25f0a04SGreg Roach     * [0]:  zero if not a vowel
208a25f0a04SGreg Roach     * [1]:  sound value when this string is at the beginning of the word
209a25f0a04SGreg Roach     * [2]:  sound value when this string is followed by a vowel
210a25f0a04SGreg Roach     * [3]:  sound value for other cases
211a25f0a04SGreg Roach     * [1],[2],[3] can be repeated several times to create branches in the code
212a25f0a04SGreg Roach     * an empty sound value means "ignore in this state"
213a25f0a04SGreg Roach     *
214a25f0a04SGreg Roach     * @var string[][]
215a25f0a04SGreg Roach     */
21613abd6f3SGreg Roach    private static $dmsounds = [
217*c1010edaSGreg Roach        'A'       => [
218*c1010edaSGreg Roach            '1',
219*c1010edaSGreg Roach            '0',
220*c1010edaSGreg Roach            '',
221*c1010edaSGreg Roach            '',
222*c1010edaSGreg Roach        ],
223*c1010edaSGreg Roach        'À'       => [
224*c1010edaSGreg Roach            '1',
225*c1010edaSGreg Roach            '0',
226*c1010edaSGreg Roach            '',
227*c1010edaSGreg Roach            '',
228*c1010edaSGreg Roach        ],
229*c1010edaSGreg Roach        'Á'       => [
230*c1010edaSGreg Roach            '1',
231*c1010edaSGreg Roach            '0',
232*c1010edaSGreg Roach            '',
233*c1010edaSGreg Roach            '',
234*c1010edaSGreg Roach        ],
235*c1010edaSGreg Roach        'Â'       => [
236*c1010edaSGreg Roach            '1',
237*c1010edaSGreg Roach            '0',
238*c1010edaSGreg Roach            '',
239*c1010edaSGreg Roach            '',
240*c1010edaSGreg Roach        ],
241*c1010edaSGreg Roach        'Ã'       => [
242*c1010edaSGreg Roach            '1',
243*c1010edaSGreg Roach            '0',
244*c1010edaSGreg Roach            '',
245*c1010edaSGreg Roach            '',
246*c1010edaSGreg Roach        ],
247*c1010edaSGreg Roach        'Ä'       => [
248*c1010edaSGreg Roach            '1',
249*c1010edaSGreg Roach            '0',
250*c1010edaSGreg Roach            '1',
251*c1010edaSGreg Roach            '',
252*c1010edaSGreg Roach            '0',
253*c1010edaSGreg Roach            '',
254*c1010edaSGreg Roach            '',
255*c1010edaSGreg Roach        ],
256*c1010edaSGreg Roach        'Å'       => [
257*c1010edaSGreg Roach            '1',
258*c1010edaSGreg Roach            '0',
259*c1010edaSGreg Roach            '',
260*c1010edaSGreg Roach            '',
261*c1010edaSGreg Roach        ],
262*c1010edaSGreg Roach        'Ă'       => [
263*c1010edaSGreg Roach            '1',
264*c1010edaSGreg Roach            '0',
265*c1010edaSGreg Roach            '',
266*c1010edaSGreg Roach            '',
267*c1010edaSGreg Roach        ],
268*c1010edaSGreg Roach        'Ą'       => [
269*c1010edaSGreg Roach            '1',
270*c1010edaSGreg Roach            '',
271*c1010edaSGreg Roach            '',
272*c1010edaSGreg Roach            '',
273*c1010edaSGreg Roach            '',
274*c1010edaSGreg Roach            '',
275*c1010edaSGreg Roach            '6',
276*c1010edaSGreg Roach        ],
277*c1010edaSGreg Roach        'Ạ'       => [
278*c1010edaSGreg Roach            '1',
279*c1010edaSGreg Roach            '0',
280*c1010edaSGreg Roach            '',
281*c1010edaSGreg Roach            '',
282*c1010edaSGreg Roach        ],
283*c1010edaSGreg Roach        'Ả'       => [
284*c1010edaSGreg Roach            '1',
285*c1010edaSGreg Roach            '0',
286*c1010edaSGreg Roach            '',
287*c1010edaSGreg Roach            '',
288*c1010edaSGreg Roach        ],
289*c1010edaSGreg Roach        'Ấ'       => [
290*c1010edaSGreg Roach            '1',
291*c1010edaSGreg Roach            '0',
292*c1010edaSGreg Roach            '',
293*c1010edaSGreg Roach            '',
294*c1010edaSGreg Roach        ],
295*c1010edaSGreg Roach        'Ầ'       => [
296*c1010edaSGreg Roach            '1',
297*c1010edaSGreg Roach            '0',
298*c1010edaSGreg Roach            '',
299*c1010edaSGreg Roach            '',
300*c1010edaSGreg Roach        ],
301*c1010edaSGreg Roach        'Ẩ'       => [
302*c1010edaSGreg Roach            '1',
303*c1010edaSGreg Roach            '0',
304*c1010edaSGreg Roach            '',
305*c1010edaSGreg Roach            '',
306*c1010edaSGreg Roach        ],
307*c1010edaSGreg Roach        'Ẫ'       => [
308*c1010edaSGreg Roach            '1',
309*c1010edaSGreg Roach            '0',
310*c1010edaSGreg Roach            '',
311*c1010edaSGreg Roach            '',
312*c1010edaSGreg Roach        ],
313*c1010edaSGreg Roach        'Ậ'       => [
314*c1010edaSGreg Roach            '1',
315*c1010edaSGreg Roach            '0',
316*c1010edaSGreg Roach            '',
317*c1010edaSGreg Roach            '',
318*c1010edaSGreg Roach        ],
319*c1010edaSGreg Roach        'Ắ'       => [
320*c1010edaSGreg Roach            '1',
321*c1010edaSGreg Roach            '0',
322*c1010edaSGreg Roach            '',
323*c1010edaSGreg Roach            '',
324*c1010edaSGreg Roach        ],
325*c1010edaSGreg Roach        'Ằ'       => [
326*c1010edaSGreg Roach            '1',
327*c1010edaSGreg Roach            '0',
328*c1010edaSGreg Roach            '',
329*c1010edaSGreg Roach            '',
330*c1010edaSGreg Roach        ],
331*c1010edaSGreg Roach        'Ẳ'       => [
332*c1010edaSGreg Roach            '1',
333*c1010edaSGreg Roach            '0',
334*c1010edaSGreg Roach            '',
335*c1010edaSGreg Roach            '',
336*c1010edaSGreg Roach        ],
337*c1010edaSGreg Roach        'Ẵ'       => [
338*c1010edaSGreg Roach            '1',
339*c1010edaSGreg Roach            '0',
340*c1010edaSGreg Roach            '',
341*c1010edaSGreg Roach            '',
342*c1010edaSGreg Roach        ],
343*c1010edaSGreg Roach        'Ặ'       => [
344*c1010edaSGreg Roach            '1',
345*c1010edaSGreg Roach            '0',
346*c1010edaSGreg Roach            '',
347*c1010edaSGreg Roach            '',
348*c1010edaSGreg Roach        ],
349*c1010edaSGreg Roach        'AE'      => [
350*c1010edaSGreg Roach            '1',
351*c1010edaSGreg Roach            '0',
352*c1010edaSGreg Roach            '1',
353*c1010edaSGreg Roach            '',
354*c1010edaSGreg Roach        ],
355*c1010edaSGreg Roach        'Æ'       => [
356*c1010edaSGreg Roach            '1',
357*c1010edaSGreg Roach            '0',
358*c1010edaSGreg Roach            '1',
359*c1010edaSGreg Roach            '',
360*c1010edaSGreg Roach        ],
361*c1010edaSGreg Roach        'AI'      => [
362*c1010edaSGreg Roach            '1',
363*c1010edaSGreg Roach            '0',
364*c1010edaSGreg Roach            '1',
365*c1010edaSGreg Roach            '',
366*c1010edaSGreg Roach        ],
367*c1010edaSGreg Roach        'AJ'      => [
368*c1010edaSGreg Roach            '1',
369*c1010edaSGreg Roach            '0',
370*c1010edaSGreg Roach            '1',
371*c1010edaSGreg Roach            '',
372*c1010edaSGreg Roach        ],
373*c1010edaSGreg Roach        'AU'      => [
374*c1010edaSGreg Roach            '1',
375*c1010edaSGreg Roach            '0',
376*c1010edaSGreg Roach            '7',
377*c1010edaSGreg Roach            '',
378*c1010edaSGreg Roach        ],
379*c1010edaSGreg Roach        'AV'      => [
380*c1010edaSGreg Roach            '1',
381*c1010edaSGreg Roach            '0',
382*c1010edaSGreg Roach            '7',
383*c1010edaSGreg Roach            '',
384*c1010edaSGreg Roach            '7',
385*c1010edaSGreg Roach            '7',
386*c1010edaSGreg Roach            '7',
387*c1010edaSGreg Roach        ],
388*c1010edaSGreg Roach        'ÄU'      => [
389*c1010edaSGreg Roach            '1',
390*c1010edaSGreg Roach            '0',
391*c1010edaSGreg Roach            '1',
392*c1010edaSGreg Roach            '',
393*c1010edaSGreg Roach        ],
394*c1010edaSGreg Roach        'AY'      => [
395*c1010edaSGreg Roach            '1',
396*c1010edaSGreg Roach            '0',
397*c1010edaSGreg Roach            '1',
398*c1010edaSGreg Roach            '',
399*c1010edaSGreg Roach        ],
400*c1010edaSGreg Roach        'B'       => [
401*c1010edaSGreg Roach            '0',
402*c1010edaSGreg Roach            '7',
403*c1010edaSGreg Roach            '7',
404*c1010edaSGreg Roach            '7',
405*c1010edaSGreg Roach        ],
406*c1010edaSGreg Roach        'C'       => [
407*c1010edaSGreg Roach            '0',
408*c1010edaSGreg Roach            '5',
409*c1010edaSGreg Roach            '5',
410*c1010edaSGreg Roach            '5',
411*c1010edaSGreg Roach            '34',
412*c1010edaSGreg Roach            '4',
413*c1010edaSGreg Roach            '4',
414*c1010edaSGreg Roach        ],
415*c1010edaSGreg Roach        'Ć'       => [
416*c1010edaSGreg Roach            '0',
417*c1010edaSGreg Roach            '4',
418*c1010edaSGreg Roach            '4',
419*c1010edaSGreg Roach            '4',
420*c1010edaSGreg Roach        ],
421*c1010edaSGreg Roach        'Č'       => [
422*c1010edaSGreg Roach            '0',
423*c1010edaSGreg Roach            '4',
424*c1010edaSGreg Roach            '4',
425*c1010edaSGreg Roach            '4',
426*c1010edaSGreg Roach        ],
427*c1010edaSGreg Roach        'Ç'       => [
428*c1010edaSGreg Roach            '0',
429*c1010edaSGreg Roach            '4',
430*c1010edaSGreg Roach            '4',
431*c1010edaSGreg Roach            '4',
432*c1010edaSGreg Roach        ],
433*c1010edaSGreg Roach        'CH'      => [
434*c1010edaSGreg Roach            '0',
435*c1010edaSGreg Roach            '5',
436*c1010edaSGreg Roach            '5',
437*c1010edaSGreg Roach            '5',
438*c1010edaSGreg Roach            '34',
439*c1010edaSGreg Roach            '4',
440*c1010edaSGreg Roach            '4',
441*c1010edaSGreg Roach        ],
442*c1010edaSGreg Roach        'CHS'     => [
443*c1010edaSGreg Roach            '0',
444*c1010edaSGreg Roach            '5',
445*c1010edaSGreg Roach            '54',
446*c1010edaSGreg Roach            '54',
447*c1010edaSGreg Roach        ],
448*c1010edaSGreg Roach        'CK'      => [
449*c1010edaSGreg Roach            '0',
450*c1010edaSGreg Roach            '5',
451*c1010edaSGreg Roach            '5',
452*c1010edaSGreg Roach            '5',
453*c1010edaSGreg Roach            '45',
454*c1010edaSGreg Roach            '45',
455*c1010edaSGreg Roach            '45',
456*c1010edaSGreg Roach        ],
457*c1010edaSGreg Roach        'CCS'     => [
458*c1010edaSGreg Roach            '0',
459*c1010edaSGreg Roach            '4',
460*c1010edaSGreg Roach            '4',
461*c1010edaSGreg Roach            '4',
462*c1010edaSGreg Roach        ],
463*c1010edaSGreg Roach        'CS'      => [
464*c1010edaSGreg Roach            '0',
465*c1010edaSGreg Roach            '4',
466*c1010edaSGreg Roach            '4',
467*c1010edaSGreg Roach            '4',
468*c1010edaSGreg Roach        ],
469*c1010edaSGreg Roach        'CSZ'     => [
470*c1010edaSGreg Roach            '0',
471*c1010edaSGreg Roach            '4',
472*c1010edaSGreg Roach            '4',
473*c1010edaSGreg Roach            '4',
474*c1010edaSGreg Roach        ],
475*c1010edaSGreg Roach        'CZ'      => [
476*c1010edaSGreg Roach            '0',
477*c1010edaSGreg Roach            '4',
478*c1010edaSGreg Roach            '4',
479*c1010edaSGreg Roach            '4',
480*c1010edaSGreg Roach        ],
481*c1010edaSGreg Roach        'CZS'     => [
482*c1010edaSGreg Roach            '0',
483*c1010edaSGreg Roach            '4',
484*c1010edaSGreg Roach            '4',
485*c1010edaSGreg Roach            '4',
486*c1010edaSGreg Roach        ],
487*c1010edaSGreg Roach        'D'       => [
488*c1010edaSGreg Roach            '0',
489*c1010edaSGreg Roach            '3',
490*c1010edaSGreg Roach            '3',
491*c1010edaSGreg Roach            '3',
492*c1010edaSGreg Roach        ],
493*c1010edaSGreg Roach        'Ď'       => [
494*c1010edaSGreg Roach            '0',
495*c1010edaSGreg Roach            '3',
496*c1010edaSGreg Roach            '3',
497*c1010edaSGreg Roach            '3',
498*c1010edaSGreg Roach        ],
499*c1010edaSGreg Roach        'Đ'       => [
500*c1010edaSGreg Roach            '0',
501*c1010edaSGreg Roach            '3',
502*c1010edaSGreg Roach            '3',
503*c1010edaSGreg Roach            '3',
504*c1010edaSGreg Roach        ],
505*c1010edaSGreg Roach        'DRS'     => [
506*c1010edaSGreg Roach            '0',
507*c1010edaSGreg Roach            '4',
508*c1010edaSGreg Roach            '4',
509*c1010edaSGreg Roach            '4',
510*c1010edaSGreg Roach        ],
511*c1010edaSGreg Roach        'DRZ'     => [
512*c1010edaSGreg Roach            '0',
513*c1010edaSGreg Roach            '4',
514*c1010edaSGreg Roach            '4',
515*c1010edaSGreg Roach            '4',
516*c1010edaSGreg Roach        ],
517*c1010edaSGreg Roach        'DS'      => [
518*c1010edaSGreg Roach            '0',
519*c1010edaSGreg Roach            '4',
520*c1010edaSGreg Roach            '4',
521*c1010edaSGreg Roach            '4',
522*c1010edaSGreg Roach        ],
523*c1010edaSGreg Roach        'DSH'     => [
524*c1010edaSGreg Roach            '0',
525*c1010edaSGreg Roach            '4',
526*c1010edaSGreg Roach            '4',
527*c1010edaSGreg Roach            '4',
528*c1010edaSGreg Roach        ],
529*c1010edaSGreg Roach        'DSZ'     => [
530*c1010edaSGreg Roach            '0',
531*c1010edaSGreg Roach            '4',
532*c1010edaSGreg Roach            '4',
533*c1010edaSGreg Roach            '4',
534*c1010edaSGreg Roach        ],
535*c1010edaSGreg Roach        'DT'      => [
536*c1010edaSGreg Roach            '0',
537*c1010edaSGreg Roach            '3',
538*c1010edaSGreg Roach            '3',
539*c1010edaSGreg Roach            '3',
540*c1010edaSGreg Roach        ],
541*c1010edaSGreg Roach        'DDZ'     => [
542*c1010edaSGreg Roach            '0',
543*c1010edaSGreg Roach            '4',
544*c1010edaSGreg Roach            '4',
545*c1010edaSGreg Roach            '4',
546*c1010edaSGreg Roach        ],
547*c1010edaSGreg Roach        'DDZS'    => [
548*c1010edaSGreg Roach            '0',
549*c1010edaSGreg Roach            '4',
550*c1010edaSGreg Roach            '4',
551*c1010edaSGreg Roach            '4',
552*c1010edaSGreg Roach        ],
553*c1010edaSGreg Roach        'DZ'      => [
554*c1010edaSGreg Roach            '0',
555*c1010edaSGreg Roach            '4',
556*c1010edaSGreg Roach            '4',
557*c1010edaSGreg Roach            '4',
558*c1010edaSGreg Roach        ],
559*c1010edaSGreg Roach        'DŹ'      => [
560*c1010edaSGreg Roach            '0',
561*c1010edaSGreg Roach            '4',
562*c1010edaSGreg Roach            '4',
563*c1010edaSGreg Roach            '4',
564*c1010edaSGreg Roach        ],
565*c1010edaSGreg Roach        'DŻ'      => [
566*c1010edaSGreg Roach            '0',
567*c1010edaSGreg Roach            '4',
568*c1010edaSGreg Roach            '4',
569*c1010edaSGreg Roach            '4',
570*c1010edaSGreg Roach        ],
571*c1010edaSGreg Roach        'DZH'     => [
572*c1010edaSGreg Roach            '0',
573*c1010edaSGreg Roach            '4',
574*c1010edaSGreg Roach            '4',
575*c1010edaSGreg Roach            '4',
576*c1010edaSGreg Roach        ],
577*c1010edaSGreg Roach        'DZS'     => [
578*c1010edaSGreg Roach            '0',
579*c1010edaSGreg Roach            '4',
580*c1010edaSGreg Roach            '4',
581*c1010edaSGreg Roach            '4',
582*c1010edaSGreg Roach        ],
583*c1010edaSGreg Roach        'E'       => [
584*c1010edaSGreg Roach            '1',
585*c1010edaSGreg Roach            '0',
586*c1010edaSGreg Roach            '',
587*c1010edaSGreg Roach            '',
588*c1010edaSGreg Roach        ],
589*c1010edaSGreg Roach        'È'       => [
590*c1010edaSGreg Roach            '1',
591*c1010edaSGreg Roach            '0',
592*c1010edaSGreg Roach            '',
593*c1010edaSGreg Roach            '',
594*c1010edaSGreg Roach        ],
595*c1010edaSGreg Roach        'É'       => [
596*c1010edaSGreg Roach            '1',
597*c1010edaSGreg Roach            '0',
598*c1010edaSGreg Roach            '',
599*c1010edaSGreg Roach            '',
600*c1010edaSGreg Roach        ],
601*c1010edaSGreg Roach        'Ê'       => [
602*c1010edaSGreg Roach            '1',
603*c1010edaSGreg Roach            '0',
604*c1010edaSGreg Roach            '',
605*c1010edaSGreg Roach            '',
606*c1010edaSGreg Roach        ],
607*c1010edaSGreg Roach        'Ë'       => [
608*c1010edaSGreg Roach            '1',
609*c1010edaSGreg Roach            '0',
610*c1010edaSGreg Roach            '',
611*c1010edaSGreg Roach            '',
612*c1010edaSGreg Roach        ],
613*c1010edaSGreg Roach        'Ĕ'       => [
614*c1010edaSGreg Roach            '1',
615*c1010edaSGreg Roach            '0',
616*c1010edaSGreg Roach            '',
617*c1010edaSGreg Roach            '',
618*c1010edaSGreg Roach        ],
619*c1010edaSGreg Roach        'Ė'       => [
620*c1010edaSGreg Roach            '1',
621*c1010edaSGreg Roach            '0',
622*c1010edaSGreg Roach            '',
623*c1010edaSGreg Roach            '',
624*c1010edaSGreg Roach        ],
625*c1010edaSGreg Roach        'Ę'       => [
626*c1010edaSGreg Roach            '1',
627*c1010edaSGreg Roach            '',
628*c1010edaSGreg Roach            '',
629*c1010edaSGreg Roach            '6',
630*c1010edaSGreg Roach            '',
631*c1010edaSGreg Roach            '',
632*c1010edaSGreg Roach            '',
633*c1010edaSGreg Roach        ],
634*c1010edaSGreg Roach        'Ẹ'       => [
635*c1010edaSGreg Roach            '1',
636*c1010edaSGreg Roach            '0',
637*c1010edaSGreg Roach            '',
638*c1010edaSGreg Roach            '',
639*c1010edaSGreg Roach        ],
640*c1010edaSGreg Roach        'Ẻ'       => [
641*c1010edaSGreg Roach            '1',
642*c1010edaSGreg Roach            '0',
643*c1010edaSGreg Roach            '',
644*c1010edaSGreg Roach            '',
645*c1010edaSGreg Roach        ],
646*c1010edaSGreg Roach        'Ẽ'       => [
647*c1010edaSGreg Roach            '1',
648*c1010edaSGreg Roach            '0',
649*c1010edaSGreg Roach            '',
650*c1010edaSGreg Roach            '',
651*c1010edaSGreg Roach        ],
652*c1010edaSGreg Roach        'Ế'       => [
653*c1010edaSGreg Roach            '1',
654*c1010edaSGreg Roach            '0',
655*c1010edaSGreg Roach            '',
656*c1010edaSGreg Roach            '',
657*c1010edaSGreg Roach        ],
658*c1010edaSGreg Roach        'Ề'       => [
659*c1010edaSGreg Roach            '1',
660*c1010edaSGreg Roach            '0',
661*c1010edaSGreg Roach            '',
662*c1010edaSGreg Roach            '',
663*c1010edaSGreg Roach        ],
664*c1010edaSGreg Roach        'Ể'       => [
665*c1010edaSGreg Roach            '1',
666*c1010edaSGreg Roach            '0',
667*c1010edaSGreg Roach            '',
668*c1010edaSGreg Roach            '',
669*c1010edaSGreg Roach        ],
670*c1010edaSGreg Roach        'Ễ'       => [
671*c1010edaSGreg Roach            '1',
672*c1010edaSGreg Roach            '0',
673*c1010edaSGreg Roach            '',
674*c1010edaSGreg Roach            '',
675*c1010edaSGreg Roach        ],
676*c1010edaSGreg Roach        'Ệ'       => [
677*c1010edaSGreg Roach            '1',
678*c1010edaSGreg Roach            '0',
679*c1010edaSGreg Roach            '',
680*c1010edaSGreg Roach            '',
681*c1010edaSGreg Roach        ],
682*c1010edaSGreg Roach        'EAU'     => [
683*c1010edaSGreg Roach            '1',
684*c1010edaSGreg Roach            '0',
685*c1010edaSGreg Roach            '',
686*c1010edaSGreg Roach            '',
687*c1010edaSGreg Roach        ],
688*c1010edaSGreg Roach        'EI'      => [
689*c1010edaSGreg Roach            '1',
690*c1010edaSGreg Roach            '0',
691*c1010edaSGreg Roach            '1',
692*c1010edaSGreg Roach            '',
693*c1010edaSGreg Roach        ],
694*c1010edaSGreg Roach        'EJ'      => [
695*c1010edaSGreg Roach            '1',
696*c1010edaSGreg Roach            '0',
697*c1010edaSGreg Roach            '1',
698*c1010edaSGreg Roach            '',
699*c1010edaSGreg Roach        ],
700*c1010edaSGreg Roach        'EU'      => [
701*c1010edaSGreg Roach            '1',
702*c1010edaSGreg Roach            '1',
703*c1010edaSGreg Roach            '1',
704*c1010edaSGreg Roach            '',
705*c1010edaSGreg Roach        ],
706*c1010edaSGreg Roach        'EY'      => [
707*c1010edaSGreg Roach            '1',
708*c1010edaSGreg Roach            '0',
709*c1010edaSGreg Roach            '1',
710*c1010edaSGreg Roach            '',
711*c1010edaSGreg Roach        ],
712*c1010edaSGreg Roach        'F'       => [
713*c1010edaSGreg Roach            '0',
714*c1010edaSGreg Roach            '7',
715*c1010edaSGreg Roach            '7',
716*c1010edaSGreg Roach            '7',
717*c1010edaSGreg Roach        ],
718*c1010edaSGreg Roach        'FB'      => [
719*c1010edaSGreg Roach            '0',
720*c1010edaSGreg Roach            '7',
721*c1010edaSGreg Roach            '7',
722*c1010edaSGreg Roach            '7',
723*c1010edaSGreg Roach        ],
724*c1010edaSGreg Roach        'G'       => [
725*c1010edaSGreg Roach            '0',
726*c1010edaSGreg Roach            '5',
727*c1010edaSGreg Roach            '5',
728*c1010edaSGreg Roach            '5',
729*c1010edaSGreg Roach            '34',
730*c1010edaSGreg Roach            '4',
731*c1010edaSGreg Roach            '4',
732*c1010edaSGreg Roach        ],
733*c1010edaSGreg Roach        'Ğ'       => [
734*c1010edaSGreg Roach            '0',
735*c1010edaSGreg Roach            '',
736*c1010edaSGreg Roach            '',
737*c1010edaSGreg Roach            '',
738*c1010edaSGreg Roach        ],
739*c1010edaSGreg Roach        'GGY'     => [
740*c1010edaSGreg Roach            '0',
741*c1010edaSGreg Roach            '5',
742*c1010edaSGreg Roach            '5',
743*c1010edaSGreg Roach            '5',
744*c1010edaSGreg Roach        ],
745*c1010edaSGreg Roach        'GY'      => [
746*c1010edaSGreg Roach            '0',
747*c1010edaSGreg Roach            '5',
748*c1010edaSGreg Roach            '5',
749*c1010edaSGreg Roach            '5',
750*c1010edaSGreg Roach        ],
751*c1010edaSGreg Roach        'H'       => [
752*c1010edaSGreg Roach            '0',
753*c1010edaSGreg Roach            '5',
754*c1010edaSGreg Roach            '5',
755*c1010edaSGreg Roach            '',
756*c1010edaSGreg Roach            '5',
757*c1010edaSGreg Roach            '5',
758*c1010edaSGreg Roach            '5',
759*c1010edaSGreg Roach        ],
760*c1010edaSGreg Roach        'I'       => [
761*c1010edaSGreg Roach            '1',
762*c1010edaSGreg Roach            '0',
763*c1010edaSGreg Roach            '',
764*c1010edaSGreg Roach            '',
765*c1010edaSGreg Roach        ],
766*c1010edaSGreg Roach        'Ì'       => [
767*c1010edaSGreg Roach            '1',
768*c1010edaSGreg Roach            '0',
769*c1010edaSGreg Roach            '',
770*c1010edaSGreg Roach            '',
771*c1010edaSGreg Roach        ],
772*c1010edaSGreg Roach        'Í'       => [
773*c1010edaSGreg Roach            '1',
774*c1010edaSGreg Roach            '0',
775*c1010edaSGreg Roach            '',
776*c1010edaSGreg Roach            '',
777*c1010edaSGreg Roach        ],
778*c1010edaSGreg Roach        'Î'       => [
779*c1010edaSGreg Roach            '1',
780*c1010edaSGreg Roach            '0',
781*c1010edaSGreg Roach            '',
782*c1010edaSGreg Roach            '',
783*c1010edaSGreg Roach        ],
784*c1010edaSGreg Roach        'Ï'       => [
785*c1010edaSGreg Roach            '1',
786*c1010edaSGreg Roach            '0',
787*c1010edaSGreg Roach            '',
788*c1010edaSGreg Roach            '',
789*c1010edaSGreg Roach        ],
790*c1010edaSGreg Roach        'Ĩ'       => [
791*c1010edaSGreg Roach            '1',
792*c1010edaSGreg Roach            '0',
793*c1010edaSGreg Roach            '',
794*c1010edaSGreg Roach            '',
795*c1010edaSGreg Roach        ],
796*c1010edaSGreg Roach        'Į'       => [
797*c1010edaSGreg Roach            '1',
798*c1010edaSGreg Roach            '0',
799*c1010edaSGreg Roach            '',
800*c1010edaSGreg Roach            '',
801*c1010edaSGreg Roach        ],
802*c1010edaSGreg Roach        'İ'       => [
803*c1010edaSGreg Roach            '1',
804*c1010edaSGreg Roach            '0',
805*c1010edaSGreg Roach            '',
806*c1010edaSGreg Roach            '',
807*c1010edaSGreg Roach        ],
808*c1010edaSGreg Roach        'Ỉ'       => [
809*c1010edaSGreg Roach            '1',
810*c1010edaSGreg Roach            '0',
811*c1010edaSGreg Roach            '',
812*c1010edaSGreg Roach            '',
813*c1010edaSGreg Roach        ],
814*c1010edaSGreg Roach        'Ị'       => [
815*c1010edaSGreg Roach            '1',
816*c1010edaSGreg Roach            '0',
817*c1010edaSGreg Roach            '',
818*c1010edaSGreg Roach            '',
819*c1010edaSGreg Roach        ],
820*c1010edaSGreg Roach        'IA'      => [
821*c1010edaSGreg Roach            '1',
822*c1010edaSGreg Roach            '1',
823*c1010edaSGreg Roach            '',
824*c1010edaSGreg Roach            '',
825*c1010edaSGreg Roach        ],
826*c1010edaSGreg Roach        'IE'      => [
827*c1010edaSGreg Roach            '1',
828*c1010edaSGreg Roach            '1',
829*c1010edaSGreg Roach            '',
830*c1010edaSGreg Roach            '',
831*c1010edaSGreg Roach        ],
832*c1010edaSGreg Roach        'IO'      => [
833*c1010edaSGreg Roach            '1',
834*c1010edaSGreg Roach            '1',
835*c1010edaSGreg Roach            '',
836*c1010edaSGreg Roach            '',
837*c1010edaSGreg Roach        ],
838*c1010edaSGreg Roach        'IU'      => [
839*c1010edaSGreg Roach            '1',
840*c1010edaSGreg Roach            '1',
841*c1010edaSGreg Roach            '',
842*c1010edaSGreg Roach            '',
843*c1010edaSGreg Roach        ],
844*c1010edaSGreg Roach        'J'       => [
845*c1010edaSGreg Roach            '0',
846*c1010edaSGreg Roach            '1',
847*c1010edaSGreg Roach            '',
848*c1010edaSGreg Roach            '',
849*c1010edaSGreg Roach            '4',
850*c1010edaSGreg Roach            '4',
851*c1010edaSGreg Roach            '4',
852*c1010edaSGreg Roach            '5',
853*c1010edaSGreg Roach            '5',
854*c1010edaSGreg Roach            '',
855*c1010edaSGreg Roach        ],
856*c1010edaSGreg Roach        'K'       => [
857*c1010edaSGreg Roach            '0',
858*c1010edaSGreg Roach            '5',
859*c1010edaSGreg Roach            '5',
860*c1010edaSGreg Roach            '5',
861*c1010edaSGreg Roach        ],
862*c1010edaSGreg Roach        'KH'      => [
863*c1010edaSGreg Roach            '0',
864*c1010edaSGreg Roach            '5',
865*c1010edaSGreg Roach            '5',
866*c1010edaSGreg Roach            '5',
867*c1010edaSGreg Roach        ],
868*c1010edaSGreg Roach        'KS'      => [
869*c1010edaSGreg Roach            '0',
870*c1010edaSGreg Roach            '5',
871*c1010edaSGreg Roach            '54',
872*c1010edaSGreg Roach            '54',
873*c1010edaSGreg Roach        ],
874*c1010edaSGreg Roach        'L'       => [
875*c1010edaSGreg Roach            '0',
876*c1010edaSGreg Roach            '8',
877*c1010edaSGreg Roach            '8',
878*c1010edaSGreg Roach            '8',
879*c1010edaSGreg Roach        ],
880*c1010edaSGreg Roach        'Ľ'       => [
881*c1010edaSGreg Roach            '0',
882*c1010edaSGreg Roach            '8',
883*c1010edaSGreg Roach            '8',
884*c1010edaSGreg Roach            '8',
885*c1010edaSGreg Roach        ],
886*c1010edaSGreg Roach        'Ĺ'       => [
887*c1010edaSGreg Roach            '0',
888*c1010edaSGreg Roach            '8',
889*c1010edaSGreg Roach            '8',
890*c1010edaSGreg Roach            '8',
891*c1010edaSGreg Roach        ],
892*c1010edaSGreg Roach        'Ł'       => [
893*c1010edaSGreg Roach            '0',
894*c1010edaSGreg Roach            '7',
895*c1010edaSGreg Roach            '7',
896*c1010edaSGreg Roach            '7',
897*c1010edaSGreg Roach            '8',
898*c1010edaSGreg Roach            '8',
899*c1010edaSGreg Roach            '8',
900*c1010edaSGreg Roach        ],
901*c1010edaSGreg Roach        'LL'      => [
902*c1010edaSGreg Roach            '0',
903*c1010edaSGreg Roach            '8',
904*c1010edaSGreg Roach            '8',
905*c1010edaSGreg Roach            '8',
906*c1010edaSGreg Roach            '58',
907*c1010edaSGreg Roach            '8',
908*c1010edaSGreg Roach            '8',
909*c1010edaSGreg Roach            '1',
910*c1010edaSGreg Roach            '8',
911*c1010edaSGreg Roach            '8',
912*c1010edaSGreg Roach        ],
913*c1010edaSGreg Roach        'LLY'     => [
914*c1010edaSGreg Roach            '0',
915*c1010edaSGreg Roach            '8',
916*c1010edaSGreg Roach            '8',
917*c1010edaSGreg Roach            '8',
918*c1010edaSGreg Roach            '1',
919*c1010edaSGreg Roach            '8',
920*c1010edaSGreg Roach            '8',
921*c1010edaSGreg Roach        ],
922*c1010edaSGreg Roach        'LY'      => [
923*c1010edaSGreg Roach            '0',
924*c1010edaSGreg Roach            '8',
925*c1010edaSGreg Roach            '8',
926*c1010edaSGreg Roach            '8',
927*c1010edaSGreg Roach            '1',
928*c1010edaSGreg Roach            '8',
929*c1010edaSGreg Roach            '8',
930*c1010edaSGreg Roach        ],
931*c1010edaSGreg Roach        'M'       => [
932*c1010edaSGreg Roach            '0',
933*c1010edaSGreg Roach            '6',
934*c1010edaSGreg Roach            '6',
935*c1010edaSGreg Roach            '6',
936*c1010edaSGreg Roach        ],
937*c1010edaSGreg Roach        'MĔ'      => [
938*c1010edaSGreg Roach            '0',
939*c1010edaSGreg Roach            '66',
940*c1010edaSGreg Roach            '66',
941*c1010edaSGreg Roach            '66',
942*c1010edaSGreg Roach        ],
943*c1010edaSGreg Roach        'MN'      => [
944*c1010edaSGreg Roach            '0',
945*c1010edaSGreg Roach            '66',
946*c1010edaSGreg Roach            '66',
947*c1010edaSGreg Roach            '66',
948*c1010edaSGreg Roach        ],
949*c1010edaSGreg Roach        'N'       => [
950*c1010edaSGreg Roach            '0',
951*c1010edaSGreg Roach            '6',
952*c1010edaSGreg Roach            '6',
953*c1010edaSGreg Roach            '6',
954*c1010edaSGreg Roach        ],
955*c1010edaSGreg Roach        'Ń'       => [
956*c1010edaSGreg Roach            '0',
957*c1010edaSGreg Roach            '6',
958*c1010edaSGreg Roach            '6',
959*c1010edaSGreg Roach            '6',
960*c1010edaSGreg Roach        ],
961*c1010edaSGreg Roach        'Ň'       => [
962*c1010edaSGreg Roach            '0',
963*c1010edaSGreg Roach            '6',
964*c1010edaSGreg Roach            '6',
965*c1010edaSGreg Roach            '6',
966*c1010edaSGreg Roach        ],
967*c1010edaSGreg Roach        'Ñ'       => [
968*c1010edaSGreg Roach            '0',
969*c1010edaSGreg Roach            '6',
970*c1010edaSGreg Roach            '6',
971*c1010edaSGreg Roach            '6',
972*c1010edaSGreg Roach        ],
973*c1010edaSGreg Roach        'NM'      => [
974*c1010edaSGreg Roach            '0',
975*c1010edaSGreg Roach            '66',
976*c1010edaSGreg Roach            '66',
977*c1010edaSGreg Roach            '66',
978*c1010edaSGreg Roach        ],
979*c1010edaSGreg Roach        'O'       => [
980*c1010edaSGreg Roach            '1',
981*c1010edaSGreg Roach            '0',
982*c1010edaSGreg Roach            '',
983*c1010edaSGreg Roach            '',
984*c1010edaSGreg Roach        ],
985*c1010edaSGreg Roach        'Ò'       => [
986*c1010edaSGreg Roach            '1',
987*c1010edaSGreg Roach            '0',
988*c1010edaSGreg Roach            '',
989*c1010edaSGreg Roach            '',
990*c1010edaSGreg Roach        ],
991*c1010edaSGreg Roach        'Ó'       => [
992*c1010edaSGreg Roach            '1',
993*c1010edaSGreg Roach            '0',
994*c1010edaSGreg Roach            '',
995*c1010edaSGreg Roach            '',
996*c1010edaSGreg Roach        ],
997*c1010edaSGreg Roach        'Ô'       => [
998*c1010edaSGreg Roach            '1',
999*c1010edaSGreg Roach            '0',
1000*c1010edaSGreg Roach            '',
1001*c1010edaSGreg Roach            '',
1002*c1010edaSGreg Roach        ],
1003*c1010edaSGreg Roach        'Õ'       => [
1004*c1010edaSGreg Roach            '1',
1005*c1010edaSGreg Roach            '0',
1006*c1010edaSGreg Roach            '',
1007*c1010edaSGreg Roach            '',
1008*c1010edaSGreg Roach        ],
1009*c1010edaSGreg Roach        'Ö'       => [
1010*c1010edaSGreg Roach            '1',
1011*c1010edaSGreg Roach            '0',
1012*c1010edaSGreg Roach            '',
1013*c1010edaSGreg Roach            '',
1014*c1010edaSGreg Roach        ],
1015*c1010edaSGreg Roach        'Ø'       => [
1016*c1010edaSGreg Roach            '1',
1017*c1010edaSGreg Roach            '0',
1018*c1010edaSGreg Roach            '',
1019*c1010edaSGreg Roach            '',
1020*c1010edaSGreg Roach        ],
1021*c1010edaSGreg Roach        'Ő'       => [
1022*c1010edaSGreg Roach            '1',
1023*c1010edaSGreg Roach            '0',
1024*c1010edaSGreg Roach            '',
1025*c1010edaSGreg Roach            '',
1026*c1010edaSGreg Roach        ],
1027*c1010edaSGreg Roach        'Œ'       => [
1028*c1010edaSGreg Roach            '1',
1029*c1010edaSGreg Roach            '0',
1030*c1010edaSGreg Roach            '',
1031*c1010edaSGreg Roach            '',
1032*c1010edaSGreg Roach        ],
1033*c1010edaSGreg Roach        'Ơ'       => [
1034*c1010edaSGreg Roach            '1',
1035*c1010edaSGreg Roach            '0',
1036*c1010edaSGreg Roach            '',
1037*c1010edaSGreg Roach            '',
1038*c1010edaSGreg Roach        ],
1039*c1010edaSGreg Roach        'Ọ'       => [
1040*c1010edaSGreg Roach            '1',
1041*c1010edaSGreg Roach            '0',
1042*c1010edaSGreg Roach            '',
1043*c1010edaSGreg Roach            '',
1044*c1010edaSGreg Roach        ],
1045*c1010edaSGreg Roach        'Ỏ'       => [
1046*c1010edaSGreg Roach            '1',
1047*c1010edaSGreg Roach            '0',
1048*c1010edaSGreg Roach            '',
1049*c1010edaSGreg Roach            '',
1050*c1010edaSGreg Roach        ],
1051*c1010edaSGreg Roach        'Ố'       => [
1052*c1010edaSGreg Roach            '1',
1053*c1010edaSGreg Roach            '0',
1054*c1010edaSGreg Roach            '',
1055*c1010edaSGreg Roach            '',
1056*c1010edaSGreg Roach        ],
1057*c1010edaSGreg Roach        'Ồ'       => [
1058*c1010edaSGreg Roach            '1',
1059*c1010edaSGreg Roach            '0',
1060*c1010edaSGreg Roach            '',
1061*c1010edaSGreg Roach            '',
1062*c1010edaSGreg Roach        ],
1063*c1010edaSGreg Roach        'Ổ'       => [
1064*c1010edaSGreg Roach            '1',
1065*c1010edaSGreg Roach            '0',
1066*c1010edaSGreg Roach            '',
1067*c1010edaSGreg Roach            '',
1068*c1010edaSGreg Roach        ],
1069*c1010edaSGreg Roach        'Ỗ'       => [
1070*c1010edaSGreg Roach            '1',
1071*c1010edaSGreg Roach            '0',
1072*c1010edaSGreg Roach            '',
1073*c1010edaSGreg Roach            '',
1074*c1010edaSGreg Roach        ],
1075*c1010edaSGreg Roach        'Ộ'       => [
1076*c1010edaSGreg Roach            '1',
1077*c1010edaSGreg Roach            '0',
1078*c1010edaSGreg Roach            '',
1079*c1010edaSGreg Roach            '',
1080*c1010edaSGreg Roach        ],
1081*c1010edaSGreg Roach        'Ớ'       => [
1082*c1010edaSGreg Roach            '1',
1083*c1010edaSGreg Roach            '0',
1084*c1010edaSGreg Roach            '',
1085*c1010edaSGreg Roach            '',
1086*c1010edaSGreg Roach        ],
1087*c1010edaSGreg Roach        'Ờ'       => [
1088*c1010edaSGreg Roach            '1',
1089*c1010edaSGreg Roach            '0',
1090*c1010edaSGreg Roach            '',
1091*c1010edaSGreg Roach            '',
1092*c1010edaSGreg Roach        ],
1093*c1010edaSGreg Roach        'Ở'       => [
1094*c1010edaSGreg Roach            '1',
1095*c1010edaSGreg Roach            '0',
1096*c1010edaSGreg Roach            '',
1097*c1010edaSGreg Roach            '',
1098*c1010edaSGreg Roach        ],
1099*c1010edaSGreg Roach        'Ỡ'       => [
1100*c1010edaSGreg Roach            '1',
1101*c1010edaSGreg Roach            '0',
1102*c1010edaSGreg Roach            '',
1103*c1010edaSGreg Roach            '',
1104*c1010edaSGreg Roach        ],
1105*c1010edaSGreg Roach        'Ợ'       => [
1106*c1010edaSGreg Roach            '1',
1107*c1010edaSGreg Roach            '0',
1108*c1010edaSGreg Roach            '',
1109*c1010edaSGreg Roach            '',
1110*c1010edaSGreg Roach        ],
1111*c1010edaSGreg Roach        'OE'      => [
1112*c1010edaSGreg Roach            '1',
1113*c1010edaSGreg Roach            '0',
1114*c1010edaSGreg Roach            '',
1115*c1010edaSGreg Roach            '',
1116*c1010edaSGreg Roach        ],
1117*c1010edaSGreg Roach        'OI'      => [
1118*c1010edaSGreg Roach            '1',
1119*c1010edaSGreg Roach            '0',
1120*c1010edaSGreg Roach            '1',
1121*c1010edaSGreg Roach            '',
1122*c1010edaSGreg Roach        ],
1123*c1010edaSGreg Roach        'OJ'      => [
1124*c1010edaSGreg Roach            '1',
1125*c1010edaSGreg Roach            '0',
1126*c1010edaSGreg Roach            '1',
1127*c1010edaSGreg Roach            '',
1128*c1010edaSGreg Roach        ],
1129*c1010edaSGreg Roach        'OU'      => [
1130*c1010edaSGreg Roach            '1',
1131*c1010edaSGreg Roach            '0',
1132*c1010edaSGreg Roach            '',
1133*c1010edaSGreg Roach            '',
1134*c1010edaSGreg Roach        ],
1135*c1010edaSGreg Roach        'OY'      => [
1136*c1010edaSGreg Roach            '1',
1137*c1010edaSGreg Roach            '0',
1138*c1010edaSGreg Roach            '1',
1139*c1010edaSGreg Roach            '',
1140*c1010edaSGreg Roach        ],
1141*c1010edaSGreg Roach        'P'       => [
1142*c1010edaSGreg Roach            '0',
1143*c1010edaSGreg Roach            '7',
1144*c1010edaSGreg Roach            '7',
1145*c1010edaSGreg Roach            '7',
1146*c1010edaSGreg Roach        ],
1147*c1010edaSGreg Roach        'PF'      => [
1148*c1010edaSGreg Roach            '0',
1149*c1010edaSGreg Roach            '7',
1150*c1010edaSGreg Roach            '7',
1151*c1010edaSGreg Roach            '7',
1152*c1010edaSGreg Roach        ],
1153*c1010edaSGreg Roach        'PH'      => [
1154*c1010edaSGreg Roach            '0',
1155*c1010edaSGreg Roach            '7',
1156*c1010edaSGreg Roach            '7',
1157*c1010edaSGreg Roach            '7',
1158*c1010edaSGreg Roach        ],
1159*c1010edaSGreg Roach        'Q'       => [
1160*c1010edaSGreg Roach            '0',
1161*c1010edaSGreg Roach            '5',
1162*c1010edaSGreg Roach            '5',
1163*c1010edaSGreg Roach            '5',
1164*c1010edaSGreg Roach        ],
1165*c1010edaSGreg Roach        'R'       => [
1166*c1010edaSGreg Roach            '0',
1167*c1010edaSGreg Roach            '9',
1168*c1010edaSGreg Roach            '9',
1169*c1010edaSGreg Roach            '9',
1170*c1010edaSGreg Roach        ],
1171*c1010edaSGreg Roach        'Ř'       => [
1172*c1010edaSGreg Roach            '0',
1173*c1010edaSGreg Roach            '4',
1174*c1010edaSGreg Roach            '4',
1175*c1010edaSGreg Roach            '4',
1176*c1010edaSGreg Roach        ],
1177*c1010edaSGreg Roach        'RS'      => [
1178*c1010edaSGreg Roach            '0',
1179*c1010edaSGreg Roach            '4',
1180*c1010edaSGreg Roach            '4',
1181*c1010edaSGreg Roach            '4',
1182*c1010edaSGreg Roach            '94',
1183*c1010edaSGreg Roach            '94',
1184*c1010edaSGreg Roach            '94',
1185*c1010edaSGreg Roach        ],
1186*c1010edaSGreg Roach        'RZ'      => [
1187*c1010edaSGreg Roach            '0',
1188*c1010edaSGreg Roach            '4',
1189*c1010edaSGreg Roach            '4',
1190*c1010edaSGreg Roach            '4',
1191*c1010edaSGreg Roach            '94',
1192*c1010edaSGreg Roach            '94',
1193*c1010edaSGreg Roach            '94',
1194*c1010edaSGreg Roach        ],
1195*c1010edaSGreg Roach        'S'       => [
1196*c1010edaSGreg Roach            '0',
1197*c1010edaSGreg Roach            '4',
1198*c1010edaSGreg Roach            '4',
1199*c1010edaSGreg Roach            '4',
1200*c1010edaSGreg Roach        ],
1201*c1010edaSGreg Roach        'Ś'       => [
1202*c1010edaSGreg Roach            '0',
1203*c1010edaSGreg Roach            '4',
1204*c1010edaSGreg Roach            '4',
1205*c1010edaSGreg Roach            '4',
1206*c1010edaSGreg Roach        ],
1207*c1010edaSGreg Roach        'Š'       => [
1208*c1010edaSGreg Roach            '0',
1209*c1010edaSGreg Roach            '4',
1210*c1010edaSGreg Roach            '4',
1211*c1010edaSGreg Roach            '4',
1212*c1010edaSGreg Roach        ],
1213*c1010edaSGreg Roach        'Ş'       => [
1214*c1010edaSGreg Roach            '0',
1215*c1010edaSGreg Roach            '4',
1216*c1010edaSGreg Roach            '4',
1217*c1010edaSGreg Roach            '4',
1218*c1010edaSGreg Roach        ],
1219*c1010edaSGreg Roach        'SC'      => [
1220*c1010edaSGreg Roach            '0',
1221*c1010edaSGreg Roach            '2',
1222*c1010edaSGreg Roach            '4',
1223*c1010edaSGreg Roach            '4',
1224*c1010edaSGreg Roach        ],
1225*c1010edaSGreg Roach        'ŠČ'      => [
1226*c1010edaSGreg Roach            '0',
1227*c1010edaSGreg Roach            '2',
1228*c1010edaSGreg Roach            '4',
1229*c1010edaSGreg Roach            '4',
1230*c1010edaSGreg Roach        ],
1231*c1010edaSGreg Roach        'SCH'     => [
1232*c1010edaSGreg Roach            '0',
1233*c1010edaSGreg Roach            '4',
1234*c1010edaSGreg Roach            '4',
1235*c1010edaSGreg Roach            '4',
1236*c1010edaSGreg Roach        ],
1237*c1010edaSGreg Roach        'SCHD'    => [
1238*c1010edaSGreg Roach            '0',
1239*c1010edaSGreg Roach            '2',
1240*c1010edaSGreg Roach            '43',
1241*c1010edaSGreg Roach            '43',
1242*c1010edaSGreg Roach        ],
1243*c1010edaSGreg Roach        'SCHT'    => [
1244*c1010edaSGreg Roach            '0',
1245*c1010edaSGreg Roach            '2',
1246*c1010edaSGreg Roach            '43',
1247*c1010edaSGreg Roach            '43',
1248*c1010edaSGreg Roach        ],
1249*c1010edaSGreg Roach        'SCHTCH'  => [
1250*c1010edaSGreg Roach            '0',
1251*c1010edaSGreg Roach            '2',
1252*c1010edaSGreg Roach            '4',
1253*c1010edaSGreg Roach            '4',
1254*c1010edaSGreg Roach        ],
1255*c1010edaSGreg Roach        'SCHTSCH' => [
1256*c1010edaSGreg Roach            '0',
1257*c1010edaSGreg Roach            '2',
1258*c1010edaSGreg Roach            '4',
1259*c1010edaSGreg Roach            '4',
1260*c1010edaSGreg Roach        ],
1261*c1010edaSGreg Roach        'SCHTSH'  => [
1262*c1010edaSGreg Roach            '0',
1263*c1010edaSGreg Roach            '2',
1264*c1010edaSGreg Roach            '4',
1265*c1010edaSGreg Roach            '4',
1266*c1010edaSGreg Roach        ],
1267*c1010edaSGreg Roach        'SD'      => [
1268*c1010edaSGreg Roach            '0',
1269*c1010edaSGreg Roach            '2',
1270*c1010edaSGreg Roach            '43',
1271*c1010edaSGreg Roach            '43',
1272*c1010edaSGreg Roach        ],
1273*c1010edaSGreg Roach        'SH'      => [
1274*c1010edaSGreg Roach            '0',
1275*c1010edaSGreg Roach            '4',
1276*c1010edaSGreg Roach            '4',
1277*c1010edaSGreg Roach            '4',
1278*c1010edaSGreg Roach        ],
1279*c1010edaSGreg Roach        'SHCH'    => [
1280*c1010edaSGreg Roach            '0',
1281*c1010edaSGreg Roach            '2',
1282*c1010edaSGreg Roach            '4',
1283*c1010edaSGreg Roach            '4',
1284*c1010edaSGreg Roach        ],
1285*c1010edaSGreg Roach        'SHD'     => [
1286*c1010edaSGreg Roach            '0',
1287*c1010edaSGreg Roach            '2',
1288*c1010edaSGreg Roach            '43',
1289*c1010edaSGreg Roach            '43',
1290*c1010edaSGreg Roach        ],
1291*c1010edaSGreg Roach        'SHT'     => [
1292*c1010edaSGreg Roach            '0',
1293*c1010edaSGreg Roach            '2',
1294*c1010edaSGreg Roach            '43',
1295*c1010edaSGreg Roach            '43',
1296*c1010edaSGreg Roach        ],
1297*c1010edaSGreg Roach        'SHTCH'   => [
1298*c1010edaSGreg Roach            '0',
1299*c1010edaSGreg Roach            '2',
1300*c1010edaSGreg Roach            '4',
1301*c1010edaSGreg Roach            '4',
1302*c1010edaSGreg Roach        ],
1303*c1010edaSGreg Roach        'SHTSH'   => [
1304*c1010edaSGreg Roach            '0',
1305*c1010edaSGreg Roach            '2',
1306*c1010edaSGreg Roach            '4',
1307*c1010edaSGreg Roach            '4',
1308*c1010edaSGreg Roach        ],
1309*c1010edaSGreg Roach        'ß'       => [
1310*c1010edaSGreg Roach            '0',
1311*c1010edaSGreg Roach            '',
1312*c1010edaSGreg Roach            '4',
1313*c1010edaSGreg Roach            '4',
1314*c1010edaSGreg Roach        ],
1315*c1010edaSGreg Roach        'ST'      => [
1316*c1010edaSGreg Roach            '0',
1317*c1010edaSGreg Roach            '2',
1318*c1010edaSGreg Roach            '43',
1319*c1010edaSGreg Roach            '43',
1320*c1010edaSGreg Roach        ],
1321*c1010edaSGreg Roach        'STCH'    => [
1322*c1010edaSGreg Roach            '0',
1323*c1010edaSGreg Roach            '2',
1324*c1010edaSGreg Roach            '4',
1325*c1010edaSGreg Roach            '4',
1326*c1010edaSGreg Roach        ],
1327*c1010edaSGreg Roach        'STRS'    => [
1328*c1010edaSGreg Roach            '0',
1329*c1010edaSGreg Roach            '2',
1330*c1010edaSGreg Roach            '4',
1331*c1010edaSGreg Roach            '4',
1332*c1010edaSGreg Roach        ],
1333*c1010edaSGreg Roach        'STRZ'    => [
1334*c1010edaSGreg Roach            '0',
1335*c1010edaSGreg Roach            '2',
1336*c1010edaSGreg Roach            '4',
1337*c1010edaSGreg Roach            '4',
1338*c1010edaSGreg Roach        ],
1339*c1010edaSGreg Roach        'STSCH'   => [
1340*c1010edaSGreg Roach            '0',
1341*c1010edaSGreg Roach            '2',
1342*c1010edaSGreg Roach            '4',
1343*c1010edaSGreg Roach            '4',
1344*c1010edaSGreg Roach        ],
1345*c1010edaSGreg Roach        'STSH'    => [
1346*c1010edaSGreg Roach            '0',
1347*c1010edaSGreg Roach            '2',
1348*c1010edaSGreg Roach            '4',
1349*c1010edaSGreg Roach            '4',
1350*c1010edaSGreg Roach        ],
1351*c1010edaSGreg Roach        'SSZ'     => [
1352*c1010edaSGreg Roach            '0',
1353*c1010edaSGreg Roach            '4',
1354*c1010edaSGreg Roach            '4',
1355*c1010edaSGreg Roach            '4',
1356*c1010edaSGreg Roach        ],
1357*c1010edaSGreg Roach        'SZ'      => [
1358*c1010edaSGreg Roach            '0',
1359*c1010edaSGreg Roach            '4',
1360*c1010edaSGreg Roach            '4',
1361*c1010edaSGreg Roach            '4',
1362*c1010edaSGreg Roach        ],
1363*c1010edaSGreg Roach        'SZCS'    => [
1364*c1010edaSGreg Roach            '0',
1365*c1010edaSGreg Roach            '2',
1366*c1010edaSGreg Roach            '4',
1367*c1010edaSGreg Roach            '4',
1368*c1010edaSGreg Roach        ],
1369*c1010edaSGreg Roach        'SZCZ'    => [
1370*c1010edaSGreg Roach            '0',
1371*c1010edaSGreg Roach            '2',
1372*c1010edaSGreg Roach            '4',
1373*c1010edaSGreg Roach            '4',
1374*c1010edaSGreg Roach        ],
1375*c1010edaSGreg Roach        'SZD'     => [
1376*c1010edaSGreg Roach            '0',
1377*c1010edaSGreg Roach            '2',
1378*c1010edaSGreg Roach            '43',
1379*c1010edaSGreg Roach            '43',
1380*c1010edaSGreg Roach        ],
1381*c1010edaSGreg Roach        'SZT'     => [
1382*c1010edaSGreg Roach            '0',
1383*c1010edaSGreg Roach            '2',
1384*c1010edaSGreg Roach            '43',
1385*c1010edaSGreg Roach            '43',
1386*c1010edaSGreg Roach        ],
1387*c1010edaSGreg Roach        'T'       => [
1388*c1010edaSGreg Roach            '0',
1389*c1010edaSGreg Roach            '3',
1390*c1010edaSGreg Roach            '3',
1391*c1010edaSGreg Roach            '3',
1392*c1010edaSGreg Roach        ],
1393*c1010edaSGreg Roach        'Ť'       => [
1394*c1010edaSGreg Roach            '0',
1395*c1010edaSGreg Roach            '3',
1396*c1010edaSGreg Roach            '3',
1397*c1010edaSGreg Roach            '3',
1398*c1010edaSGreg Roach        ],
1399*c1010edaSGreg Roach        'Ţ'       => [
1400*c1010edaSGreg Roach            '0',
1401*c1010edaSGreg Roach            '3',
1402*c1010edaSGreg Roach            '3',
1403*c1010edaSGreg Roach            '3',
1404*c1010edaSGreg Roach            '4',
1405*c1010edaSGreg Roach            '4',
1406*c1010edaSGreg Roach            '4',
1407*c1010edaSGreg Roach        ],
1408*c1010edaSGreg Roach        'TC'      => [
1409*c1010edaSGreg Roach            '0',
1410*c1010edaSGreg Roach            '4',
1411*c1010edaSGreg Roach            '4',
1412*c1010edaSGreg Roach            '4',
1413*c1010edaSGreg Roach        ],
1414*c1010edaSGreg Roach        'TCH'     => [
1415*c1010edaSGreg Roach            '0',
1416*c1010edaSGreg Roach            '4',
1417*c1010edaSGreg Roach            '4',
1418*c1010edaSGreg Roach            '4',
1419*c1010edaSGreg Roach        ],
1420*c1010edaSGreg Roach        'TH'      => [
1421*c1010edaSGreg Roach            '0',
1422*c1010edaSGreg Roach            '3',
1423*c1010edaSGreg Roach            '3',
1424*c1010edaSGreg Roach            '3',
1425*c1010edaSGreg Roach        ],
1426*c1010edaSGreg Roach        'TRS'     => [
1427*c1010edaSGreg Roach            '0',
1428*c1010edaSGreg Roach            '4',
1429*c1010edaSGreg Roach            '4',
1430*c1010edaSGreg Roach            '4',
1431*c1010edaSGreg Roach        ],
1432*c1010edaSGreg Roach        'TRZ'     => [
1433*c1010edaSGreg Roach            '0',
1434*c1010edaSGreg Roach            '4',
1435*c1010edaSGreg Roach            '4',
1436*c1010edaSGreg Roach            '4',
1437*c1010edaSGreg Roach        ],
1438*c1010edaSGreg Roach        'TS'      => [
1439*c1010edaSGreg Roach            '0',
1440*c1010edaSGreg Roach            '4',
1441*c1010edaSGreg Roach            '4',
1442*c1010edaSGreg Roach            '4',
1443*c1010edaSGreg Roach        ],
1444*c1010edaSGreg Roach        'TSCH'    => [
1445*c1010edaSGreg Roach            '0',
1446*c1010edaSGreg Roach            '4',
1447*c1010edaSGreg Roach            '4',
1448*c1010edaSGreg Roach            '4',
1449*c1010edaSGreg Roach        ],
1450*c1010edaSGreg Roach        'TSH'     => [
1451*c1010edaSGreg Roach            '0',
1452*c1010edaSGreg Roach            '4',
1453*c1010edaSGreg Roach            '4',
1454*c1010edaSGreg Roach            '4',
1455*c1010edaSGreg Roach        ],
1456*c1010edaSGreg Roach        'TSZ'     => [
1457*c1010edaSGreg Roach            '0',
1458*c1010edaSGreg Roach            '4',
1459*c1010edaSGreg Roach            '4',
1460*c1010edaSGreg Roach            '4',
1461*c1010edaSGreg Roach        ],
1462*c1010edaSGreg Roach        'TTCH'    => [
1463*c1010edaSGreg Roach            '0',
1464*c1010edaSGreg Roach            '4',
1465*c1010edaSGreg Roach            '4',
1466*c1010edaSGreg Roach            '4',
1467*c1010edaSGreg Roach        ],
1468*c1010edaSGreg Roach        'TTS'     => [
1469*c1010edaSGreg Roach            '0',
1470*c1010edaSGreg Roach            '4',
1471*c1010edaSGreg Roach            '4',
1472*c1010edaSGreg Roach            '4',
1473*c1010edaSGreg Roach        ],
1474*c1010edaSGreg Roach        'TTSCH'   => [
1475*c1010edaSGreg Roach            '0',
1476*c1010edaSGreg Roach            '4',
1477*c1010edaSGreg Roach            '4',
1478*c1010edaSGreg Roach            '4',
1479*c1010edaSGreg Roach        ],
1480*c1010edaSGreg Roach        'TTSZ'    => [
1481*c1010edaSGreg Roach            '0',
1482*c1010edaSGreg Roach            '4',
1483*c1010edaSGreg Roach            '4',
1484*c1010edaSGreg Roach            '4',
1485*c1010edaSGreg Roach        ],
1486*c1010edaSGreg Roach        'TTZ'     => [
1487*c1010edaSGreg Roach            '0',
1488*c1010edaSGreg Roach            '4',
1489*c1010edaSGreg Roach            '4',
1490*c1010edaSGreg Roach            '4',
1491*c1010edaSGreg Roach        ],
1492*c1010edaSGreg Roach        'TZ'      => [
1493*c1010edaSGreg Roach            '0',
1494*c1010edaSGreg Roach            '4',
1495*c1010edaSGreg Roach            '4',
1496*c1010edaSGreg Roach            '4',
1497*c1010edaSGreg Roach        ],
1498*c1010edaSGreg Roach        'TZS'     => [
1499*c1010edaSGreg Roach            '0',
1500*c1010edaSGreg Roach            '4',
1501*c1010edaSGreg Roach            '4',
1502*c1010edaSGreg Roach            '4',
1503*c1010edaSGreg Roach        ],
1504*c1010edaSGreg Roach        'U'       => [
1505*c1010edaSGreg Roach            '1',
1506*c1010edaSGreg Roach            '0',
1507*c1010edaSGreg Roach            '',
1508*c1010edaSGreg Roach            '',
1509*c1010edaSGreg Roach        ],
1510*c1010edaSGreg Roach        'Ù'       => [
1511*c1010edaSGreg Roach            '1',
1512*c1010edaSGreg Roach            '0',
1513*c1010edaSGreg Roach            '',
1514*c1010edaSGreg Roach            '',
1515*c1010edaSGreg Roach        ],
1516*c1010edaSGreg Roach        'Ú'       => [
1517*c1010edaSGreg Roach            '1',
1518*c1010edaSGreg Roach            '0',
1519*c1010edaSGreg Roach            '',
1520*c1010edaSGreg Roach            '',
1521*c1010edaSGreg Roach        ],
1522*c1010edaSGreg Roach        'Û'       => [
1523*c1010edaSGreg Roach            '1',
1524*c1010edaSGreg Roach            '0',
1525*c1010edaSGreg Roach            '',
1526*c1010edaSGreg Roach            '',
1527*c1010edaSGreg Roach        ],
1528*c1010edaSGreg Roach        'Ü'       => [
1529*c1010edaSGreg Roach            '1',
1530*c1010edaSGreg Roach            '0',
1531*c1010edaSGreg Roach            '',
1532*c1010edaSGreg Roach            '',
1533*c1010edaSGreg Roach        ],
1534*c1010edaSGreg Roach        'Ũ'       => [
1535*c1010edaSGreg Roach            '1',
1536*c1010edaSGreg Roach            '0',
1537*c1010edaSGreg Roach            '',
1538*c1010edaSGreg Roach            '',
1539*c1010edaSGreg Roach        ],
1540*c1010edaSGreg Roach        'Ū'       => [
1541*c1010edaSGreg Roach            '1',
1542*c1010edaSGreg Roach            '0',
1543*c1010edaSGreg Roach            '',
1544*c1010edaSGreg Roach            '',
1545*c1010edaSGreg Roach        ],
1546*c1010edaSGreg Roach        'Ů'       => [
1547*c1010edaSGreg Roach            '1',
1548*c1010edaSGreg Roach            '0',
1549*c1010edaSGreg Roach            '',
1550*c1010edaSGreg Roach            '',
1551*c1010edaSGreg Roach        ],
1552*c1010edaSGreg Roach        'Ű'       => [
1553*c1010edaSGreg Roach            '1',
1554*c1010edaSGreg Roach            '0',
1555*c1010edaSGreg Roach            '',
1556*c1010edaSGreg Roach            '',
1557*c1010edaSGreg Roach        ],
1558*c1010edaSGreg Roach        'Ų'       => [
1559*c1010edaSGreg Roach            '1',
1560*c1010edaSGreg Roach            '0',
1561*c1010edaSGreg Roach            '',
1562*c1010edaSGreg Roach            '',
1563*c1010edaSGreg Roach        ],
1564*c1010edaSGreg Roach        'Ư'       => [
1565*c1010edaSGreg Roach            '1',
1566*c1010edaSGreg Roach            '0',
1567*c1010edaSGreg Roach            '',
1568*c1010edaSGreg Roach            '',
1569*c1010edaSGreg Roach        ],
1570*c1010edaSGreg Roach        'Ụ'       => [
1571*c1010edaSGreg Roach            '1',
1572*c1010edaSGreg Roach            '0',
1573*c1010edaSGreg Roach            '',
1574*c1010edaSGreg Roach            '',
1575*c1010edaSGreg Roach        ],
1576*c1010edaSGreg Roach        'Ủ'       => [
1577*c1010edaSGreg Roach            '1',
1578*c1010edaSGreg Roach            '0',
1579*c1010edaSGreg Roach            '',
1580*c1010edaSGreg Roach            '',
1581*c1010edaSGreg Roach        ],
1582*c1010edaSGreg Roach        'Ứ'       => [
1583*c1010edaSGreg Roach            '1',
1584*c1010edaSGreg Roach            '0',
1585*c1010edaSGreg Roach            '',
1586*c1010edaSGreg Roach            '',
1587*c1010edaSGreg Roach        ],
1588*c1010edaSGreg Roach        'Ừ'       => [
1589*c1010edaSGreg Roach            '1',
1590*c1010edaSGreg Roach            '0',
1591*c1010edaSGreg Roach            '',
1592*c1010edaSGreg Roach            '',
1593*c1010edaSGreg Roach        ],
1594*c1010edaSGreg Roach        'Ử'       => [
1595*c1010edaSGreg Roach            '1',
1596*c1010edaSGreg Roach            '0',
1597*c1010edaSGreg Roach            '',
1598*c1010edaSGreg Roach            '',
1599*c1010edaSGreg Roach        ],
1600*c1010edaSGreg Roach        'Ữ'       => [
1601*c1010edaSGreg Roach            '1',
1602*c1010edaSGreg Roach            '0',
1603*c1010edaSGreg Roach            '',
1604*c1010edaSGreg Roach            '',
1605*c1010edaSGreg Roach        ],
1606*c1010edaSGreg Roach        'Ự'       => [
1607*c1010edaSGreg Roach            '1',
1608*c1010edaSGreg Roach            '0',
1609*c1010edaSGreg Roach            '',
1610*c1010edaSGreg Roach            '',
1611*c1010edaSGreg Roach        ],
1612*c1010edaSGreg Roach        'UE'      => [
1613*c1010edaSGreg Roach            '1',
1614*c1010edaSGreg Roach            '0',
1615*c1010edaSGreg Roach            '',
1616*c1010edaSGreg Roach            '',
1617*c1010edaSGreg Roach        ],
1618*c1010edaSGreg Roach        'UI'      => [
1619*c1010edaSGreg Roach            '1',
1620*c1010edaSGreg Roach            '0',
1621*c1010edaSGreg Roach            '1',
1622*c1010edaSGreg Roach            '',
1623*c1010edaSGreg Roach        ],
1624*c1010edaSGreg Roach        'UJ'      => [
1625*c1010edaSGreg Roach            '1',
1626*c1010edaSGreg Roach            '0',
1627*c1010edaSGreg Roach            '1',
1628*c1010edaSGreg Roach            '',
1629*c1010edaSGreg Roach        ],
1630*c1010edaSGreg Roach        'UY'      => [
1631*c1010edaSGreg Roach            '1',
1632*c1010edaSGreg Roach            '0',
1633*c1010edaSGreg Roach            '1',
1634*c1010edaSGreg Roach            '',
1635*c1010edaSGreg Roach        ],
1636*c1010edaSGreg Roach        'UW'      => [
1637*c1010edaSGreg Roach            '1',
1638*c1010edaSGreg Roach            '0',
1639*c1010edaSGreg Roach            '1',
1640*c1010edaSGreg Roach            '',
1641*c1010edaSGreg Roach            '0',
1642*c1010edaSGreg Roach            '7',
1643*c1010edaSGreg Roach            '7',
1644*c1010edaSGreg Roach        ],
1645*c1010edaSGreg Roach        'V'       => [
1646*c1010edaSGreg Roach            '0',
1647*c1010edaSGreg Roach            '7',
1648*c1010edaSGreg Roach            '7',
1649*c1010edaSGreg Roach            '7',
1650*c1010edaSGreg Roach        ],
1651*c1010edaSGreg Roach        'W'       => [
1652*c1010edaSGreg Roach            '0',
1653*c1010edaSGreg Roach            '7',
1654*c1010edaSGreg Roach            '7',
1655*c1010edaSGreg Roach            '7',
1656*c1010edaSGreg Roach        ],
1657*c1010edaSGreg Roach        'X'       => [
1658*c1010edaSGreg Roach            '0',
1659*c1010edaSGreg Roach            '5',
1660*c1010edaSGreg Roach            '54',
1661*c1010edaSGreg Roach            '54',
1662*c1010edaSGreg Roach        ],
1663*c1010edaSGreg Roach        'Y'       => [
1664*c1010edaSGreg Roach            '1',
1665*c1010edaSGreg Roach            '1',
1666*c1010edaSGreg Roach            '',
1667*c1010edaSGreg Roach            '',
1668*c1010edaSGreg Roach        ],
1669*c1010edaSGreg Roach        'Ý'       => [
1670*c1010edaSGreg Roach            '1',
1671*c1010edaSGreg Roach            '1',
1672*c1010edaSGreg Roach            '',
1673*c1010edaSGreg Roach            '',
1674*c1010edaSGreg Roach        ],
1675*c1010edaSGreg Roach        'Ỳ'       => [
1676*c1010edaSGreg Roach            '1',
1677*c1010edaSGreg Roach            '1',
1678*c1010edaSGreg Roach            '',
1679*c1010edaSGreg Roach            '',
1680*c1010edaSGreg Roach        ],
1681*c1010edaSGreg Roach        'Ỵ'       => [
1682*c1010edaSGreg Roach            '1',
1683*c1010edaSGreg Roach            '1',
1684*c1010edaSGreg Roach            '',
1685*c1010edaSGreg Roach            '',
1686*c1010edaSGreg Roach        ],
1687*c1010edaSGreg Roach        'Ỷ'       => [
1688*c1010edaSGreg Roach            '1',
1689*c1010edaSGreg Roach            '1',
1690*c1010edaSGreg Roach            '',
1691*c1010edaSGreg Roach            '',
1692*c1010edaSGreg Roach        ],
1693*c1010edaSGreg Roach        'Ỹ'       => [
1694*c1010edaSGreg Roach            '1',
1695*c1010edaSGreg Roach            '1',
1696*c1010edaSGreg Roach            '',
1697*c1010edaSGreg Roach            '',
1698*c1010edaSGreg Roach        ],
1699*c1010edaSGreg Roach        'Z'       => [
1700*c1010edaSGreg Roach            '0',
1701*c1010edaSGreg Roach            '4',
1702*c1010edaSGreg Roach            '4',
1703*c1010edaSGreg Roach            '4',
1704*c1010edaSGreg Roach        ],
1705*c1010edaSGreg Roach        'Ź'       => [
1706*c1010edaSGreg Roach            '0',
1707*c1010edaSGreg Roach            '4',
1708*c1010edaSGreg Roach            '4',
1709*c1010edaSGreg Roach            '4',
1710*c1010edaSGreg Roach        ],
1711*c1010edaSGreg Roach        'Ż'       => [
1712*c1010edaSGreg Roach            '0',
1713*c1010edaSGreg Roach            '4',
1714*c1010edaSGreg Roach            '4',
1715*c1010edaSGreg Roach            '4',
1716*c1010edaSGreg Roach        ],
1717*c1010edaSGreg Roach        'Ž'       => [
1718*c1010edaSGreg Roach            '0',
1719*c1010edaSGreg Roach            '4',
1720*c1010edaSGreg Roach            '4',
1721*c1010edaSGreg Roach            '4',
1722*c1010edaSGreg Roach        ],
1723*c1010edaSGreg Roach        'ZD'      => [
1724*c1010edaSGreg Roach            '0',
1725*c1010edaSGreg Roach            '2',
1726*c1010edaSGreg Roach            '43',
1727*c1010edaSGreg Roach            '43',
1728*c1010edaSGreg Roach        ],
1729*c1010edaSGreg Roach        'ZDZ'     => [
1730*c1010edaSGreg Roach            '0',
1731*c1010edaSGreg Roach            '2',
1732*c1010edaSGreg Roach            '4',
1733*c1010edaSGreg Roach            '4',
1734*c1010edaSGreg Roach        ],
1735*c1010edaSGreg Roach        'ZDZH'    => [
1736*c1010edaSGreg Roach            '0',
1737*c1010edaSGreg Roach            '2',
1738*c1010edaSGreg Roach            '4',
1739*c1010edaSGreg Roach            '4',
1740*c1010edaSGreg Roach        ],
1741*c1010edaSGreg Roach        'ZH'      => [
1742*c1010edaSGreg Roach            '0',
1743*c1010edaSGreg Roach            '4',
1744*c1010edaSGreg Roach            '4',
1745*c1010edaSGreg Roach            '4',
1746*c1010edaSGreg Roach        ],
1747*c1010edaSGreg Roach        'ZHD'     => [
1748*c1010edaSGreg Roach            '0',
1749*c1010edaSGreg Roach            '2',
1750*c1010edaSGreg Roach            '43',
1751*c1010edaSGreg Roach            '43',
1752*c1010edaSGreg Roach        ],
1753*c1010edaSGreg Roach        'ZHDZH'   => [
1754*c1010edaSGreg Roach            '0',
1755*c1010edaSGreg Roach            '2',
1756*c1010edaSGreg Roach            '4',
1757*c1010edaSGreg Roach            '4',
1758*c1010edaSGreg Roach        ],
1759*c1010edaSGreg Roach        'ZS'      => [
1760*c1010edaSGreg Roach            '0',
1761*c1010edaSGreg Roach            '4',
1762*c1010edaSGreg Roach            '4',
1763*c1010edaSGreg Roach            '4',
1764*c1010edaSGreg Roach        ],
1765*c1010edaSGreg Roach        'ZSCH'    => [
1766*c1010edaSGreg Roach            '0',
1767*c1010edaSGreg Roach            '4',
1768*c1010edaSGreg Roach            '4',
1769*c1010edaSGreg Roach            '4',
1770*c1010edaSGreg Roach        ],
1771*c1010edaSGreg Roach        'ZSH'     => [
1772*c1010edaSGreg Roach            '0',
1773*c1010edaSGreg Roach            '4',
1774*c1010edaSGreg Roach            '4',
1775*c1010edaSGreg Roach            '4',
1776*c1010edaSGreg Roach        ],
1777*c1010edaSGreg Roach        'ZZS'     => [
1778*c1010edaSGreg Roach            '0',
1779*c1010edaSGreg Roach            '4',
1780*c1010edaSGreg Roach            '4',
1781*c1010edaSGreg Roach            '4',
1782*c1010edaSGreg Roach        ],
1783a25f0a04SGreg Roach        // Cyrillic alphabet
1784*c1010edaSGreg Roach        'А'       => [
1785*c1010edaSGreg Roach            '1',
1786*c1010edaSGreg Roach            '0',
1787*c1010edaSGreg Roach            '',
1788*c1010edaSGreg Roach            '',
1789*c1010edaSGreg Roach        ],
1790*c1010edaSGreg Roach        'Б'       => [
1791*c1010edaSGreg Roach            '0',
1792*c1010edaSGreg Roach            '7',
1793*c1010edaSGreg Roach            '7',
1794*c1010edaSGreg Roach            '7',
1795*c1010edaSGreg Roach        ],
1796*c1010edaSGreg Roach        'В'       => [
1797*c1010edaSGreg Roach            '0',
1798*c1010edaSGreg Roach            '7',
1799*c1010edaSGreg Roach            '7',
1800*c1010edaSGreg Roach            '7',
1801*c1010edaSGreg Roach        ],
1802*c1010edaSGreg Roach        'Г'       => [
1803*c1010edaSGreg Roach            '0',
1804*c1010edaSGreg Roach            '5',
1805*c1010edaSGreg Roach            '5',
1806*c1010edaSGreg Roach            '5',
1807*c1010edaSGreg Roach        ],
1808*c1010edaSGreg Roach        'Д'       => [
1809*c1010edaSGreg Roach            '0',
1810*c1010edaSGreg Roach            '3',
1811*c1010edaSGreg Roach            '3',
1812*c1010edaSGreg Roach            '3',
1813*c1010edaSGreg Roach        ],
1814*c1010edaSGreg Roach        'ДЗ'      => [
1815*c1010edaSGreg Roach            '0',
1816*c1010edaSGreg Roach            '4',
1817*c1010edaSGreg Roach            '4',
1818*c1010edaSGreg Roach            '4',
1819*c1010edaSGreg Roach        ],
1820*c1010edaSGreg Roach        'Е'       => [
1821*c1010edaSGreg Roach            '1',
1822*c1010edaSGreg Roach            '0',
1823*c1010edaSGreg Roach            '',
1824*c1010edaSGreg Roach            '',
1825*c1010edaSGreg Roach        ],
1826*c1010edaSGreg Roach        'Ё'       => [
1827*c1010edaSGreg Roach            '1',
1828*c1010edaSGreg Roach            '0',
1829*c1010edaSGreg Roach            '',
1830*c1010edaSGreg Roach            '',
1831*c1010edaSGreg Roach        ],
1832*c1010edaSGreg Roach        'Ж'       => [
1833*c1010edaSGreg Roach            '0',
1834*c1010edaSGreg Roach            '4',
1835*c1010edaSGreg Roach            '4',
1836*c1010edaSGreg Roach            '4',
1837*c1010edaSGreg Roach        ],
1838*c1010edaSGreg Roach        'З'       => [
1839*c1010edaSGreg Roach            '0',
1840*c1010edaSGreg Roach            '4',
1841*c1010edaSGreg Roach            '4',
1842*c1010edaSGreg Roach            '4',
1843*c1010edaSGreg Roach        ],
1844*c1010edaSGreg Roach        'И'       => [
1845*c1010edaSGreg Roach            '1',
1846*c1010edaSGreg Roach            '0',
1847*c1010edaSGreg Roach            '',
1848*c1010edaSGreg Roach            '',
1849*c1010edaSGreg Roach        ],
1850*c1010edaSGreg Roach        'Й'       => [
1851*c1010edaSGreg Roach            '1',
1852*c1010edaSGreg Roach            '1',
1853*c1010edaSGreg Roach            '',
1854*c1010edaSGreg Roach            '',
1855*c1010edaSGreg Roach            '4',
1856*c1010edaSGreg Roach            '4',
1857*c1010edaSGreg Roach            '4',
1858*c1010edaSGreg Roach        ],
1859*c1010edaSGreg Roach        'К'       => [
1860*c1010edaSGreg Roach            '0',
1861*c1010edaSGreg Roach            '5',
1862*c1010edaSGreg Roach            '5',
1863*c1010edaSGreg Roach            '5',
1864*c1010edaSGreg Roach        ],
1865*c1010edaSGreg Roach        'Л'       => [
1866*c1010edaSGreg Roach            '0',
1867*c1010edaSGreg Roach            '8',
1868*c1010edaSGreg Roach            '8',
1869*c1010edaSGreg Roach            '8',
1870*c1010edaSGreg Roach        ],
1871*c1010edaSGreg Roach        'М'       => [
1872*c1010edaSGreg Roach            '0',
1873*c1010edaSGreg Roach            '6',
1874*c1010edaSGreg Roach            '6',
1875*c1010edaSGreg Roach            '6',
1876*c1010edaSGreg Roach        ],
1877*c1010edaSGreg Roach        'Н'       => [
1878*c1010edaSGreg Roach            '0',
1879*c1010edaSGreg Roach            '6',
1880*c1010edaSGreg Roach            '6',
1881*c1010edaSGreg Roach            '6',
1882*c1010edaSGreg Roach        ],
1883*c1010edaSGreg Roach        'О'       => [
1884*c1010edaSGreg Roach            '1',
1885*c1010edaSGreg Roach            '0',
1886*c1010edaSGreg Roach            '',
1887*c1010edaSGreg Roach            '',
1888*c1010edaSGreg Roach        ],
1889*c1010edaSGreg Roach        'П'       => [
1890*c1010edaSGreg Roach            '0',
1891*c1010edaSGreg Roach            '7',
1892*c1010edaSGreg Roach            '7',
1893*c1010edaSGreg Roach            '7',
1894*c1010edaSGreg Roach        ],
1895*c1010edaSGreg Roach        'Р'       => [
1896*c1010edaSGreg Roach            '0',
1897*c1010edaSGreg Roach            '9',
1898*c1010edaSGreg Roach            '9',
1899*c1010edaSGreg Roach            '9',
1900*c1010edaSGreg Roach        ],
1901*c1010edaSGreg Roach        'РЖ'      => [
1902*c1010edaSGreg Roach            '0',
1903*c1010edaSGreg Roach            '4',
1904*c1010edaSGreg Roach            '4',
1905*c1010edaSGreg Roach            '4',
1906*c1010edaSGreg Roach        ],
1907*c1010edaSGreg Roach        'С'       => [
1908*c1010edaSGreg Roach            '0',
1909*c1010edaSGreg Roach            '4',
1910*c1010edaSGreg Roach            '4',
1911*c1010edaSGreg Roach            '4',
1912*c1010edaSGreg Roach        ],
1913*c1010edaSGreg Roach        'Т'       => [
1914*c1010edaSGreg Roach            '0',
1915*c1010edaSGreg Roach            '3',
1916*c1010edaSGreg Roach            '3',
1917*c1010edaSGreg Roach            '3',
1918*c1010edaSGreg Roach        ],
1919*c1010edaSGreg Roach        'У'       => [
1920*c1010edaSGreg Roach            '1',
1921*c1010edaSGreg Roach            '0',
1922*c1010edaSGreg Roach            '',
1923*c1010edaSGreg Roach            '',
1924*c1010edaSGreg Roach        ],
1925*c1010edaSGreg Roach        'Ф'       => [
1926*c1010edaSGreg Roach            '0',
1927*c1010edaSGreg Roach            '7',
1928*c1010edaSGreg Roach            '7',
1929*c1010edaSGreg Roach            '7',
1930*c1010edaSGreg Roach        ],
1931*c1010edaSGreg Roach        'Х'       => [
1932*c1010edaSGreg Roach            '0',
1933*c1010edaSGreg Roach            '5',
1934*c1010edaSGreg Roach            '5',
1935*c1010edaSGreg Roach            '5',
1936*c1010edaSGreg Roach        ],
1937*c1010edaSGreg Roach        'Ц'       => [
1938*c1010edaSGreg Roach            '0',
1939*c1010edaSGreg Roach            '4',
1940*c1010edaSGreg Roach            '4',
1941*c1010edaSGreg Roach            '4',
1942*c1010edaSGreg Roach        ],
1943*c1010edaSGreg Roach        'Ч'       => [
1944*c1010edaSGreg Roach            '0',
1945*c1010edaSGreg Roach            '4',
1946*c1010edaSGreg Roach            '4',
1947*c1010edaSGreg Roach            '4',
1948*c1010edaSGreg Roach        ],
1949*c1010edaSGreg Roach        'Ш'       => [
1950*c1010edaSGreg Roach            '0',
1951*c1010edaSGreg Roach            '4',
1952*c1010edaSGreg Roach            '4',
1953*c1010edaSGreg Roach            '4',
1954*c1010edaSGreg Roach        ],
1955*c1010edaSGreg Roach        'Щ'       => [
1956*c1010edaSGreg Roach            '0',
1957*c1010edaSGreg Roach            '2',
1958*c1010edaSGreg Roach            '4',
1959*c1010edaSGreg Roach            '4',
1960*c1010edaSGreg Roach        ],
1961*c1010edaSGreg Roach        'Ъ'       => [
1962*c1010edaSGreg Roach            '0',
1963*c1010edaSGreg Roach            '',
1964*c1010edaSGreg Roach            '',
1965*c1010edaSGreg Roach            '',
1966*c1010edaSGreg Roach        ],
1967*c1010edaSGreg Roach        'Ы'       => [
1968*c1010edaSGreg Roach            '0',
1969*c1010edaSGreg Roach            '1',
1970*c1010edaSGreg Roach            '',
1971*c1010edaSGreg Roach            '',
1972*c1010edaSGreg Roach        ],
1973*c1010edaSGreg Roach        'Ь'       => [
1974*c1010edaSGreg Roach            '0',
1975*c1010edaSGreg Roach            '',
1976*c1010edaSGreg Roach            '',
1977*c1010edaSGreg Roach            '',
1978*c1010edaSGreg Roach        ],
1979*c1010edaSGreg Roach        'Э'       => [
1980*c1010edaSGreg Roach            '1',
1981*c1010edaSGreg Roach            '0',
1982*c1010edaSGreg Roach            '',
1983*c1010edaSGreg Roach            '',
1984*c1010edaSGreg Roach        ],
1985*c1010edaSGreg Roach        'Ю'       => [
1986*c1010edaSGreg Roach            '0',
1987*c1010edaSGreg Roach            '1',
1988*c1010edaSGreg Roach            '',
1989*c1010edaSGreg Roach            '',
1990*c1010edaSGreg Roach        ],
1991*c1010edaSGreg Roach        'Я'       => [
1992*c1010edaSGreg Roach            '0',
1993*c1010edaSGreg Roach            '1',
1994*c1010edaSGreg Roach            '',
1995*c1010edaSGreg Roach            '',
1996*c1010edaSGreg Roach        ],
1997a25f0a04SGreg Roach        // Greek alphabet
1998*c1010edaSGreg Roach        'Α'       => [
1999*c1010edaSGreg Roach            '1',
2000*c1010edaSGreg Roach            '0',
2001*c1010edaSGreg Roach            '',
2002*c1010edaSGreg Roach            '',
2003*c1010edaSGreg Roach        ],
2004*c1010edaSGreg Roach        'Ά'       => [
2005*c1010edaSGreg Roach            '1',
2006*c1010edaSGreg Roach            '0',
2007*c1010edaSGreg Roach            '',
2008*c1010edaSGreg Roach            '',
2009*c1010edaSGreg Roach        ],
2010*c1010edaSGreg Roach        'ΑΙ'      => [
2011*c1010edaSGreg Roach            '1',
2012*c1010edaSGreg Roach            '0',
2013*c1010edaSGreg Roach            '1',
2014*c1010edaSGreg Roach            '',
2015*c1010edaSGreg Roach        ],
2016*c1010edaSGreg Roach        'ΑΥ'      => [
2017*c1010edaSGreg Roach            '1',
2018*c1010edaSGreg Roach            '0',
2019*c1010edaSGreg Roach            '1',
2020*c1010edaSGreg Roach            '',
2021*c1010edaSGreg Roach        ],
2022*c1010edaSGreg Roach        'Β'       => [
2023*c1010edaSGreg Roach            '0',
2024*c1010edaSGreg Roach            '7',
2025*c1010edaSGreg Roach            '7',
2026*c1010edaSGreg Roach            '7',
2027*c1010edaSGreg Roach        ],
2028*c1010edaSGreg Roach        'Γ'       => [
2029*c1010edaSGreg Roach            '0',
2030*c1010edaSGreg Roach            '5',
2031*c1010edaSGreg Roach            '5',
2032*c1010edaSGreg Roach            '5',
2033*c1010edaSGreg Roach        ],
2034*c1010edaSGreg Roach        'Δ'       => [
2035*c1010edaSGreg Roach            '0',
2036*c1010edaSGreg Roach            '3',
2037*c1010edaSGreg Roach            '3',
2038*c1010edaSGreg Roach            '3',
2039*c1010edaSGreg Roach        ],
2040*c1010edaSGreg Roach        'Ε'       => [
2041*c1010edaSGreg Roach            '1',
2042*c1010edaSGreg Roach            '0',
2043*c1010edaSGreg Roach            '',
2044*c1010edaSGreg Roach            '',
2045*c1010edaSGreg Roach        ],
2046*c1010edaSGreg Roach        'Έ'       => [
2047*c1010edaSGreg Roach            '1',
2048*c1010edaSGreg Roach            '0',
2049*c1010edaSGreg Roach            '',
2050*c1010edaSGreg Roach            '',
2051*c1010edaSGreg Roach        ],
2052*c1010edaSGreg Roach        'ΕΙ'      => [
2053*c1010edaSGreg Roach            '1',
2054*c1010edaSGreg Roach            '0',
2055*c1010edaSGreg Roach            '1',
2056*c1010edaSGreg Roach            '',
2057*c1010edaSGreg Roach        ],
2058*c1010edaSGreg Roach        'ΕΥ'      => [
2059*c1010edaSGreg Roach            '1',
2060*c1010edaSGreg Roach            '1',
2061*c1010edaSGreg Roach            '1',
2062*c1010edaSGreg Roach            '',
2063*c1010edaSGreg Roach        ],
2064*c1010edaSGreg Roach        'Ζ'       => [
2065*c1010edaSGreg Roach            '0',
2066*c1010edaSGreg Roach            '4',
2067*c1010edaSGreg Roach            '4',
2068*c1010edaSGreg Roach            '4',
2069*c1010edaSGreg Roach        ],
2070*c1010edaSGreg Roach        'Η'       => [
2071*c1010edaSGreg Roach            '1',
2072*c1010edaSGreg Roach            '0',
2073*c1010edaSGreg Roach            '',
2074*c1010edaSGreg Roach            '',
2075*c1010edaSGreg Roach        ],
2076*c1010edaSGreg Roach        'Ή'       => [
2077*c1010edaSGreg Roach            '1',
2078*c1010edaSGreg Roach            '0',
2079*c1010edaSGreg Roach            '',
2080*c1010edaSGreg Roach            '',
2081*c1010edaSGreg Roach        ],
2082*c1010edaSGreg Roach        'Θ'       => [
2083*c1010edaSGreg Roach            '0',
2084*c1010edaSGreg Roach            '3',
2085*c1010edaSGreg Roach            '3',
2086*c1010edaSGreg Roach            '3',
2087*c1010edaSGreg Roach        ],
2088*c1010edaSGreg Roach        'Ι'       => [
2089*c1010edaSGreg Roach            '1',
2090*c1010edaSGreg Roach            '0',
2091*c1010edaSGreg Roach            '',
2092*c1010edaSGreg Roach            '',
2093*c1010edaSGreg Roach        ],
2094*c1010edaSGreg Roach        'Ί'       => [
2095*c1010edaSGreg Roach            '1',
2096*c1010edaSGreg Roach            '0',
2097*c1010edaSGreg Roach            '',
2098*c1010edaSGreg Roach            '',
2099*c1010edaSGreg Roach        ],
2100*c1010edaSGreg Roach        'Ϊ'       => [
2101*c1010edaSGreg Roach            '1',
2102*c1010edaSGreg Roach            '0',
2103*c1010edaSGreg Roach            '',
2104*c1010edaSGreg Roach            '',
2105*c1010edaSGreg Roach        ],
2106*c1010edaSGreg Roach        'ΐ'       => [
2107*c1010edaSGreg Roach            '1',
2108*c1010edaSGreg Roach            '0',
2109*c1010edaSGreg Roach            '',
2110*c1010edaSGreg Roach            '',
2111*c1010edaSGreg Roach        ],
2112*c1010edaSGreg Roach        'Κ'       => [
2113*c1010edaSGreg Roach            '0',
2114*c1010edaSGreg Roach            '5',
2115*c1010edaSGreg Roach            '5',
2116*c1010edaSGreg Roach            '5',
2117*c1010edaSGreg Roach        ],
2118*c1010edaSGreg Roach        'Λ'       => [
2119*c1010edaSGreg Roach            '0',
2120*c1010edaSGreg Roach            '8',
2121*c1010edaSGreg Roach            '8',
2122*c1010edaSGreg Roach            '8',
2123*c1010edaSGreg Roach        ],
2124*c1010edaSGreg Roach        'Μ'       => [
2125*c1010edaSGreg Roach            '0',
2126*c1010edaSGreg Roach            '6',
2127*c1010edaSGreg Roach            '6',
2128*c1010edaSGreg Roach            '6',
2129*c1010edaSGreg Roach        ],
2130*c1010edaSGreg Roach        'ΜΠ'      => [
2131*c1010edaSGreg Roach            '0',
2132*c1010edaSGreg Roach            '7',
2133*c1010edaSGreg Roach            '7',
2134*c1010edaSGreg Roach            '7',
2135*c1010edaSGreg Roach        ],
2136*c1010edaSGreg Roach        'Ν'       => [
2137*c1010edaSGreg Roach            '0',
2138*c1010edaSGreg Roach            '6',
2139*c1010edaSGreg Roach            '6',
2140*c1010edaSGreg Roach            '6',
2141*c1010edaSGreg Roach        ],
2142*c1010edaSGreg Roach        'ΝΤ'      => [
2143*c1010edaSGreg Roach            '0',
2144*c1010edaSGreg Roach            '3',
2145*c1010edaSGreg Roach            '3',
2146*c1010edaSGreg Roach            '3',
2147*c1010edaSGreg Roach        ],
2148*c1010edaSGreg Roach        'Ξ'       => [
2149*c1010edaSGreg Roach            '0',
2150*c1010edaSGreg Roach            '5',
2151*c1010edaSGreg Roach            '54',
2152*c1010edaSGreg Roach            '54',
2153*c1010edaSGreg Roach        ],
2154*c1010edaSGreg Roach        'Ο'       => [
2155*c1010edaSGreg Roach            '1',
2156*c1010edaSGreg Roach            '0',
2157*c1010edaSGreg Roach            '',
2158*c1010edaSGreg Roach            '',
2159*c1010edaSGreg Roach        ],
2160*c1010edaSGreg Roach        'Ό'       => [
2161*c1010edaSGreg Roach            '1',
2162*c1010edaSGreg Roach            '0',
2163*c1010edaSGreg Roach            '',
2164*c1010edaSGreg Roach            '',
2165*c1010edaSGreg Roach        ],
2166*c1010edaSGreg Roach        'ΟΙ'      => [
2167*c1010edaSGreg Roach            '1',
2168*c1010edaSGreg Roach            '0',
2169*c1010edaSGreg Roach            '1',
2170*c1010edaSGreg Roach            '',
2171*c1010edaSGreg Roach        ],
2172*c1010edaSGreg Roach        'ΟΥ'      => [
2173*c1010edaSGreg Roach            '1',
2174*c1010edaSGreg Roach            '0',
2175*c1010edaSGreg Roach            '1',
2176*c1010edaSGreg Roach            '',
2177*c1010edaSGreg Roach        ],
2178*c1010edaSGreg Roach        'Π'       => [
2179*c1010edaSGreg Roach            '0',
2180*c1010edaSGreg Roach            '7',
2181*c1010edaSGreg Roach            '7',
2182*c1010edaSGreg Roach            '7',
2183*c1010edaSGreg Roach        ],
2184*c1010edaSGreg Roach        'Ρ'       => [
2185*c1010edaSGreg Roach            '0',
2186*c1010edaSGreg Roach            '9',
2187*c1010edaSGreg Roach            '9',
2188*c1010edaSGreg Roach            '9',
2189*c1010edaSGreg Roach        ],
2190*c1010edaSGreg Roach        'Σ'       => [
2191*c1010edaSGreg Roach            '0',
2192*c1010edaSGreg Roach            '4',
2193*c1010edaSGreg Roach            '4',
2194*c1010edaSGreg Roach            '4',
2195*c1010edaSGreg Roach        ],
2196*c1010edaSGreg Roach        'ς'       => [
2197*c1010edaSGreg Roach            '0',
2198*c1010edaSGreg Roach            '',
2199*c1010edaSGreg Roach            '',
2200*c1010edaSGreg Roach            '4',
2201*c1010edaSGreg Roach        ],
2202*c1010edaSGreg Roach        'Τ'       => [
2203*c1010edaSGreg Roach            '0',
2204*c1010edaSGreg Roach            '3',
2205*c1010edaSGreg Roach            '3',
2206*c1010edaSGreg Roach            '3',
2207*c1010edaSGreg Roach        ],
2208*c1010edaSGreg Roach        'ΤΖ'      => [
2209*c1010edaSGreg Roach            '0',
2210*c1010edaSGreg Roach            '4',
2211*c1010edaSGreg Roach            '4',
2212*c1010edaSGreg Roach            '4',
2213*c1010edaSGreg Roach        ],
2214*c1010edaSGreg Roach        'ΤΣ'      => [
2215*c1010edaSGreg Roach            '0',
2216*c1010edaSGreg Roach            '4',
2217*c1010edaSGreg Roach            '4',
2218*c1010edaSGreg Roach            '4',
2219*c1010edaSGreg Roach        ],
2220*c1010edaSGreg Roach        'Υ'       => [
2221*c1010edaSGreg Roach            '1',
2222*c1010edaSGreg Roach            '1',
2223*c1010edaSGreg Roach            '',
2224*c1010edaSGreg Roach            '',
2225*c1010edaSGreg Roach        ],
2226*c1010edaSGreg Roach        'Ύ'       => [
2227*c1010edaSGreg Roach            '1',
2228*c1010edaSGreg Roach            '1',
2229*c1010edaSGreg Roach            '',
2230*c1010edaSGreg Roach            '',
2231*c1010edaSGreg Roach        ],
2232*c1010edaSGreg Roach        'Ϋ'       => [
2233*c1010edaSGreg Roach            '1',
2234*c1010edaSGreg Roach            '1',
2235*c1010edaSGreg Roach            '',
2236*c1010edaSGreg Roach            '',
2237*c1010edaSGreg Roach        ],
2238*c1010edaSGreg Roach        'ΰ'       => [
2239*c1010edaSGreg Roach            '1',
2240*c1010edaSGreg Roach            '1',
2241*c1010edaSGreg Roach            '',
2242*c1010edaSGreg Roach            '',
2243*c1010edaSGreg Roach        ],
2244*c1010edaSGreg Roach        'ΥΚ'      => [
2245*c1010edaSGreg Roach            '1',
2246*c1010edaSGreg Roach            '5',
2247*c1010edaSGreg Roach            '5',
2248*c1010edaSGreg Roach            '5',
2249*c1010edaSGreg Roach        ],
2250*c1010edaSGreg Roach        'ΥΥ'      => [
2251*c1010edaSGreg Roach            '1',
2252*c1010edaSGreg Roach            '65',
2253*c1010edaSGreg Roach            '65',
2254*c1010edaSGreg Roach            '65',
2255*c1010edaSGreg Roach        ],
2256*c1010edaSGreg Roach        'Φ'       => [
2257*c1010edaSGreg Roach            '0',
2258*c1010edaSGreg Roach            '7',
2259*c1010edaSGreg Roach            '7',
2260*c1010edaSGreg Roach            '7',
2261*c1010edaSGreg Roach        ],
2262*c1010edaSGreg Roach        'Χ'       => [
2263*c1010edaSGreg Roach            '0',
2264*c1010edaSGreg Roach            '5',
2265*c1010edaSGreg Roach            '5',
2266*c1010edaSGreg Roach            '5',
2267*c1010edaSGreg Roach        ],
2268*c1010edaSGreg Roach        'Ψ'       => [
2269*c1010edaSGreg Roach            '0',
2270*c1010edaSGreg Roach            '7',
2271*c1010edaSGreg Roach            '7',
2272*c1010edaSGreg Roach            '7',
2273*c1010edaSGreg Roach        ],
2274*c1010edaSGreg Roach        'Ω'       => [
2275*c1010edaSGreg Roach            '1',
2276*c1010edaSGreg Roach            '0',
2277*c1010edaSGreg Roach            '',
2278*c1010edaSGreg Roach            '',
2279*c1010edaSGreg Roach        ],
2280*c1010edaSGreg Roach        'Ώ'       => [
2281*c1010edaSGreg Roach            '1',
2282*c1010edaSGreg Roach            '0',
2283*c1010edaSGreg Roach            '',
2284*c1010edaSGreg Roach            '',
2285*c1010edaSGreg Roach        ],
2286a25f0a04SGreg Roach        // Hebrew alphabet
2287*c1010edaSGreg Roach        'א'       => [
2288*c1010edaSGreg Roach            '1',
2289*c1010edaSGreg Roach            '0',
2290*c1010edaSGreg Roach            '',
2291*c1010edaSGreg Roach            '',
2292*c1010edaSGreg Roach        ],
2293*c1010edaSGreg Roach        'או'      => [
2294*c1010edaSGreg Roach            '1',
2295*c1010edaSGreg Roach            '0',
2296*c1010edaSGreg Roach            '7',
2297*c1010edaSGreg Roach            '',
2298*c1010edaSGreg Roach        ],
2299*c1010edaSGreg Roach        'אג'      => [
2300*c1010edaSGreg Roach            '1',
2301*c1010edaSGreg Roach            '4',
2302*c1010edaSGreg Roach            '4',
2303*c1010edaSGreg Roach            '4',
2304*c1010edaSGreg Roach            '5',
2305*c1010edaSGreg Roach            '5',
2306*c1010edaSGreg Roach            '5',
2307*c1010edaSGreg Roach            '34',
2308*c1010edaSGreg Roach            '34',
2309*c1010edaSGreg Roach            '34',
2310*c1010edaSGreg Roach        ],
2311*c1010edaSGreg Roach        'בב'      => [
2312*c1010edaSGreg Roach            '0',
2313*c1010edaSGreg Roach            '7',
2314*c1010edaSGreg Roach            '7',
2315*c1010edaSGreg Roach            '7',
2316*c1010edaSGreg Roach            '77',
2317*c1010edaSGreg Roach            '77',
2318*c1010edaSGreg Roach            '77',
2319*c1010edaSGreg Roach        ],
2320*c1010edaSGreg Roach        'ב'       => [
2321*c1010edaSGreg Roach            '0',
2322*c1010edaSGreg Roach            '7',
2323*c1010edaSGreg Roach            '7',
2324*c1010edaSGreg Roach            '7',
2325*c1010edaSGreg Roach        ],
2326*c1010edaSGreg Roach        'גג'      => [
2327*c1010edaSGreg Roach            '0',
2328*c1010edaSGreg Roach            '4',
2329*c1010edaSGreg Roach            '4',
2330*c1010edaSGreg Roach            '4',
2331*c1010edaSGreg Roach            '5',
2332*c1010edaSGreg Roach            '5',
2333*c1010edaSGreg Roach            '5',
2334*c1010edaSGreg Roach            '45',
2335*c1010edaSGreg Roach            '45',
2336*c1010edaSGreg Roach            '45',
2337*c1010edaSGreg Roach            '55',
2338*c1010edaSGreg Roach            '55',
2339*c1010edaSGreg Roach            '55',
2340*c1010edaSGreg Roach            '54',
2341*c1010edaSGreg Roach            '54',
2342*c1010edaSGreg Roach            '54',
2343*c1010edaSGreg Roach        ],
2344*c1010edaSGreg Roach        'גד'      => [
2345*c1010edaSGreg Roach            '0',
2346*c1010edaSGreg Roach            '43',
2347*c1010edaSGreg Roach            '43',
2348*c1010edaSGreg Roach            '43',
2349*c1010edaSGreg Roach            '53',
2350*c1010edaSGreg Roach            '53',
2351*c1010edaSGreg Roach            '53',
2352*c1010edaSGreg Roach        ],
2353*c1010edaSGreg Roach        'גה'      => [
2354*c1010edaSGreg Roach            '0',
2355*c1010edaSGreg Roach            '45',
2356*c1010edaSGreg Roach            '45',
2357*c1010edaSGreg Roach            '45',
2358*c1010edaSGreg Roach            '55',
2359*c1010edaSGreg Roach            '55',
2360*c1010edaSGreg Roach            '55',
2361*c1010edaSGreg Roach        ],
2362*c1010edaSGreg Roach        'גז'      => [
2363*c1010edaSGreg Roach            '0',
2364*c1010edaSGreg Roach            '44',
2365*c1010edaSGreg Roach            '44',
2366*c1010edaSGreg Roach            '44',
2367*c1010edaSGreg Roach            '45',
2368*c1010edaSGreg Roach            '45',
2369*c1010edaSGreg Roach            '45',
2370*c1010edaSGreg Roach        ],
2371*c1010edaSGreg Roach        'גח'      => [
2372*c1010edaSGreg Roach            '0',
2373*c1010edaSGreg Roach            '45',
2374*c1010edaSGreg Roach            '45',
2375*c1010edaSGreg Roach            '45',
2376*c1010edaSGreg Roach            '55',
2377*c1010edaSGreg Roach            '55',
2378*c1010edaSGreg Roach            '55',
2379*c1010edaSGreg Roach        ],
2380*c1010edaSGreg Roach        'גכ'      => [
2381*c1010edaSGreg Roach            '0',
2382*c1010edaSGreg Roach            '45',
2383*c1010edaSGreg Roach            '45',
2384*c1010edaSGreg Roach            '45',
2385*c1010edaSGreg Roach            '55',
2386*c1010edaSGreg Roach            '55',
2387*c1010edaSGreg Roach            '55',
2388*c1010edaSGreg Roach        ],
2389*c1010edaSGreg Roach        'גך'      => [
2390*c1010edaSGreg Roach            '0',
2391*c1010edaSGreg Roach            '45',
2392*c1010edaSGreg Roach            '45',
2393*c1010edaSGreg Roach            '45',
2394*c1010edaSGreg Roach            '55',
2395*c1010edaSGreg Roach            '55',
2396*c1010edaSGreg Roach            '55',
2397*c1010edaSGreg Roach        ],
2398*c1010edaSGreg Roach        'גצ'      => [
2399*c1010edaSGreg Roach            '0',
2400*c1010edaSGreg Roach            '44',
2401*c1010edaSGreg Roach            '44',
2402*c1010edaSGreg Roach            '44',
2403*c1010edaSGreg Roach            '45',
2404*c1010edaSGreg Roach            '45',
2405*c1010edaSGreg Roach            '45',
2406*c1010edaSGreg Roach        ],
2407*c1010edaSGreg Roach        'גץ'      => [
2408*c1010edaSGreg Roach            '0',
2409*c1010edaSGreg Roach            '44',
2410*c1010edaSGreg Roach            '44',
2411*c1010edaSGreg Roach            '44',
2412*c1010edaSGreg Roach            '45',
2413*c1010edaSGreg Roach            '45',
2414*c1010edaSGreg Roach            '45',
2415*c1010edaSGreg Roach        ],
2416*c1010edaSGreg Roach        'גק'      => [
2417*c1010edaSGreg Roach            '0',
2418*c1010edaSGreg Roach            '45',
2419*c1010edaSGreg Roach            '45',
2420*c1010edaSGreg Roach            '45',
2421*c1010edaSGreg Roach            '54',
2422*c1010edaSGreg Roach            '54',
2423*c1010edaSGreg Roach            '54',
2424*c1010edaSGreg Roach        ],
2425*c1010edaSGreg Roach        'גש'      => [
2426*c1010edaSGreg Roach            '0',
2427*c1010edaSGreg Roach            '44',
2428*c1010edaSGreg Roach            '44',
2429*c1010edaSGreg Roach            '44',
2430*c1010edaSGreg Roach            '54',
2431*c1010edaSGreg Roach            '54',
2432*c1010edaSGreg Roach            '54',
2433*c1010edaSGreg Roach        ],
2434*c1010edaSGreg Roach        'גת'      => [
2435*c1010edaSGreg Roach            '0',
2436*c1010edaSGreg Roach            '43',
2437*c1010edaSGreg Roach            '43',
2438*c1010edaSGreg Roach            '43',
2439*c1010edaSGreg Roach            '53',
2440*c1010edaSGreg Roach            '53',
2441*c1010edaSGreg Roach            '53',
2442*c1010edaSGreg Roach        ],
2443*c1010edaSGreg Roach        'ג'       => [
2444*c1010edaSGreg Roach            '0',
2445*c1010edaSGreg Roach            '4',
2446*c1010edaSGreg Roach            '4',
2447*c1010edaSGreg Roach            '4',
2448*c1010edaSGreg Roach            '5',
2449*c1010edaSGreg Roach            '5',
2450*c1010edaSGreg Roach            '5',
2451*c1010edaSGreg Roach        ],
2452*c1010edaSGreg Roach        'דז'      => [
2453*c1010edaSGreg Roach            '0',
2454*c1010edaSGreg Roach            '4',
2455*c1010edaSGreg Roach            '4',
2456*c1010edaSGreg Roach            '4',
2457*c1010edaSGreg Roach        ],
2458*c1010edaSGreg Roach        'דד'      => [
2459*c1010edaSGreg Roach            '0',
2460*c1010edaSGreg Roach            '3',
2461*c1010edaSGreg Roach            '3',
2462*c1010edaSGreg Roach            '3',
2463*c1010edaSGreg Roach            '33',
2464*c1010edaSGreg Roach            '33',
2465*c1010edaSGreg Roach            '33',
2466*c1010edaSGreg Roach        ],
2467*c1010edaSGreg Roach        'דט'      => [
2468*c1010edaSGreg Roach            '0',
2469*c1010edaSGreg Roach            '33',
2470*c1010edaSGreg Roach            '33',
2471*c1010edaSGreg Roach            '33',
2472*c1010edaSGreg Roach        ],
2473*c1010edaSGreg Roach        'דש'      => [
2474*c1010edaSGreg Roach            '0',
2475*c1010edaSGreg Roach            '4',
2476*c1010edaSGreg Roach            '4',
2477*c1010edaSGreg Roach            '4',
2478*c1010edaSGreg Roach        ],
2479*c1010edaSGreg Roach        'דצ'      => [
2480*c1010edaSGreg Roach            '0',
2481*c1010edaSGreg Roach            '4',
2482*c1010edaSGreg Roach            '4',
2483*c1010edaSGreg Roach            '4',
2484*c1010edaSGreg Roach        ],
2485*c1010edaSGreg Roach        'דץ'      => [
2486*c1010edaSGreg Roach            '0',
2487*c1010edaSGreg Roach            '4',
2488*c1010edaSGreg Roach            '4',
2489*c1010edaSGreg Roach            '4',
2490*c1010edaSGreg Roach        ],
2491*c1010edaSGreg Roach        'ד'       => [
2492*c1010edaSGreg Roach            '0',
2493*c1010edaSGreg Roach            '3',
2494*c1010edaSGreg Roach            '3',
2495*c1010edaSGreg Roach            '3',
2496*c1010edaSGreg Roach        ],
2497*c1010edaSGreg Roach        'הג'      => [
2498*c1010edaSGreg Roach            '0',
2499*c1010edaSGreg Roach            '54',
2500*c1010edaSGreg Roach            '54',
2501*c1010edaSGreg Roach            '54',
2502*c1010edaSGreg Roach            '55',
2503*c1010edaSGreg Roach            '55',
2504*c1010edaSGreg Roach            '55',
2505*c1010edaSGreg Roach        ],
2506*c1010edaSGreg Roach        'הכ'      => [
2507*c1010edaSGreg Roach            '0',
2508*c1010edaSGreg Roach            '55',
2509*c1010edaSGreg Roach            '55',
2510*c1010edaSGreg Roach            '55',
2511*c1010edaSGreg Roach        ],
2512*c1010edaSGreg Roach        'הח'      => [
2513*c1010edaSGreg Roach            '0',
2514*c1010edaSGreg Roach            '55',
2515*c1010edaSGreg Roach            '55',
2516*c1010edaSGreg Roach            '55',
2517*c1010edaSGreg Roach        ],
2518*c1010edaSGreg Roach        'הק'      => [
2519*c1010edaSGreg Roach            '0',
2520*c1010edaSGreg Roach            '55',
2521*c1010edaSGreg Roach            '55',
2522*c1010edaSGreg Roach            '55',
2523*c1010edaSGreg Roach            '5',
2524*c1010edaSGreg Roach            '5',
2525*c1010edaSGreg Roach            '5',
2526*c1010edaSGreg Roach        ],
2527*c1010edaSGreg Roach        'הה'      => [
2528*c1010edaSGreg Roach            '0',
2529*c1010edaSGreg Roach            '5',
2530*c1010edaSGreg Roach            '5',
2531*c1010edaSGreg Roach            '',
2532*c1010edaSGreg Roach            '55',
2533*c1010edaSGreg Roach            '55',
2534*c1010edaSGreg Roach            '',
2535*c1010edaSGreg Roach        ],
2536*c1010edaSGreg Roach        'ה'       => [
2537*c1010edaSGreg Roach            '0',
2538*c1010edaSGreg Roach            '5',
2539*c1010edaSGreg Roach            '5',
2540*c1010edaSGreg Roach            '',
2541*c1010edaSGreg Roach        ],
2542*c1010edaSGreg Roach        'וי'      => [
2543*c1010edaSGreg Roach            '1',
2544*c1010edaSGreg Roach            '',
2545*c1010edaSGreg Roach            '',
2546*c1010edaSGreg Roach            '',
2547*c1010edaSGreg Roach            '7',
2548*c1010edaSGreg Roach            '7',
2549*c1010edaSGreg Roach            '7',
2550*c1010edaSGreg Roach        ],
2551*c1010edaSGreg Roach        'ו'       => [
2552*c1010edaSGreg Roach            '1',
2553*c1010edaSGreg Roach            '7',
2554*c1010edaSGreg Roach            '7',
2555*c1010edaSGreg Roach            '7',
2556*c1010edaSGreg Roach            '7',
2557*c1010edaSGreg Roach            '',
2558*c1010edaSGreg Roach            '',
2559*c1010edaSGreg Roach        ],
2560*c1010edaSGreg Roach        'וו'      => [
2561*c1010edaSGreg Roach            '1',
2562*c1010edaSGreg Roach            '7',
2563*c1010edaSGreg Roach            '7',
2564*c1010edaSGreg Roach            '7',
2565*c1010edaSGreg Roach            '7',
2566*c1010edaSGreg Roach            '',
2567*c1010edaSGreg Roach            '',
2568*c1010edaSGreg Roach        ],
2569*c1010edaSGreg Roach        'וופ'     => [
2570*c1010edaSGreg Roach            '1',
2571*c1010edaSGreg Roach            '7',
2572*c1010edaSGreg Roach            '7',
2573*c1010edaSGreg Roach            '7',
2574*c1010edaSGreg Roach            '77',
2575*c1010edaSGreg Roach            '77',
2576*c1010edaSGreg Roach            '77',
2577*c1010edaSGreg Roach        ],
2578*c1010edaSGreg Roach        'זש'      => [
2579*c1010edaSGreg Roach            '0',
2580*c1010edaSGreg Roach            '4',
2581*c1010edaSGreg Roach            '4',
2582*c1010edaSGreg Roach            '4',
2583*c1010edaSGreg Roach            '44',
2584*c1010edaSGreg Roach            '44',
2585*c1010edaSGreg Roach            '44',
2586*c1010edaSGreg Roach        ],
2587*c1010edaSGreg Roach        'זדז'     => [
2588*c1010edaSGreg Roach            '0',
2589*c1010edaSGreg Roach            '2',
2590*c1010edaSGreg Roach            '4',
2591*c1010edaSGreg Roach            '4',
2592*c1010edaSGreg Roach        ],
2593*c1010edaSGreg Roach        'ז'       => [
2594*c1010edaSGreg Roach            '0',
2595*c1010edaSGreg Roach            '4',
2596*c1010edaSGreg Roach            '4',
2597*c1010edaSGreg Roach            '4',
2598*c1010edaSGreg Roach        ],
2599*c1010edaSGreg Roach        'זג'      => [
2600*c1010edaSGreg Roach            '0',
2601*c1010edaSGreg Roach            '44',
2602*c1010edaSGreg Roach            '44',
2603*c1010edaSGreg Roach            '44',
2604*c1010edaSGreg Roach            '45',
2605*c1010edaSGreg Roach            '45',
2606*c1010edaSGreg Roach            '45',
2607*c1010edaSGreg Roach        ],
2608*c1010edaSGreg Roach        'זז'      => [
2609*c1010edaSGreg Roach            '0',
2610*c1010edaSGreg Roach            '4',
2611*c1010edaSGreg Roach            '4',
2612*c1010edaSGreg Roach            '4',
2613*c1010edaSGreg Roach            '44',
2614*c1010edaSGreg Roach            '44',
2615*c1010edaSGreg Roach            '44',
2616*c1010edaSGreg Roach        ],
2617*c1010edaSGreg Roach        'זס'      => [
2618*c1010edaSGreg Roach            '0',
2619*c1010edaSGreg Roach            '44',
2620*c1010edaSGreg Roach            '44',
2621*c1010edaSGreg Roach            '44',
2622*c1010edaSGreg Roach        ],
2623*c1010edaSGreg Roach        'זצ'      => [
2624*c1010edaSGreg Roach            '0',
2625*c1010edaSGreg Roach            '44',
2626*c1010edaSGreg Roach            '44',
2627*c1010edaSGreg Roach            '44',
2628*c1010edaSGreg Roach        ],
2629*c1010edaSGreg Roach        'זץ'      => [
2630*c1010edaSGreg Roach            '0',
2631*c1010edaSGreg Roach            '44',
2632*c1010edaSGreg Roach            '44',
2633*c1010edaSGreg Roach            '44',
2634*c1010edaSGreg Roach        ],
2635*c1010edaSGreg Roach        'חג'      => [
2636*c1010edaSGreg Roach            '0',
2637*c1010edaSGreg Roach            '54',
2638*c1010edaSGreg Roach            '54',
2639*c1010edaSGreg Roach            '54',
2640*c1010edaSGreg Roach            '53',
2641*c1010edaSGreg Roach            '53',
2642*c1010edaSGreg Roach            '53',
2643*c1010edaSGreg Roach        ],
2644*c1010edaSGreg Roach        'חח'      => [
2645*c1010edaSGreg Roach            '0',
2646*c1010edaSGreg Roach            '5',
2647*c1010edaSGreg Roach            '5',
2648*c1010edaSGreg Roach            '5',
2649*c1010edaSGreg Roach            '55',
2650*c1010edaSGreg Roach            '55',
2651*c1010edaSGreg Roach            '55',
2652*c1010edaSGreg Roach        ],
2653*c1010edaSGreg Roach        'חק'      => [
2654*c1010edaSGreg Roach            '0',
2655*c1010edaSGreg Roach            '55',
2656*c1010edaSGreg Roach            '55',
2657*c1010edaSGreg Roach            '55',
2658*c1010edaSGreg Roach            '5',
2659*c1010edaSGreg Roach            '5',
2660*c1010edaSGreg Roach            '5',
2661*c1010edaSGreg Roach        ],
2662*c1010edaSGreg Roach        'חכ'      => [
2663*c1010edaSGreg Roach            '0',
2664*c1010edaSGreg Roach            '45',
2665*c1010edaSGreg Roach            '45',
2666*c1010edaSGreg Roach            '45',
2667*c1010edaSGreg Roach            '55',
2668*c1010edaSGreg Roach            '55',
2669*c1010edaSGreg Roach            '55',
2670*c1010edaSGreg Roach        ],
2671*c1010edaSGreg Roach        'חס'      => [
2672*c1010edaSGreg Roach            '0',
2673*c1010edaSGreg Roach            '5',
2674*c1010edaSGreg Roach            '54',
2675*c1010edaSGreg Roach            '54',
2676*c1010edaSGreg Roach        ],
2677*c1010edaSGreg Roach        'חש'      => [
2678*c1010edaSGreg Roach            '0',
2679*c1010edaSGreg Roach            '5',
2680*c1010edaSGreg Roach            '54',
2681*c1010edaSGreg Roach            '54',
2682*c1010edaSGreg Roach        ],
2683*c1010edaSGreg Roach        'ח'       => [
2684*c1010edaSGreg Roach            '0',
2685*c1010edaSGreg Roach            '5',
2686*c1010edaSGreg Roach            '5',
2687*c1010edaSGreg Roach            '5',
2688*c1010edaSGreg Roach        ],
2689*c1010edaSGreg Roach        'טש'      => [
2690*c1010edaSGreg Roach            '0',
2691*c1010edaSGreg Roach            '4',
2692*c1010edaSGreg Roach            '4',
2693*c1010edaSGreg Roach            '4',
2694*c1010edaSGreg Roach        ],
2695*c1010edaSGreg Roach        'טד'      => [
2696*c1010edaSGreg Roach            '0',
2697*c1010edaSGreg Roach            '33',
2698*c1010edaSGreg Roach            '33',
2699*c1010edaSGreg Roach            '33',
2700*c1010edaSGreg Roach        ],
2701*c1010edaSGreg Roach        'טי'      => [
2702*c1010edaSGreg Roach            '0',
2703*c1010edaSGreg Roach            '3',
2704*c1010edaSGreg Roach            '3',
2705*c1010edaSGreg Roach            '3',
2706*c1010edaSGreg Roach            '4',
2707*c1010edaSGreg Roach            '4',
2708*c1010edaSGreg Roach            '4',
2709*c1010edaSGreg Roach            '3',
2710*c1010edaSGreg Roach            '3',
2711*c1010edaSGreg Roach            '34',
2712*c1010edaSGreg Roach        ],
2713*c1010edaSGreg Roach        'טת'      => [
2714*c1010edaSGreg Roach            '0',
2715*c1010edaSGreg Roach            '33',
2716*c1010edaSGreg Roach            '33',
2717*c1010edaSGreg Roach            '33',
2718*c1010edaSGreg Roach        ],
2719*c1010edaSGreg Roach        'טט'      => [
2720*c1010edaSGreg Roach            '0',
2721*c1010edaSGreg Roach            '3',
2722*c1010edaSGreg Roach            '3',
2723*c1010edaSGreg Roach            '3',
2724*c1010edaSGreg Roach            '33',
2725*c1010edaSGreg Roach            '33',
2726*c1010edaSGreg Roach            '33',
2727*c1010edaSGreg Roach        ],
2728*c1010edaSGreg Roach        'ט'       => [
2729*c1010edaSGreg Roach            '0',
2730*c1010edaSGreg Roach            '3',
2731*c1010edaSGreg Roach            '3',
2732*c1010edaSGreg Roach            '3',
2733*c1010edaSGreg Roach        ],
2734*c1010edaSGreg Roach        'י'       => [
2735*c1010edaSGreg Roach            '1',
2736*c1010edaSGreg Roach            '1',
2737*c1010edaSGreg Roach            '',
2738*c1010edaSGreg Roach            '',
2739*c1010edaSGreg Roach        ],
2740*c1010edaSGreg Roach        'יא'      => [
2741*c1010edaSGreg Roach            '1',
2742*c1010edaSGreg Roach            '1',
2743*c1010edaSGreg Roach            '',
2744*c1010edaSGreg Roach            '',
2745*c1010edaSGreg Roach            '1',
2746*c1010edaSGreg Roach            '1',
2747*c1010edaSGreg Roach            '1',
2748*c1010edaSGreg Roach        ],
2749*c1010edaSGreg Roach        'כג'      => [
2750*c1010edaSGreg Roach            '0',
2751*c1010edaSGreg Roach            '55',
2752*c1010edaSGreg Roach            '55',
2753*c1010edaSGreg Roach            '55',
2754*c1010edaSGreg Roach            '54',
2755*c1010edaSGreg Roach            '54',
2756*c1010edaSGreg Roach            '54',
2757*c1010edaSGreg Roach        ],
2758*c1010edaSGreg Roach        'כש'      => [
2759*c1010edaSGreg Roach            '0',
2760*c1010edaSGreg Roach            '5',
2761*c1010edaSGreg Roach            '54',
2762*c1010edaSGreg Roach            '54',
2763*c1010edaSGreg Roach        ],
2764*c1010edaSGreg Roach        'כס'      => [
2765*c1010edaSGreg Roach            '0',
2766*c1010edaSGreg Roach            '5',
2767*c1010edaSGreg Roach            '54',
2768*c1010edaSGreg Roach            '54',
2769*c1010edaSGreg Roach        ],
2770*c1010edaSGreg Roach        'ככ'      => [
2771*c1010edaSGreg Roach            '0',
2772*c1010edaSGreg Roach            '5',
2773*c1010edaSGreg Roach            '5',
2774*c1010edaSGreg Roach            '5',
2775*c1010edaSGreg Roach            '55',
2776*c1010edaSGreg Roach            '55',
2777*c1010edaSGreg Roach            '55',
2778*c1010edaSGreg Roach        ],
2779*c1010edaSGreg Roach        'כך'      => [
2780*c1010edaSGreg Roach            '0',
2781*c1010edaSGreg Roach            '5',
2782*c1010edaSGreg Roach            '5',
2783*c1010edaSGreg Roach            '5',
2784*c1010edaSGreg Roach            '55',
2785*c1010edaSGreg Roach            '55',
2786*c1010edaSGreg Roach            '55',
2787*c1010edaSGreg Roach        ],
2788*c1010edaSGreg Roach        'כ'       => [
2789*c1010edaSGreg Roach            '0',
2790*c1010edaSGreg Roach            '5',
2791*c1010edaSGreg Roach            '5',
2792*c1010edaSGreg Roach            '5',
2793*c1010edaSGreg Roach        ],
2794*c1010edaSGreg Roach        'כח'      => [
2795*c1010edaSGreg Roach            '0',
2796*c1010edaSGreg Roach            '55',
2797*c1010edaSGreg Roach            '55',
2798*c1010edaSGreg Roach            '55',
2799*c1010edaSGreg Roach            '5',
2800*c1010edaSGreg Roach            '5',
2801*c1010edaSGreg Roach            '5',
2802*c1010edaSGreg Roach        ],
2803*c1010edaSGreg Roach        'ך'       => [
2804*c1010edaSGreg Roach            '0',
2805*c1010edaSGreg Roach            '',
2806*c1010edaSGreg Roach            '5',
2807*c1010edaSGreg Roach            '5',
2808*c1010edaSGreg Roach        ],
2809*c1010edaSGreg Roach        'ל'       => [
2810*c1010edaSGreg Roach            '0',
2811*c1010edaSGreg Roach            '8',
2812*c1010edaSGreg Roach            '8',
2813*c1010edaSGreg Roach            '8',
2814*c1010edaSGreg Roach        ],
2815*c1010edaSGreg Roach        'לל'      => [
2816*c1010edaSGreg Roach            '0',
2817*c1010edaSGreg Roach            '88',
2818*c1010edaSGreg Roach            '88',
2819*c1010edaSGreg Roach            '88',
2820*c1010edaSGreg Roach            '8',
2821*c1010edaSGreg Roach            '8',
2822*c1010edaSGreg Roach            '8',
2823*c1010edaSGreg Roach        ],
2824*c1010edaSGreg Roach        'מנ'      => [
2825*c1010edaSGreg Roach            '0',
2826*c1010edaSGreg Roach            '66',
2827*c1010edaSGreg Roach            '66',
2828*c1010edaSGreg Roach            '66',
2829*c1010edaSGreg Roach        ],
2830*c1010edaSGreg Roach        'מן'      => [
2831*c1010edaSGreg Roach            '0',
2832*c1010edaSGreg Roach            '66',
2833*c1010edaSGreg Roach            '66',
2834*c1010edaSGreg Roach            '66',
2835*c1010edaSGreg Roach        ],
2836*c1010edaSGreg Roach        'ממ'      => [
2837*c1010edaSGreg Roach            '0',
2838*c1010edaSGreg Roach            '6',
2839*c1010edaSGreg Roach            '6',
2840*c1010edaSGreg Roach            '6',
2841*c1010edaSGreg Roach            '66',
2842*c1010edaSGreg Roach            '66',
2843*c1010edaSGreg Roach            '66',
2844*c1010edaSGreg Roach        ],
2845*c1010edaSGreg Roach        'מם'      => [
2846*c1010edaSGreg Roach            '0',
2847*c1010edaSGreg Roach            '6',
2848*c1010edaSGreg Roach            '6',
2849*c1010edaSGreg Roach            '6',
2850*c1010edaSGreg Roach            '66',
2851*c1010edaSGreg Roach            '66',
2852*c1010edaSGreg Roach            '66',
2853*c1010edaSGreg Roach        ],
2854*c1010edaSGreg Roach        'מ'       => [
2855*c1010edaSGreg Roach            '0',
2856*c1010edaSGreg Roach            '6',
2857*c1010edaSGreg Roach            '6',
2858*c1010edaSGreg Roach            '6',
2859*c1010edaSGreg Roach        ],
2860*c1010edaSGreg Roach        'ם'       => [
2861*c1010edaSGreg Roach            '0',
2862*c1010edaSGreg Roach            '',
2863*c1010edaSGreg Roach            '6',
2864*c1010edaSGreg Roach            '6',
2865*c1010edaSGreg Roach        ],
2866*c1010edaSGreg Roach        'נמ'      => [
2867*c1010edaSGreg Roach            '0',
2868*c1010edaSGreg Roach            '66',
2869*c1010edaSGreg Roach            '66',
2870*c1010edaSGreg Roach            '66',
2871*c1010edaSGreg Roach        ],
2872*c1010edaSGreg Roach        'נם'      => [
2873*c1010edaSGreg Roach            '0',
2874*c1010edaSGreg Roach            '66',
2875*c1010edaSGreg Roach            '66',
2876*c1010edaSGreg Roach            '66',
2877*c1010edaSGreg Roach        ],
2878*c1010edaSGreg Roach        'ננ'      => [
2879*c1010edaSGreg Roach            '0',
2880*c1010edaSGreg Roach            '6',
2881*c1010edaSGreg Roach            '6',
2882*c1010edaSGreg Roach            '6',
2883*c1010edaSGreg Roach            '66',
2884*c1010edaSGreg Roach            '66',
2885*c1010edaSGreg Roach            '66',
2886*c1010edaSGreg Roach        ],
2887*c1010edaSGreg Roach        'נן'      => [
2888*c1010edaSGreg Roach            '0',
2889*c1010edaSGreg Roach            '6',
2890*c1010edaSGreg Roach            '6',
2891*c1010edaSGreg Roach            '6',
2892*c1010edaSGreg Roach            '66',
2893*c1010edaSGreg Roach            '66',
2894*c1010edaSGreg Roach            '66',
2895*c1010edaSGreg Roach        ],
2896*c1010edaSGreg Roach        'נ'       => [
2897*c1010edaSGreg Roach            '0',
2898*c1010edaSGreg Roach            '6',
2899*c1010edaSGreg Roach            '6',
2900*c1010edaSGreg Roach            '6',
2901*c1010edaSGreg Roach        ],
2902*c1010edaSGreg Roach        'ן'       => [
2903*c1010edaSGreg Roach            '0',
2904*c1010edaSGreg Roach            '',
2905*c1010edaSGreg Roach            '6',
2906*c1010edaSGreg Roach            '6',
2907*c1010edaSGreg Roach        ],
2908*c1010edaSGreg Roach        'סתש'     => [
2909*c1010edaSGreg Roach            '0',
2910*c1010edaSGreg Roach            '2',
2911*c1010edaSGreg Roach            '4',
2912*c1010edaSGreg Roach            '4',
2913*c1010edaSGreg Roach        ],
2914*c1010edaSGreg Roach        'סתז'     => [
2915*c1010edaSGreg Roach            '0',
2916*c1010edaSGreg Roach            '2',
2917*c1010edaSGreg Roach            '4',
2918*c1010edaSGreg Roach            '4',
2919*c1010edaSGreg Roach        ],
2920*c1010edaSGreg Roach        'סטז'     => [
2921*c1010edaSGreg Roach            '0',
2922*c1010edaSGreg Roach            '2',
2923*c1010edaSGreg Roach            '4',
2924*c1010edaSGreg Roach            '4',
2925*c1010edaSGreg Roach        ],
2926*c1010edaSGreg Roach        'סטש'     => [
2927*c1010edaSGreg Roach            '0',
2928*c1010edaSGreg Roach            '2',
2929*c1010edaSGreg Roach            '4',
2930*c1010edaSGreg Roach            '4',
2931*c1010edaSGreg Roach        ],
2932*c1010edaSGreg Roach        'סצד'     => [
2933*c1010edaSGreg Roach            '0',
2934*c1010edaSGreg Roach            '2',
2935*c1010edaSGreg Roach            '4',
2936*c1010edaSGreg Roach            '4',
2937*c1010edaSGreg Roach        ],
2938*c1010edaSGreg Roach        'סט'      => [
2939*c1010edaSGreg Roach            '0',
2940*c1010edaSGreg Roach            '2',
2941*c1010edaSGreg Roach            '4',
2942*c1010edaSGreg Roach            '4',
2943*c1010edaSGreg Roach            '43',
2944*c1010edaSGreg Roach            '43',
2945*c1010edaSGreg Roach            '43',
2946*c1010edaSGreg Roach        ],
2947*c1010edaSGreg Roach        'סת'      => [
2948*c1010edaSGreg Roach            '0',
2949*c1010edaSGreg Roach            '2',
2950*c1010edaSGreg Roach            '4',
2951*c1010edaSGreg Roach            '4',
2952*c1010edaSGreg Roach            '43',
2953*c1010edaSGreg Roach            '43',
2954*c1010edaSGreg Roach            '43',
2955*c1010edaSGreg Roach        ],
2956*c1010edaSGreg Roach        'סג'      => [
2957*c1010edaSGreg Roach            '0',
2958*c1010edaSGreg Roach            '44',
2959*c1010edaSGreg Roach            '44',
2960*c1010edaSGreg Roach            '44',
2961*c1010edaSGreg Roach            '4',
2962*c1010edaSGreg Roach            '4',
2963*c1010edaSGreg Roach            '4',
2964*c1010edaSGreg Roach        ],
2965*c1010edaSGreg Roach        'סס'      => [
2966*c1010edaSGreg Roach            '0',
2967*c1010edaSGreg Roach            '4',
2968*c1010edaSGreg Roach            '4',
2969*c1010edaSGreg Roach            '4',
2970*c1010edaSGreg Roach            '44',
2971*c1010edaSGreg Roach            '44',
2972*c1010edaSGreg Roach            '44',
2973*c1010edaSGreg Roach        ],
2974*c1010edaSGreg Roach        'סצ'      => [
2975*c1010edaSGreg Roach            '0',
2976*c1010edaSGreg Roach            '44',
2977*c1010edaSGreg Roach            '44',
2978*c1010edaSGreg Roach            '44',
2979*c1010edaSGreg Roach        ],
2980*c1010edaSGreg Roach        'סץ'      => [
2981*c1010edaSGreg Roach            '0',
2982*c1010edaSGreg Roach            '44',
2983*c1010edaSGreg Roach            '44',
2984*c1010edaSGreg Roach            '44',
2985*c1010edaSGreg Roach        ],
2986*c1010edaSGreg Roach        'סז'      => [
2987*c1010edaSGreg Roach            '0',
2988*c1010edaSGreg Roach            '44',
2989*c1010edaSGreg Roach            '44',
2990*c1010edaSGreg Roach            '44',
2991*c1010edaSGreg Roach        ],
2992*c1010edaSGreg Roach        'סש'      => [
2993*c1010edaSGreg Roach            '0',
2994*c1010edaSGreg Roach            '44',
2995*c1010edaSGreg Roach            '44',
2996*c1010edaSGreg Roach            '44',
2997*c1010edaSGreg Roach        ],
2998*c1010edaSGreg Roach        'ס'       => [
2999*c1010edaSGreg Roach            '0',
3000*c1010edaSGreg Roach            '4',
3001*c1010edaSGreg Roach            '4',
3002*c1010edaSGreg Roach            '4',
3003*c1010edaSGreg Roach        ],
3004*c1010edaSGreg Roach        'ע'       => [
3005*c1010edaSGreg Roach            '1',
3006*c1010edaSGreg Roach            '0',
3007*c1010edaSGreg Roach            '',
3008*c1010edaSGreg Roach            '',
3009*c1010edaSGreg Roach        ],
3010*c1010edaSGreg Roach        'פב'      => [
3011*c1010edaSGreg Roach            '0',
3012*c1010edaSGreg Roach            '7',
3013*c1010edaSGreg Roach            '7',
3014*c1010edaSGreg Roach            '7',
3015*c1010edaSGreg Roach            '77',
3016*c1010edaSGreg Roach            '77',
3017*c1010edaSGreg Roach            '77',
3018*c1010edaSGreg Roach        ],
3019*c1010edaSGreg Roach        'פוו'     => [
3020*c1010edaSGreg Roach            '0',
3021*c1010edaSGreg Roach            '7',
3022*c1010edaSGreg Roach            '7',
3023*c1010edaSGreg Roach            '7',
3024*c1010edaSGreg Roach            '77',
3025*c1010edaSGreg Roach            '77',
3026*c1010edaSGreg Roach            '77',
3027*c1010edaSGreg Roach        ],
3028*c1010edaSGreg Roach        'פפ'      => [
3029*c1010edaSGreg Roach            '0',
3030*c1010edaSGreg Roach            '7',
3031*c1010edaSGreg Roach            '7',
3032*c1010edaSGreg Roach            '7',
3033*c1010edaSGreg Roach            '77',
3034*c1010edaSGreg Roach            '77',
3035*c1010edaSGreg Roach            '77',
3036*c1010edaSGreg Roach        ],
3037*c1010edaSGreg Roach        'פף'      => [
3038*c1010edaSGreg Roach            '0',
3039*c1010edaSGreg Roach            '7',
3040*c1010edaSGreg Roach            '7',
3041*c1010edaSGreg Roach            '7',
3042*c1010edaSGreg Roach            '77',
3043*c1010edaSGreg Roach            '77',
3044*c1010edaSGreg Roach            '77',
3045*c1010edaSGreg Roach        ],
3046*c1010edaSGreg Roach        'פ'       => [
3047*c1010edaSGreg Roach            '0',
3048*c1010edaSGreg Roach            '7',
3049*c1010edaSGreg Roach            '7',
3050*c1010edaSGreg Roach            '7',
3051*c1010edaSGreg Roach        ],
3052*c1010edaSGreg Roach        'ף'       => [
3053*c1010edaSGreg Roach            '0',
3054*c1010edaSGreg Roach            '',
3055*c1010edaSGreg Roach            '7',
3056*c1010edaSGreg Roach            '7',
3057*c1010edaSGreg Roach        ],
3058*c1010edaSGreg Roach        'צג'      => [
3059*c1010edaSGreg Roach            '0',
3060*c1010edaSGreg Roach            '44',
3061*c1010edaSGreg Roach            '44',
3062*c1010edaSGreg Roach            '44',
3063*c1010edaSGreg Roach            '45',
3064*c1010edaSGreg Roach            '45',
3065*c1010edaSGreg Roach            '45',
3066*c1010edaSGreg Roach        ],
3067*c1010edaSGreg Roach        'צז'      => [
3068*c1010edaSGreg Roach            '0',
3069*c1010edaSGreg Roach            '44',
3070*c1010edaSGreg Roach            '44',
3071*c1010edaSGreg Roach            '44',
3072*c1010edaSGreg Roach        ],
3073*c1010edaSGreg Roach        'צס'      => [
3074*c1010edaSGreg Roach            '0',
3075*c1010edaSGreg Roach            '44',
3076*c1010edaSGreg Roach            '44',
3077*c1010edaSGreg Roach            '44',
3078*c1010edaSGreg Roach        ],
3079*c1010edaSGreg Roach        'צצ'      => [
3080*c1010edaSGreg Roach            '0',
3081*c1010edaSGreg Roach            '4',
3082*c1010edaSGreg Roach            '4',
3083*c1010edaSGreg Roach            '4',
3084*c1010edaSGreg Roach            '5',
3085*c1010edaSGreg Roach            '5',
3086*c1010edaSGreg Roach            '5',
3087*c1010edaSGreg Roach            '44',
3088*c1010edaSGreg Roach            '44',
3089*c1010edaSGreg Roach            '44',
3090*c1010edaSGreg Roach            '54',
3091*c1010edaSGreg Roach            '54',
3092*c1010edaSGreg Roach            '54',
3093*c1010edaSGreg Roach            '45',
3094*c1010edaSGreg Roach            '45',
3095*c1010edaSGreg Roach            '45',
3096*c1010edaSGreg Roach        ],
3097*c1010edaSGreg Roach        'צץ'      => [
3098*c1010edaSGreg Roach            '0',
3099*c1010edaSGreg Roach            '4',
3100*c1010edaSGreg Roach            '4',
3101*c1010edaSGreg Roach            '4',
3102*c1010edaSGreg Roach            '5',
3103*c1010edaSGreg Roach            '5',
3104*c1010edaSGreg Roach            '5',
3105*c1010edaSGreg Roach            '44',
3106*c1010edaSGreg Roach            '44',
3107*c1010edaSGreg Roach            '44',
3108*c1010edaSGreg Roach            '54',
3109*c1010edaSGreg Roach            '54',
3110*c1010edaSGreg Roach            '54',
3111*c1010edaSGreg Roach        ],
3112*c1010edaSGreg Roach        'צש'      => [
3113*c1010edaSGreg Roach            '0',
3114*c1010edaSGreg Roach            '44',
3115*c1010edaSGreg Roach            '44',
3116*c1010edaSGreg Roach            '44',
3117*c1010edaSGreg Roach            '4',
3118*c1010edaSGreg Roach            '4',
3119*c1010edaSGreg Roach            '4',
3120*c1010edaSGreg Roach            '5',
3121*c1010edaSGreg Roach            '5',
3122*c1010edaSGreg Roach            '5',
3123*c1010edaSGreg Roach        ],
3124*c1010edaSGreg Roach        'צ'       => [
3125*c1010edaSGreg Roach            '0',
3126*c1010edaSGreg Roach            '4',
3127*c1010edaSGreg Roach            '4',
3128*c1010edaSGreg Roach            '4',
3129*c1010edaSGreg Roach            '5',
3130*c1010edaSGreg Roach            '5',
3131*c1010edaSGreg Roach            '5',
3132*c1010edaSGreg Roach        ],
3133*c1010edaSGreg Roach        'ץ'       => [
3134*c1010edaSGreg Roach            '0',
3135*c1010edaSGreg Roach            '',
3136*c1010edaSGreg Roach            '4',
3137*c1010edaSGreg Roach            '4',
3138*c1010edaSGreg Roach        ],
3139*c1010edaSGreg Roach        'קה'      => [
3140*c1010edaSGreg Roach            '0',
3141*c1010edaSGreg Roach            '55',
3142*c1010edaSGreg Roach            '55',
3143*c1010edaSGreg Roach            '5',
3144*c1010edaSGreg Roach        ],
3145*c1010edaSGreg Roach        'קס'      => [
3146*c1010edaSGreg Roach            '0',
3147*c1010edaSGreg Roach            '5',
3148*c1010edaSGreg Roach            '54',
3149*c1010edaSGreg Roach            '54',
3150*c1010edaSGreg Roach        ],
3151*c1010edaSGreg Roach        'קש'      => [
3152*c1010edaSGreg Roach            '0',
3153*c1010edaSGreg Roach            '5',
3154*c1010edaSGreg Roach            '54',
3155*c1010edaSGreg Roach            '54',
3156*c1010edaSGreg Roach        ],
3157*c1010edaSGreg Roach        'קק'      => [
3158*c1010edaSGreg Roach            '0',
3159*c1010edaSGreg Roach            '5',
3160*c1010edaSGreg Roach            '5',
3161*c1010edaSGreg Roach            '5',
3162*c1010edaSGreg Roach            '55',
3163*c1010edaSGreg Roach            '55',
3164*c1010edaSGreg Roach            '55',
3165*c1010edaSGreg Roach        ],
3166*c1010edaSGreg Roach        'קח'      => [
3167*c1010edaSGreg Roach            '0',
3168*c1010edaSGreg Roach            '55',
3169*c1010edaSGreg Roach            '55',
3170*c1010edaSGreg Roach            '55',
3171*c1010edaSGreg Roach        ],
3172*c1010edaSGreg Roach        'קכ'      => [
3173*c1010edaSGreg Roach            '0',
3174*c1010edaSGreg Roach            '55',
3175*c1010edaSGreg Roach            '55',
3176*c1010edaSGreg Roach            '55',
3177*c1010edaSGreg Roach        ],
3178*c1010edaSGreg Roach        'קך'      => [
3179*c1010edaSGreg Roach            '0',
3180*c1010edaSGreg Roach            '55',
3181*c1010edaSGreg Roach            '55',
3182*c1010edaSGreg Roach            '55',
3183*c1010edaSGreg Roach        ],
3184*c1010edaSGreg Roach        'קג'      => [
3185*c1010edaSGreg Roach            '0',
3186*c1010edaSGreg Roach            '55',
3187*c1010edaSGreg Roach            '55',
3188*c1010edaSGreg Roach            '55',
3189*c1010edaSGreg Roach            '54',
3190*c1010edaSGreg Roach            '54',
3191*c1010edaSGreg Roach            '54',
3192*c1010edaSGreg Roach        ],
3193*c1010edaSGreg Roach        'ק'       => [
3194*c1010edaSGreg Roach            '0',
3195*c1010edaSGreg Roach            '5',
3196*c1010edaSGreg Roach            '5',
3197*c1010edaSGreg Roach            '5',
3198*c1010edaSGreg Roach        ],
3199*c1010edaSGreg Roach        'רר'      => [
3200*c1010edaSGreg Roach            '0',
3201*c1010edaSGreg Roach            '99',
3202*c1010edaSGreg Roach            '99',
3203*c1010edaSGreg Roach            '99',
3204*c1010edaSGreg Roach            '9',
3205*c1010edaSGreg Roach            '9',
3206*c1010edaSGreg Roach            '9',
3207*c1010edaSGreg Roach        ],
3208*c1010edaSGreg Roach        'ר'       => [
3209*c1010edaSGreg Roach            '0',
3210*c1010edaSGreg Roach            '9',
3211*c1010edaSGreg Roach            '9',
3212*c1010edaSGreg Roach            '9',
3213*c1010edaSGreg Roach        ],
3214*c1010edaSGreg Roach        'שטז'     => [
3215*c1010edaSGreg Roach            '0',
3216*c1010edaSGreg Roach            '2',
3217*c1010edaSGreg Roach            '4',
3218*c1010edaSGreg Roach            '4',
3219*c1010edaSGreg Roach        ],
3220*c1010edaSGreg Roach        'שתש'     => [
3221*c1010edaSGreg Roach            '0',
3222*c1010edaSGreg Roach            '2',
3223*c1010edaSGreg Roach            '4',
3224*c1010edaSGreg Roach            '4',
3225*c1010edaSGreg Roach        ],
3226*c1010edaSGreg Roach        'שתז'     => [
3227*c1010edaSGreg Roach            '0',
3228*c1010edaSGreg Roach            '2',
3229*c1010edaSGreg Roach            '4',
3230*c1010edaSGreg Roach            '4',
3231*c1010edaSGreg Roach        ],
3232*c1010edaSGreg Roach        'שטש'     => [
3233*c1010edaSGreg Roach            '0',
3234*c1010edaSGreg Roach            '2',
3235*c1010edaSGreg Roach            '4',
3236*c1010edaSGreg Roach            '4',
3237*c1010edaSGreg Roach        ],
3238*c1010edaSGreg Roach        'שד'      => [
3239*c1010edaSGreg Roach            '0',
3240*c1010edaSGreg Roach            '2',
3241*c1010edaSGreg Roach            '43',
3242*c1010edaSGreg Roach            '43',
3243*c1010edaSGreg Roach        ],
3244*c1010edaSGreg Roach        'שז'      => [
3245*c1010edaSGreg Roach            '0',
3246*c1010edaSGreg Roach            '44',
3247*c1010edaSGreg Roach            '44',
3248*c1010edaSGreg Roach            '44',
3249*c1010edaSGreg Roach        ],
3250*c1010edaSGreg Roach        'שס'      => [
3251*c1010edaSGreg Roach            '0',
3252*c1010edaSGreg Roach            '44',
3253*c1010edaSGreg Roach            '44',
3254*c1010edaSGreg Roach            '44',
3255*c1010edaSGreg Roach        ],
3256*c1010edaSGreg Roach        'שת'      => [
3257*c1010edaSGreg Roach            '0',
3258*c1010edaSGreg Roach            '2',
3259*c1010edaSGreg Roach            '43',
3260*c1010edaSGreg Roach            '43',
3261*c1010edaSGreg Roach        ],
3262*c1010edaSGreg Roach        'שג'      => [
3263*c1010edaSGreg Roach            '0',
3264*c1010edaSGreg Roach            '4',
3265*c1010edaSGreg Roach            '4',
3266*c1010edaSGreg Roach            '4',
3267*c1010edaSGreg Roach            '44',
3268*c1010edaSGreg Roach            '44',
3269*c1010edaSGreg Roach            '44',
3270*c1010edaSGreg Roach            '4',
3271*c1010edaSGreg Roach            '43',
3272*c1010edaSGreg Roach            '43',
3273*c1010edaSGreg Roach        ],
3274*c1010edaSGreg Roach        'שט'      => [
3275*c1010edaSGreg Roach            '0',
3276*c1010edaSGreg Roach            '2',
3277*c1010edaSGreg Roach            '43',
3278*c1010edaSGreg Roach            '43',
3279*c1010edaSGreg Roach            '44',
3280*c1010edaSGreg Roach            '44',
3281*c1010edaSGreg Roach            '44',
3282*c1010edaSGreg Roach        ],
3283*c1010edaSGreg Roach        'שצ'      => [
3284*c1010edaSGreg Roach            '0',
3285*c1010edaSGreg Roach            '44',
3286*c1010edaSGreg Roach            '44',
3287*c1010edaSGreg Roach            '44',
3288*c1010edaSGreg Roach            '45',
3289*c1010edaSGreg Roach            '45',
3290*c1010edaSGreg Roach            '45',
3291*c1010edaSGreg Roach        ],
3292*c1010edaSGreg Roach        'שץ'      => [
3293*c1010edaSGreg Roach            '0',
3294*c1010edaSGreg Roach            '44',
3295*c1010edaSGreg Roach            '',
3296*c1010edaSGreg Roach            '44',
3297*c1010edaSGreg Roach            '45',
3298*c1010edaSGreg Roach            '',
3299*c1010edaSGreg Roach            '45',
3300*c1010edaSGreg Roach        ],
3301*c1010edaSGreg Roach        'שש'      => [
3302*c1010edaSGreg Roach            '0',
3303*c1010edaSGreg Roach            '4',
3304*c1010edaSGreg Roach            '4',
3305*c1010edaSGreg Roach            '4',
3306*c1010edaSGreg Roach            '44',
3307*c1010edaSGreg Roach            '44',
3308*c1010edaSGreg Roach            '44',
3309*c1010edaSGreg Roach        ],
3310*c1010edaSGreg Roach        'ש'       => [
3311*c1010edaSGreg Roach            '0',
3312*c1010edaSGreg Roach            '4',
3313*c1010edaSGreg Roach            '4',
3314*c1010edaSGreg Roach            '4',
3315*c1010edaSGreg Roach        ],
3316*c1010edaSGreg Roach        'תג'      => [
3317*c1010edaSGreg Roach            '0',
3318*c1010edaSGreg Roach            '34',
3319*c1010edaSGreg Roach            '34',
3320*c1010edaSGreg Roach            '34',
3321*c1010edaSGreg Roach        ],
3322*c1010edaSGreg Roach        'תז'      => [
3323*c1010edaSGreg Roach            '0',
3324*c1010edaSGreg Roach            '34',
3325*c1010edaSGreg Roach            '34',
3326*c1010edaSGreg Roach            '34',
3327*c1010edaSGreg Roach        ],
3328*c1010edaSGreg Roach        'תש'      => [
3329*c1010edaSGreg Roach            '0',
3330*c1010edaSGreg Roach            '4',
3331*c1010edaSGreg Roach            '4',
3332*c1010edaSGreg Roach            '4',
3333*c1010edaSGreg Roach        ],
3334*c1010edaSGreg Roach        'תת'      => [
3335*c1010edaSGreg Roach            '0',
3336*c1010edaSGreg Roach            '3',
3337*c1010edaSGreg Roach            '3',
3338*c1010edaSGreg Roach            '3',
3339*c1010edaSGreg Roach            '4',
3340*c1010edaSGreg Roach            '4',
3341*c1010edaSGreg Roach            '4',
3342*c1010edaSGreg Roach            '33',
3343*c1010edaSGreg Roach            '33',
3344*c1010edaSGreg Roach            '33',
3345*c1010edaSGreg Roach            '44',
3346*c1010edaSGreg Roach            '44',
3347*c1010edaSGreg Roach            '44',
3348*c1010edaSGreg Roach            '34',
3349*c1010edaSGreg Roach            '34',
3350*c1010edaSGreg Roach            '34',
3351*c1010edaSGreg Roach            '43',
3352*c1010edaSGreg Roach            '43',
3353*c1010edaSGreg Roach            '43',
3354*c1010edaSGreg Roach        ],
3355*c1010edaSGreg Roach        'ת'       => [
3356*c1010edaSGreg Roach            '0',
3357*c1010edaSGreg Roach            '3',
3358*c1010edaSGreg Roach            '3',
3359*c1010edaSGreg Roach            '3',
3360*c1010edaSGreg Roach            '4',
3361*c1010edaSGreg Roach            '4',
3362*c1010edaSGreg Roach            '4',
3363*c1010edaSGreg Roach        ],
3364a25f0a04SGreg Roach        // Arabic alphabet
3365*c1010edaSGreg Roach        'ا'       => [
3366*c1010edaSGreg Roach            '1',
3367*c1010edaSGreg Roach            '0',
3368*c1010edaSGreg Roach            '',
3369*c1010edaSGreg Roach            '',
3370*c1010edaSGreg Roach        ],
3371*c1010edaSGreg Roach        'ب'       => [
3372*c1010edaSGreg Roach            '0',
3373*c1010edaSGreg Roach            '7',
3374*c1010edaSGreg Roach            '7',
3375*c1010edaSGreg Roach            '7',
3376*c1010edaSGreg Roach        ],
3377*c1010edaSGreg Roach        'ت'       => [
3378*c1010edaSGreg Roach            '0',
3379*c1010edaSGreg Roach            '3',
3380*c1010edaSGreg Roach            '3',
3381*c1010edaSGreg Roach            '3',
3382*c1010edaSGreg Roach        ],
3383*c1010edaSGreg Roach        'ث'       => [
3384*c1010edaSGreg Roach            '0',
3385*c1010edaSGreg Roach            '3',
3386*c1010edaSGreg Roach            '3',
3387*c1010edaSGreg Roach            '3',
3388*c1010edaSGreg Roach        ],
3389*c1010edaSGreg Roach        'ج'       => [
3390*c1010edaSGreg Roach            '0',
3391*c1010edaSGreg Roach            '4',
3392*c1010edaSGreg Roach            '4',
3393*c1010edaSGreg Roach            '4',
3394*c1010edaSGreg Roach        ],
3395*c1010edaSGreg Roach        'ح'       => [
3396*c1010edaSGreg Roach            '0',
3397*c1010edaSGreg Roach            '5',
3398*c1010edaSGreg Roach            '5',
3399*c1010edaSGreg Roach            '5',
3400*c1010edaSGreg Roach        ],
3401*c1010edaSGreg Roach        'خ'       => [
3402*c1010edaSGreg Roach            '0',
3403*c1010edaSGreg Roach            '5',
3404*c1010edaSGreg Roach            '5',
3405*c1010edaSGreg Roach            '5',
3406*c1010edaSGreg Roach        ],
3407*c1010edaSGreg Roach        'د'       => [
3408*c1010edaSGreg Roach            '0',
3409*c1010edaSGreg Roach            '3',
3410*c1010edaSGreg Roach            '3',
3411*c1010edaSGreg Roach            '3',
3412*c1010edaSGreg Roach        ],
3413*c1010edaSGreg Roach        'ذ'       => [
3414*c1010edaSGreg Roach            '0',
3415*c1010edaSGreg Roach            '3',
3416*c1010edaSGreg Roach            '3',
3417*c1010edaSGreg Roach            '3',
3418*c1010edaSGreg Roach        ],
3419*c1010edaSGreg Roach        'ر'       => [
3420*c1010edaSGreg Roach            '0',
3421*c1010edaSGreg Roach            '9',
3422*c1010edaSGreg Roach            '9',
3423*c1010edaSGreg Roach            '9',
3424*c1010edaSGreg Roach        ],
3425*c1010edaSGreg Roach        'ز'       => [
3426*c1010edaSGreg Roach            '0',
3427*c1010edaSGreg Roach            '4',
3428*c1010edaSGreg Roach            '4',
3429*c1010edaSGreg Roach            '4',
3430*c1010edaSGreg Roach        ],
3431*c1010edaSGreg Roach        'س'       => [
3432*c1010edaSGreg Roach            '0',
3433*c1010edaSGreg Roach            '4',
3434*c1010edaSGreg Roach            '4',
3435*c1010edaSGreg Roach            '4',
3436*c1010edaSGreg Roach        ],
3437*c1010edaSGreg Roach        'ش'       => [
3438*c1010edaSGreg Roach            '0',
3439*c1010edaSGreg Roach            '4',
3440*c1010edaSGreg Roach            '4',
3441*c1010edaSGreg Roach            '4',
3442*c1010edaSGreg Roach        ],
3443*c1010edaSGreg Roach        'ص'       => [
3444*c1010edaSGreg Roach            '0',
3445*c1010edaSGreg Roach            '4',
3446*c1010edaSGreg Roach            '4',
3447*c1010edaSGreg Roach            '4',
3448*c1010edaSGreg Roach        ],
3449*c1010edaSGreg Roach        'ض'       => [
3450*c1010edaSGreg Roach            '0',
3451*c1010edaSGreg Roach            '3',
3452*c1010edaSGreg Roach            '3',
3453*c1010edaSGreg Roach            '3',
3454*c1010edaSGreg Roach        ],
3455*c1010edaSGreg Roach        'ط'       => [
3456*c1010edaSGreg Roach            '0',
3457*c1010edaSGreg Roach            '3',
3458*c1010edaSGreg Roach            '3',
3459*c1010edaSGreg Roach            '3',
3460*c1010edaSGreg Roach        ],
3461*c1010edaSGreg Roach        'ظ'       => [
3462*c1010edaSGreg Roach            '0',
3463*c1010edaSGreg Roach            '4',
3464*c1010edaSGreg Roach            '4',
3465*c1010edaSGreg Roach            '4',
3466*c1010edaSGreg Roach        ],
3467*c1010edaSGreg Roach        'ع'       => [
3468*c1010edaSGreg Roach            '1',
3469*c1010edaSGreg Roach            '0',
3470*c1010edaSGreg Roach            '',
3471*c1010edaSGreg Roach            '',
3472*c1010edaSGreg Roach        ],
3473*c1010edaSGreg Roach        'غ'       => [
3474*c1010edaSGreg Roach            '0',
3475*c1010edaSGreg Roach            '0',
3476*c1010edaSGreg Roach            '',
3477*c1010edaSGreg Roach            '',
3478*c1010edaSGreg Roach        ],
3479*c1010edaSGreg Roach        'ف'       => [
3480*c1010edaSGreg Roach            '0',
3481*c1010edaSGreg Roach            '7',
3482*c1010edaSGreg Roach            '7',
3483*c1010edaSGreg Roach            '7',
3484*c1010edaSGreg Roach        ],
3485*c1010edaSGreg Roach        'ق'       => [
3486*c1010edaSGreg Roach            '0',
3487*c1010edaSGreg Roach            '5',
3488*c1010edaSGreg Roach            '5',
3489*c1010edaSGreg Roach            '5',
3490*c1010edaSGreg Roach        ],
3491*c1010edaSGreg Roach        'ك'       => [
3492*c1010edaSGreg Roach            '0',
3493*c1010edaSGreg Roach            '5',
3494*c1010edaSGreg Roach            '5',
3495*c1010edaSGreg Roach            '5',
3496*c1010edaSGreg Roach        ],
3497*c1010edaSGreg Roach        'ل'       => [
3498*c1010edaSGreg Roach            '0',
3499*c1010edaSGreg Roach            '8',
3500*c1010edaSGreg Roach            '8',
3501*c1010edaSGreg Roach            '8',
3502*c1010edaSGreg Roach        ],
3503*c1010edaSGreg Roach        'لا'      => [
3504*c1010edaSGreg Roach            '0',
3505*c1010edaSGreg Roach            '8',
3506*c1010edaSGreg Roach            '8',
3507*c1010edaSGreg Roach            '8',
3508*c1010edaSGreg Roach        ],
3509*c1010edaSGreg Roach        'م'       => [
3510*c1010edaSGreg Roach            '0',
3511*c1010edaSGreg Roach            '6',
3512*c1010edaSGreg Roach            '6',
3513*c1010edaSGreg Roach            '6',
3514*c1010edaSGreg Roach        ],
3515*c1010edaSGreg Roach        'ن'       => [
3516*c1010edaSGreg Roach            '0',
3517*c1010edaSGreg Roach            '6',
3518*c1010edaSGreg Roach            '6',
3519*c1010edaSGreg Roach            '6',
3520*c1010edaSGreg Roach        ],
3521*c1010edaSGreg Roach        'هن'      => [
3522*c1010edaSGreg Roach            '0',
3523*c1010edaSGreg Roach            '66',
3524*c1010edaSGreg Roach            '66',
3525*c1010edaSGreg Roach            '66',
3526*c1010edaSGreg Roach        ],
3527*c1010edaSGreg Roach        'ه'       => [
3528*c1010edaSGreg Roach            '0',
3529*c1010edaSGreg Roach            '5',
3530*c1010edaSGreg Roach            '5',
3531*c1010edaSGreg Roach            '',
3532*c1010edaSGreg Roach        ],
3533*c1010edaSGreg Roach        'و'       => [
3534*c1010edaSGreg Roach            '1',
3535*c1010edaSGreg Roach            '',
3536*c1010edaSGreg Roach            '',
3537*c1010edaSGreg Roach            '',
3538*c1010edaSGreg Roach            '7',
3539*c1010edaSGreg Roach            '',
3540*c1010edaSGreg Roach            '',
3541*c1010edaSGreg Roach        ],
3542*c1010edaSGreg Roach        'ي'       => [
3543*c1010edaSGreg Roach            '0',
3544*c1010edaSGreg Roach            '1',
3545*c1010edaSGreg Roach            '',
3546*c1010edaSGreg Roach            '',
3547*c1010edaSGreg Roach        ],
3548*c1010edaSGreg Roach        'آ'       => [
3549*c1010edaSGreg Roach            '0',
3550*c1010edaSGreg Roach            '1',
3551*c1010edaSGreg Roach            '',
3552*c1010edaSGreg Roach            '',
3553*c1010edaSGreg Roach        ],
3554*c1010edaSGreg Roach        'ة'       => [
3555*c1010edaSGreg Roach            '0',
3556*c1010edaSGreg Roach            '',
3557*c1010edaSGreg Roach            '',
3558*c1010edaSGreg Roach            '3',
3559*c1010edaSGreg Roach        ],
3560*c1010edaSGreg Roach        'ی'       => [
3561*c1010edaSGreg Roach            '0',
3562*c1010edaSGreg Roach            '1',
3563*c1010edaSGreg Roach            '',
3564*c1010edaSGreg Roach            '',
3565*c1010edaSGreg Roach        ],
3566*c1010edaSGreg Roach        'ى'       => [
3567*c1010edaSGreg Roach            '1',
3568*c1010edaSGreg Roach            '1',
3569*c1010edaSGreg Roach            '',
3570*c1010edaSGreg Roach            '',
3571*c1010edaSGreg Roach        ],
357213abd6f3SGreg Roach    ];
3573a25f0a04SGreg Roach
3574a25f0a04SGreg Roach    /**
357576692c8bSGreg Roach     * Calculate the Daitch-Mokotoff soundex for a word.
357676692c8bSGreg Roach     *
3577a25f0a04SGreg Roach     * @param string $name
3578a25f0a04SGreg Roach     *
3579a25f0a04SGreg Roach     * @return string[] List of possible DM codes for the word.
3580a25f0a04SGreg Roach     */
3581*c1010edaSGreg Roach    private static function daitchMokotoffWord($name)
3582*c1010edaSGreg Roach    {
3583a25f0a04SGreg Roach        // Apply special transformation rules to the input string
3584a25f0a04SGreg Roach        $name = I18N::strtoupper($name);
3585a25f0a04SGreg Roach        foreach (self::$transformNameTable as $transformRule) {
3586a25f0a04SGreg Roach            $name = str_replace($transformRule[0], $transformRule[1], $name);
3587a25f0a04SGreg Roach        }
3588a25f0a04SGreg Roach
3589a25f0a04SGreg Roach        // Initialize
3590a25f0a04SGreg Roach        $name_script = I18N::textScript($name);
3591a25f0a04SGreg Roach        $noVowels    = ($name_script == 'Hebr' || $name_script == 'Arab');
3592a25f0a04SGreg Roach
3593a25f0a04SGreg Roach        $lastPos         = strlen($name) - 1;
3594a25f0a04SGreg Roach        $currPos         = 0;
3595a25f0a04SGreg Roach        $state           = 1; // 1: start of input string, 2: before vowel, 3: other
359613abd6f3SGreg Roach        $result          = []; // accumulate complete 6-digit D-M codes here
359713abd6f3SGreg Roach        $partialResult   = []; // accumulate incomplete D-M codes here
359813abd6f3SGreg Roach        $partialResult[] = ['!']; // initialize 1st partial result  ('!' stops "duplicate sound" check)
3599a25f0a04SGreg Roach
3600a25f0a04SGreg Roach        // Loop through the input string.
3601a25f0a04SGreg Roach        // Stop when the string is exhausted or when no more partial results remain
3602a25f0a04SGreg Roach        while (count($partialResult) !== 0 && $currPos <= $lastPos) {
3603a25f0a04SGreg Roach            // Find the DM coding table entry for the chunk at the current position
3604a25f0a04SGreg Roach            $thisEntry = substr($name, $currPos, self::MAXCHAR); // Get maximum length chunk
3605a25f0a04SGreg Roach            while ($thisEntry != '') {
3606a25f0a04SGreg Roach                if (isset(self::$dmsounds[$thisEntry])) {
3607a25f0a04SGreg Roach                    break;
3608a25f0a04SGreg Roach                }
3609a25f0a04SGreg Roach                $thisEntry = substr($thisEntry, 0, -1); // Not in table: try a shorter chunk
3610a25f0a04SGreg Roach            }
3611a25f0a04SGreg Roach            if ($thisEntry === '') {
3612a25f0a04SGreg Roach                $currPos++; // Not in table: advance pointer to next byte
3613a25f0a04SGreg Roach                continue; // and try again
3614a25f0a04SGreg Roach            }
3615a25f0a04SGreg Roach
3616a25f0a04SGreg Roach            $soundTableEntry = self::$dmsounds[$thisEntry];
3617a25f0a04SGreg Roach            $workingResult   = $partialResult;
361813abd6f3SGreg Roach            $partialResult   = [];
3619a25f0a04SGreg Roach            $currPos         += strlen($thisEntry);
3620a25f0a04SGreg Roach
3621a25f0a04SGreg Roach            // Not at beginning of input string
3622a25f0a04SGreg Roach            if ($state != 1) {
3623a25f0a04SGreg Roach                if ($currPos <= $lastPos) {
3624a25f0a04SGreg Roach                    // Determine whether the next chunk is a vowel
3625a25f0a04SGreg Roach                    $nextEntry = substr($name, $currPos, self::MAXCHAR); // Get maximum length chunk
3626a25f0a04SGreg Roach                    while ($nextEntry != '') {
3627a25f0a04SGreg Roach                        if (isset(self::$dmsounds[$nextEntry])) {
3628a25f0a04SGreg Roach                            break;
3629a25f0a04SGreg Roach                        }
3630a25f0a04SGreg Roach                        $nextEntry = substr($nextEntry, 0, -1); // Not in table: try a shorter chunk
3631a25f0a04SGreg Roach                    }
3632a25f0a04SGreg Roach                } else {
3633a25f0a04SGreg Roach                    $nextEntry = '';
3634a25f0a04SGreg Roach                }
3635a25f0a04SGreg Roach                if ($nextEntry != '' && self::$dmsounds[$nextEntry][0] != '0') {
3636a25f0a04SGreg Roach                    $state = 2;
3637a25f0a04SGreg Roach                } else {
3638a25f0a04SGreg Roach                    // Next chunk is a vowel
3639a25f0a04SGreg Roach                    $state = 3;
3640a25f0a04SGreg Roach                }
3641a25f0a04SGreg Roach            }
3642a25f0a04SGreg Roach
3643a25f0a04SGreg Roach            while ($state < count($soundTableEntry)) {
3644a25f0a04SGreg Roach                // empty means 'ignore this sound in this state'
3645a25f0a04SGreg Roach                if ($soundTableEntry[$state] == '') {
3646a25f0a04SGreg Roach                    foreach ($workingResult as $workingEntry) {
3647a25f0a04SGreg Roach                        $tempEntry                        = $workingEntry;
3648a25f0a04SGreg Roach                        $tempEntry[count($tempEntry) - 1] .= '!'; // Prevent false 'doubles'
3649a25f0a04SGreg Roach                        $partialResult[]                  = $tempEntry;
3650a25f0a04SGreg Roach                    }
3651a25f0a04SGreg Roach                } else {
3652a25f0a04SGreg Roach                    foreach ($workingResult as $workingEntry) {
3653a25f0a04SGreg Roach                        if ($soundTableEntry[$state] !== $workingEntry[count($workingEntry) - 1]) {
3654a25f0a04SGreg Roach                            // Incoming sound isn't a duplicate of the previous sound
3655a25f0a04SGreg Roach                            $workingEntry[] = $soundTableEntry[$state];
3656a25f0a04SGreg Roach                        } else {
3657a25f0a04SGreg Roach                            // Incoming sound is a duplicate of the previous sound
3658a25f0a04SGreg Roach                            // For Hebrew and Arabic, we need to create a pair of D-M sound codes,
3659a25f0a04SGreg Roach                            // one of the pair with only a single occurrence of the duplicate sound,
3660a25f0a04SGreg Roach                            // the other with both occurrences
3661a25f0a04SGreg Roach                            if ($noVowels) {
3662a25f0a04SGreg Roach                                $workingEntry[] = $soundTableEntry[$state];
3663a25f0a04SGreg Roach                            }
3664a25f0a04SGreg Roach                        }
3665a25f0a04SGreg Roach                        if (count($workingEntry) < 7) {
3666a25f0a04SGreg Roach                            $partialResult[] = $workingEntry;
3667a25f0a04SGreg Roach                        } else {
3668a25f0a04SGreg Roach                            // This is the 6th code in the sequence
3669a25f0a04SGreg Roach                            // We're looking for 7 entries because the first is '!' and doesn't count
3670a25f0a04SGreg Roach                            $tempResult = str_replace('!', '', implode('', $workingEntry));
3671a25f0a04SGreg Roach                            // Only return codes from recognisable sounds
3672a25f0a04SGreg Roach                            if ($tempResult) {
3673a25f0a04SGreg Roach                                $result[] = substr($tempResult . '000000', 0, 6);
3674a25f0a04SGreg Roach                            }
3675a25f0a04SGreg Roach                        }
3676a25f0a04SGreg Roach                    }
3677a25f0a04SGreg Roach                }
3678a25f0a04SGreg Roach                $state = $state + 3; // Advance to next triplet while keeping the same basic state
3679a25f0a04SGreg Roach            }
3680a25f0a04SGreg Roach        }
3681a25f0a04SGreg Roach
3682a25f0a04SGreg Roach        // Zero-fill and copy all remaining partial results
3683a25f0a04SGreg Roach        foreach ($partialResult as $workingEntry) {
3684a25f0a04SGreg Roach            $tempResult = str_replace('!', '', implode('', $workingEntry));
3685a25f0a04SGreg Roach            // Only return codes from recognisable sounds
3686a25f0a04SGreg Roach            if ($tempResult) {
3687a25f0a04SGreg Roach                $result[] = substr($tempResult . '000000', 0, 6);
3688a25f0a04SGreg Roach            }
3689a25f0a04SGreg Roach        }
3690a25f0a04SGreg Roach
3691a25f0a04SGreg Roach        return $result;
3692a25f0a04SGreg Roach    }
3693a25f0a04SGreg Roach}
3694