Coverage Report

Created: 2025-11-24 06:44

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/moddable/xs/sources/xsString.c
Line
Count
Source
1
/*
2
 * Copyright (c) 2016-2025  Moddable Tech, Inc.
3
 *
4
 *   This file is part of the Moddable SDK Runtime.
5
 * 
6
 *   The Moddable SDK Runtime is free software: you can redistribute it and/or modify
7
 *   it under the terms of the GNU Lesser General Public License as published by
8
 *   the Free Software Foundation, either version 3 of the License, or
9
 *   (at your option) any later version.
10
 * 
11
 *   The Moddable SDK Runtime is distributed in the hope that it will be useful,
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 *   GNU Lesser General Public License for more details.
15
 * 
16
 *   You should have received a copy of the GNU Lesser General Public License
17
 *   along with the Moddable SDK Runtime.  If not, see <http://www.gnu.org/licenses/>.
18
 *
19
 * This file incorporates work covered by the following copyright and  
20
 * permission notice:  
21
 *
22
 *       Copyright (C) 2010-2016 Marvell International Ltd.
23
 *       Copyright (C) 2002-2010 Kinoma, Inc.
24
 *
25
 *       Licensed under the Apache License, Version 2.0 (the "License");
26
 *       you may not use this file except in compliance with the License.
27
 *       You may obtain a copy of the License at
28
 *
29
 *        http://www.apache.org/licenses/LICENSE-2.0
30
 *
31
 *       Unless required by applicable law or agreed to in writing, software
32
 *       distributed under the License is distributed on an "AS IS" BASIS,
33
 *       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
 *       See the License for the specific language governing permissions and
35
 *       limitations under the License.
36
 */
37
38
#include "xsAll.h"
39
40
#if mxStringInfoCacheLength
41
42
typedef struct sxStringInfo txStringInfo;
43
typedef struct sxStringInfoCache txStringInfoCache;
44
45
struct sxStringInfo {
46
  txString string;
47
  txSize unicodeLength;
48
  txSize utf8Length;
49
  txSize unicodeOffset;
50
  txSize utf8Offset;
51
  txBoolean ascii;
52
};
53
54
struct sxStringInfoCache {
55
  txInteger count;
56
  txInteger head;
57
  txInteger tail;
58
  txStringInfo infos[1];
59
};
60
61
static txStringInfo* fxCacheStringInfo(txMachine* the, txString string);
62
63
void fxAllocateStringInfoCache(txMachine* the)
64
33.8k
{
65
33.8k
  txStringInfoCache* cache = c_malloc(sizeof(txStringInfoCache) + ((mxStringInfoCacheLength - 1) * sizeof(txStringInfo)));
66
33.8k
  if (cache == C_NULL)
67
0
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
68
33.8k
  cache->count = mxStringInfoCacheLength;
69
33.8k
  cache->head = 0;
70
33.8k
  cache->tail = 0;
71
33.8k
  the->stringInfoCache = cache;
72
33.8k
}
73
74
void fxFreeStringInfoCache(txMachine* the)
75
33.8k
{
76
33.8k
  txStringInfoCache* cache = the->stringInfoCache;
77
33.8k
  if (cache)
78
33.8k
    c_free(cache);  
79
33.8k
}
80
81
void fxInvalidateStringInfoCache(txMachine* the)
82
80.0k
{
83
80.0k
  txStringInfoCache* cache = the->stringInfoCache;
84
80.0k
  if (cache) {
85
80.0k
    cache->head = 0;
86
80.0k
    cache->tail = 0;
87
80.0k
  }
88
80.0k
}
89
90
txStringInfo* fxCacheStringInfo(txMachine* the, txString string)
91
225M
{
92
225M
  txStringInfoCache* cache = the->stringInfoCache;
93
225M
  txStringInfo* info = C_NULL;
94
225M
  if (cache) {
95
225M
    txInteger count = cache->count;
96
225M
    txInteger head = cache->head;
97
225M
    txInteger tail = cache->tail;
98
225M
    txInteger i;
99
225M
    i = head - 1;
100
225M
    info = cache->infos + i;
101
234M
    while (i >= 0) {
102
194M
      if (info->string == string)
103
185M
        return info;
104
8.64M
      i--;
105
8.64M
      info--;
106
8.64M
    }
107
40.0M
    i = tail - 1;
108
40.0M
    info = cache->infos + i;
109
50.5M
    while (i >= head) {
110
47.3M
      if (info->string == string)
111
36.8M
        return info;
112
10.5M
      i--;
113
10.5M
      info--;
114
10.5M
    }
115
3.26M
    if (tail < count)
116
111k
      tail++;
117
3.26M
    info = cache->infos + head;
118
3.26M
    head++;
119
3.26M
    if (head == count)
120
795k
      head = 0;
121
3.26M
    cache->head = head; 
122
3.26M
    cache->tail = tail; 
123
3.26M
    info->string = string;
124
3.26M
    info->unicodeLength = fxUnicodeLength(string, &info->utf8Length);
125
3.26M
    info->unicodeOffset = 0;
126
3.26M
    info->utf8Offset = 0;
127
3.26M
    info->ascii = (info->unicodeLength == info->utf8Length) ? 1 : 0;
128
3.26M
  }
129
3.26M
  return info;
130
225M
}
131
132
txSize fxCacheUTF8Length(txMachine* the, txString string)
133
16.6M
{
134
16.6M
  txStringInfo* info = fxCacheStringInfo(the, string);
135
16.6M
  if (info) 
136
16.6M
    return info->utf8Length;
137
0
  return c_strlen(string);
138
16.6M
}
139
140
txSize fxCacheUTF8ToUnicodeOffset(txMachine* the, txString string, txSize offset)
141
38.5M
{
142
38.5M
  txStringInfo* info;
143
38.5M
  if (offset <= 0)
144
427k
    return offset ? -1 : 0;  
145
38.1M
  info = fxCacheStringInfo(the, string);
146
38.1M
  if (info) {
147
38.1M
    txSize delta, sign, unicodeOffset, utf8Offset;
148
38.1M
    txU1* p;
149
38.1M
    if (/* (offset < 0) || */ (info->utf8Length < offset))
150
0
      return -1;
151
38.1M
    if ((info->ascii) /* || (offset == 0) */)
152
4.71k
      return offset;
153
38.1M
    if (offset == info->utf8Length)
154
646k
      return info->unicodeLength;
155
37.4M
    delta = offset - info->utf8Offset;
156
37.4M
    if (delta == 0)
157
21.5M
      return info->unicodeOffset;
158
15.9M
    if (delta > 0) {
159
14.7M
      if (delta < info->utf8Length - offset) {
160
14.5M
        sign = 1;
161
14.5M
        unicodeOffset = info->unicodeOffset + 1;
162
14.5M
        utf8Offset = info->utf8Offset + 1;
163
14.5M
      }
164
252k
      else {
165
252k
        sign = -1;
166
252k
        unicodeOffset = info->unicodeLength - 1;
167
252k
        utf8Offset = info->utf8Length - 1;
168
252k
      }
169
14.7M
    }
170
1.19M
    else {
171
1.19M
      if (0 - delta < offset) {
172
1.12M
        sign = -1;
173
1.12M
        unicodeOffset = info->unicodeOffset - 1;
174
1.12M
        utf8Offset = info->utf8Offset - 1;
175
1.12M
      }
176
73.7k
      else {
177
73.7k
        sign = 1;
178
73.7k
        unicodeOffset = 1;
179
73.7k
        utf8Offset = 1;
180
73.7k
      }
181
1.19M
    }
182
15.9M
    p = (txU1*)string + utf8Offset;
183
79.2M
    for (;;) {
184
79.2M
      if ((*p & 0xC0) != 0x80) {
185
41.5M
        if (utf8Offset == offset)
186
15.9M
          break;
187
25.5M
        unicodeOffset += sign;
188
25.5M
      }
189
63.2M
      p += sign;
190
63.2M
      utf8Offset += sign;
191
63.2M
    }
192
15.9M
    info->utf8Offset = utf8Offset;
193
15.9M
    info->unicodeOffset = unicodeOffset;
194
15.9M
    return unicodeOffset;
195
37.4M
  }
196
0
  return fxUTF8ToUnicodeOffset(string, offset);
197
38.1M
}
198
199
txSize fxCacheUnicodeLength(txMachine* the, txString string)
200
77.3M
{
201
77.3M
  txStringInfo* info = fxCacheStringInfo(the, string);
202
77.3M
  if (info) 
203
77.3M
    return info->unicodeLength;
204
0
  return fxUnicodeLength(string, C_NULL);
205
77.3M
}
206
207
txSize fxCacheUnicodeToUTF8Offset(txMachine* the, txString string, txSize offset)
208
95.1M
{
209
95.1M
  txStringInfo* info;
210
95.1M
  if (offset <= 0)
211
1.73M
    return offset ? -1 : 0;  
212
93.4M
  info = fxCacheStringInfo(the, string);
213
93.4M
  if (info) {
214
93.4M
    txSize delta, sign, unicodeOffset, utf8Offset;
215
93.4M
    txU1* p;
216
93.4M
    if ((offset < 0) || (info->unicodeLength < offset))
217
263k
      return -1;
218
93.2M
    if ((info->ascii) || (offset == 0))
219
241k
      return offset;
220
92.9M
    if (offset == info->unicodeLength)
221
282k
      return info->utf8Length;
222
92.6M
    delta = offset - info->unicodeOffset;
223
92.6M
    if (delta == 0)
224
52.5M
      return info->utf8Offset;
225
40.0M
    if (delta > 0) {
226
37.6M
      if (delta < info->unicodeLength - offset) {
227
37.0M
        sign = 1;
228
37.0M
        unicodeOffset = info->unicodeOffset + 1;
229
37.0M
        utf8Offset = info->utf8Offset + 1;
230
37.0M
      }
231
591k
      else {
232
591k
        sign = -1;
233
591k
        unicodeOffset = info->unicodeLength - 1;
234
591k
        utf8Offset = info->utf8Length - 1;
235
591k
      }
236
37.6M
    }
237
2.41M
    else {
238
2.41M
      if (0 - delta < offset) {
239
2.33M
        sign = -1;
240
2.33M
        unicodeOffset = info->unicodeOffset - 1;
241
2.33M
        utf8Offset = info->utf8Offset - 1;
242
2.33M
      }
243
74.9k
      else {
244
74.9k
        sign = 1;
245
74.9k
        unicodeOffset = 1;
246
74.9k
        utf8Offset = 1;
247
74.9k
      }
248
2.41M
    }
249
40.0M
    p = (txU1*)string + utf8Offset;
250
217M
    for (;;) {
251
217M
      if ((*p & 0xC0) != 0x80) {
252
138M
        if (unicodeOffset == offset)
253
40.0M
          break;
254
98.4M
        unicodeOffset += sign;
255
98.4M
      }
256
177M
      p += sign;
257
177M
      utf8Offset += sign;
258
177M
    }
259
40.0M
    info->utf8Offset = utf8Offset;
260
40.0M
    info->unicodeOffset = unicodeOffset;
261
40.0M
    return utf8Offset;
262
92.6M
  }
263
0
  return fxUnicodeToUTF8Offset(string, offset);
264
93.4M
}
265
#endif
266
267
1.43M
#define mxStringInstanceLength(INSTANCE) ((txIndex)fxUnicodeLength(instance->next->value.string, C_NULL))
268
61.6M
#define mxCacheStringInstanceLength(INSTANCE) ((txIndex)fxCacheUnicodeLength(the, instance->next->value.string))
269
270
static txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength);
271
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, txInteger theLength, txInteger theOffset, txString theSubString, txInteger theSubLength, txInteger* theOffsets);
272
static void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace);
273
static txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop);
274
275
static txSlot* fxCheckString(txMachine* the, txSlot* it);
276
static txString fxCoerceToString(txMachine* the, txSlot* theSlot);
277
static txInteger fxArgToPosition(txMachine* the, txInteger i, txInteger index, txInteger length);
278
static void fx_String_prototype_pad(txMachine* the, txBoolean flag);
279
static void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd);
280
static txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
281
static void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count);
282
283
static txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
284
static txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask);
285
static txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot);
286
static txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
287
static txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index);
288
static void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys);
289
static txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag);
290
291
#ifdef mxStringNormalize
292
static void fxNormalizeString(txMachine* the, txSlot* string, txFlag form);
293
#endif
294
295
const txBehavior ICACHE_FLASH_ATTR gxStringBehavior = {
296
  fxStringGetProperty,
297
  fxStringSetProperty,
298
  fxOrdinaryCall,
299
  fxOrdinaryConstruct,
300
  fxStringDefineOwnProperty,
301
  fxStringDeleteProperty,
302
  fxStringGetOwnProperty,
303
  fxOrdinaryGetPropertyValue,
304
  fxOrdinaryGetPrototype,
305
  fxStringHasProperty,
306
  fxOrdinaryIsExtensible,
307
  fxStringOwnKeys,
308
  fxOrdinaryPreventExtensions,
309
  fxOrdinarySetPropertyValue,
310
  fxOrdinarySetPrototype,
311
};
312
313
void fxBuildString(txMachine* the)
314
33.8k
{
315
33.8k
  txSlot* instance;
316
33.8k
  txSlot* property;
317
33.8k
  txSlot* slot;
318
  
319
33.8k
  mxPush(mxObjectPrototype);
320
33.8k
  instance = fxNewStringInstance(the);
321
  
322
33.8k
  fxNewHostFunction(the, mxCallback(fxStringAccessorGetter), 0, XS_NO_ID, XS_NO_ID);
323
33.8k
  property = mxFunctionInstanceHome(the->stack->value.reference);
324
33.8k
  property->value.home.object = instance;
325
33.8k
  fxNewHostFunction(the, mxCallback(fxStringAccessorSetter), 1, XS_NO_ID, XS_NO_ID);
326
33.8k
  property = mxFunctionInstanceHome(the->stack->value.reference);
327
33.8k
  property->value.home.object = instance;
328
33.8k
  mxPushUndefined();
329
33.8k
  the->stack->flag = XS_DONT_DELETE_FLAG;
330
33.8k
  the->stack->kind = XS_ACCESSOR_KIND;
331
33.8k
  the->stack->value.accessor.getter = (the->stack + 2)->value.reference;
332
33.8k
  the->stack->value.accessor.setter = (the->stack + 1)->value.reference;
333
33.8k
  mxPull(mxStringAccessor);
334
33.8k
  mxPop();
335
33.8k
  mxPop();
336
  
337
33.8k
  slot = fxLastProperty(the, instance);
338
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_at), 1, mxID(_at), XS_DONT_ENUM_FLAG);
339
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charAt), 1, mxID(_charAt), XS_DONT_ENUM_FLAG);
340
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_charCodeAt), 1, mxID(_charCodeAt), XS_DONT_ENUM_FLAG);
341
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_codePointAt), 1, mxID(_codePointAt), XS_DONT_ENUM_FLAG);
342
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_compare), 1, mxID(_compare), XS_DONT_ENUM_FLAG);
343
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_concat), 1, mxID(_concat), XS_DONT_ENUM_FLAG);
344
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_endsWith), 1, mxID(_endsWith), XS_DONT_ENUM_FLAG);
345
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_includes), 1, mxID(_includes), XS_DONT_ENUM_FLAG);
346
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_indexOf), 1, mxID(_indexOf), XS_DONT_ENUM_FLAG);
347
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_lastIndexOf), 1, mxID(_lastIndexOf), XS_DONT_ENUM_FLAG);
348
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_localeCompare), 1, mxID(_localeCompare), XS_DONT_ENUM_FLAG);
349
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_normalize), 0, mxID(_normalize), XS_DONT_ENUM_FLAG);
350
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padEnd), 1, mxID(_padEnd), XS_DONT_ENUM_FLAG);
351
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_padStart), 1, mxID(_padStart), XS_DONT_ENUM_FLAG);
352
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_repeat), 1, mxID(_repeat), XS_DONT_ENUM_FLAG);
353
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replace), 2, mxID(_replace), XS_DONT_ENUM_FLAG);
354
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_replaceAll), 2, mxID(_replaceAll), XS_DONT_ENUM_FLAG);
355
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_slice), 2, mxID(_slice), XS_DONT_ENUM_FLAG);
356
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_split), 2, mxID(_split), XS_DONT_ENUM_FLAG);
357
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_startsWith), 1, mxID(_startsWith), XS_DONT_ENUM_FLAG);
358
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substr), 2, mxID(_substr), XS_DONT_ENUM_FLAG);
359
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_substring), 2, mxID(_substring), XS_DONT_ENUM_FLAG);
360
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLocaleLowerCase), XS_DONT_ENUM_FLAG);
361
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toLocaleUpperCase), XS_DONT_ENUM_FLAG);
362
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toLowerCase), 0, mxID(_toLowerCase), XS_DONT_ENUM_FLAG);
363
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_toString), XS_DONT_ENUM_FLAG);
364
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toUpperCase), 0, mxID(_toUpperCase), XS_DONT_ENUM_FLAG);
365
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trim), 0, mxID(_trim), XS_DONT_ENUM_FLAG);
366
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimEnd), 0, mxID(_trimEnd), XS_DONT_ENUM_FLAG);
367
33.8k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimRight), XS_DONT_ENUM_FLAG);
368
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_trimStart), 0, mxID(_trimStart), XS_DONT_ENUM_FLAG);
369
33.8k
  slot = fxNextSlotProperty(the, slot, slot, mxID(_trimLeft), XS_DONT_ENUM_FLAG);
370
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_valueOf), 0, mxID(_valueOf), XS_DONT_ENUM_FLAG);
371
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator), 0, mxID(_Symbol_iterator), XS_DONT_ENUM_FLAG);
372
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_match), 1, mxID(_match), XS_DONT_ENUM_FLAG);
373
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_matchAll), 1, mxID(_matchAll), XS_DONT_ENUM_FLAG);
374
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_search), 1, mxID(_search), XS_DONT_ENUM_FLAG);
375
33.8k
#if mxECMAScript2024
376
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_isWellFormed), 0, mxID(_isWellFormed), XS_DONT_ENUM_FLAG);
377
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_toWellFormed), 0, mxID(_toWellFormed), XS_DONT_ENUM_FLAG);
378
33.8k
#endif
379
33.8k
  mxStringPrototype = *the->stack;
380
33.8k
  slot = fxBuildHostConstructor(the, mxCallback(fx_String), 1, mxID(_String));
381
33.8k
  mxStringConstructor = *the->stack;
382
33.8k
  slot = fxLastProperty(the, slot);
383
#ifndef mxCESU8
384
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromArrayBuffer), 1, mxID(_fromArrayBuffer), XS_DONT_ENUM_FLAG);
385
#endif
386
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCharCode), 1, mxID(_fromCharCode), XS_DONT_ENUM_FLAG);
387
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_fromCodePoint), 1, mxID(_fromCodePoint), XS_DONT_ENUM_FLAG);
388
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_raw), 1, mxID(_raw), XS_DONT_ENUM_FLAG);
389
33.8k
  mxPop();
390
391
33.8k
  mxPush(mxIteratorPrototype);
392
33.8k
  slot = fxLastProperty(the, fxNewObjectInstance(the));
393
33.8k
  slot = fxNextHostFunctionProperty(the, slot, mxCallback(fx_String_prototype_iterator_next), 0, mxID(_next), XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG);
394
33.8k
  slot = fxNextStringXProperty(the, slot, "String Iterator", mxID(_Symbol_toStringTag), XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG);
395
33.8k
  mxPull(mxStringIteratorPrototype);
396
33.8k
}
397
398
txSlot* fxNewStringInstance(txMachine* the)
399
14.0M
{
400
14.0M
  txSlot* instance;
401
14.0M
  instance = fxNewObjectInstance(the);
402
14.0M
  instance->flag |= XS_EXOTIC_FLAG;
403
14.0M
  fxNextSlotProperty(the, instance, &mxEmptyString, XS_STRING_BEHAVIOR, XS_INTERNAL_FLAG);
404
14.0M
  return instance;
405
14.0M
}
406
407
void fxStringAccessorGetter(txMachine* the)
408
25.8M
{
409
25.8M
  txSlot* string = C_NULL;
410
25.8M
  txID id = the->scratch.value.at.id;
411
25.8M
  txIndex index = the->scratch.value.at.index;
412
25.8M
  if ((mxThis->kind == XS_STRING_KIND) || (mxThis->kind == XS_STRING_X_KIND))
413
219k
    string = mxThis;
414
25.6M
  else {
415
25.6M
    txSlot* instance = fxToInstance(the, mxThis);
416
25.6M
    while (instance) {
417
25.6M
      if ((instance->flag & XS_EXOTIC_FLAG) && (instance->next->ID == XS_STRING_BEHAVIOR)) {
418
25.6M
        string = instance->next;
419
25.6M
        break;
420
25.6M
      }
421
0
      instance = fxGetPrototype(the, instance);
422
0
    }
423
25.6M
  }
424
25.8M
  if (string) {
425
25.8M
    if (id == mxID(_length)) {
426
1.28k
      mxResult->value.integer = fxCacheUnicodeLength(the, string->value.string);
427
1.28k
      mxResult->kind = XS_INTEGER_KIND;
428
1.28k
    }
429
25.8M
    else {
430
25.8M
      txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.string, index);
431
25.8M
      if (from >= 0) {
432
25.8M
        txInteger to = fxUnicodeToUTF8Offset(string->value.string + from, 1);
433
25.8M
        if (to >= 0) {
434
25.8M
          to += from;
435
25.8M
          mxResult->value.string = fxNewChunk(the, to - from + 1);
436
25.8M
          c_memcpy(mxResult->value.string, string->value.string + from, to - from);
437
25.8M
          mxResult->value.string[to - from] = 0;
438
25.8M
          mxResult->kind = XS_STRING_KIND;
439
25.8M
        }
440
25.8M
      }
441
25.8M
    }
442
25.8M
  }
443
25.8M
}
444
445
void fxStringAccessorSetter(txMachine* the)
446
0
{
447
0
}
448
449
txBoolean fxStringDefineOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* slot, txFlag mask)
450
1.32k
{
451
1.32k
  if (id == mxID(_length)) {
452
40
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
453
0
      return 0;
454
40
    if ((mask & XS_DONT_ENUM_FLAG) && !(slot->flag & XS_DONT_ENUM_FLAG))
455
0
      return 0;
456
40
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
457
0
      return 0;
458
40
    if (slot->kind != XS_UNINITIALIZED_KIND)
459
0
      return 0;
460
40
    return 1;
461
40
  }
462
1.28k
  if (!id && (mxStringInstanceLength(instance) > index)) {
463
423
    if ((mask & XS_DONT_DELETE_FLAG) && !(slot->flag & XS_DONT_DELETE_FLAG))
464
0
      return 0;
465
423
    if ((mask & XS_DONT_ENUM_FLAG) && (slot->flag & XS_DONT_ENUM_FLAG))
466
0
      return 0;
467
423
    if ((mask & XS_DONT_SET_FLAG) && !(slot->flag & XS_DONT_SET_FLAG))
468
0
      return 0;
469
423
    if (slot->kind != XS_UNINITIALIZED_KIND)
470
4
      return 0;
471
419
    return 1;
472
423
  }
473
861
  return fxOrdinaryDefineOwnProperty(the, instance, id, index, slot, mask);
474
1.28k
}
475
476
txBoolean fxStringDeleteProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
477
1.07k
{
478
1.07k
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
479
917
    return 0;
480
155
  return fxOrdinaryDeleteProperty(the, instance, id, index);
481
1.07k
}
482
483
txBoolean fxStringGetOwnProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txSlot* descriptor)
484
37.8M
{
485
37.8M
  if (id == mxID(_length)) {
486
319k
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_ENUM_FLAG | XS_DONT_SET_FLAG;
487
319k
    descriptor->ID = id;
488
319k
    descriptor->kind = XS_INTEGER_KIND;
489
319k
    descriptor->value.integer = mxStringInstanceLength(instance);
490
319k
    return 1;
491
319k
  }
492
37.4M
  if (!id && (mxCacheStringInstanceLength(instance) > index)) {
493
33.2M
    txSlot* string = instance->next;
494
33.2M
    txInteger from = fxCacheUnicodeToUTF8Offset(the, string->value.key.string, index);
495
33.2M
    txInteger length = fxUnicodeToUTF8Offset(string->value.key.string + from, 1);
496
33.2M
    descriptor->value.string = fxNewChunk(the, length + 1);
497
33.2M
    c_memcpy(descriptor->value.string, string->value.key.string + from, length);
498
33.2M
    descriptor->value.string[length] = 0;
499
33.2M
    descriptor->kind = XS_STRING_KIND;
500
33.2M
    descriptor->flag = XS_DONT_DELETE_FLAG | XS_DONT_SET_FLAG;
501
33.2M
    return 1;
502
33.2M
  }
503
4.25M
  return fxOrdinaryGetOwnProperty(the, instance, id, index, descriptor);
504
37.4M
}
505
506
txSlot* fxStringGetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
507
57.5M
{
508
57.5M
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index))) {
509
25.8M
    the->scratch.value.at.id = id;
510
25.8M
    the->scratch.value.at.index = index;
511
25.8M
    return &mxStringAccessor;
512
25.8M
  }
513
31.6M
  return fxOrdinaryGetProperty(the, instance, id, index, flag);
514
57.5M
}
515
516
txBoolean fxStringHasProperty(txMachine* the, txSlot* instance, txID id, txIndex index)
517
378k
{
518
378k
  if ((id == mxID(_length)) || (!id && (mxCacheStringInstanceLength(instance) > index)))
519
177k
    return 1;
520
200k
  return fxOrdinaryHasProperty(the, instance, id, index);
521
378k
}
522
523
void fxStringOwnKeys(txMachine* the, txSlot* instance, txFlag flag, txSlot* keys)
524
321k
{
525
321k
  txSlot* property = instance->next;
526
321k
  if (flag & XS_EACH_NAME_FLAG) {
527
321k
    txIndex length = mxStringInstanceLength(instance), index;
528
34.0M
    for (index = 0; index < length; index++)
529
33.7M
      keys = fxQueueKey(the, 0, index, keys);
530
321k
  }
531
321k
  property = property->next;
532
321k
  if (property && (property->kind == XS_ARRAY_KIND)) {
533
8.35k
    keys = fxQueueIndexKeys(the, property, flag, keys);
534
8.35k
    property = property->next;
535
8.35k
  }
536
321k
  if (flag & XS_EACH_NAME_FLAG)
537
321k
    keys = fxQueueKey(the, mxID(_length), 0, keys);
538
321k
  fxQueueIDKeys(the, property, flag, keys);
539
321k
}
540
541
txSlot* fxStringSetProperty(txMachine* the, txSlot* instance, txID id, txIndex index, txFlag flag)
542
2.39M
{
543
2.39M
  if ((id == mxID(_length)) || (!id && (mxStringInstanceLength(instance) > index)))
544
72.6k
    return C_NULL;
545
2.31M
  return fxOrdinarySetProperty(the, instance, id, index, flag);
546
2.39M
}
547
548
void fx_String(txMachine* the)
549
470k
{
550
470k
  txSlot* slot;
551
470k
  txSlot* instance;
552
470k
  if (mxArgc > 0) {
553
466k
    slot = mxArgv(0);
554
466k
    if ((mxTarget->kind == XS_UNDEFINED_KIND) && (slot->kind == XS_SYMBOL_KIND)) {
555
30
      fxSymbolToString(the, slot);
556
30
      *mxResult = *slot;
557
30
      return;
558
30
    }
559
466k
    fxToString(the, slot);
560
466k
  }
561
3.76k
  else {
562
3.76k
    slot = &mxEmptyString;
563
3.76k
  }
564
470k
  if (mxTarget->kind == XS_UNDEFINED_KIND) {
565
365k
    *mxResult = *slot;
566
365k
    return;
567
365k
  }
568
104k
  mxPushSlot(mxTarget);
569
104k
  fxGetPrototypeFromConstructor(the, &mxStringPrototype);
570
104k
  instance = fxNewStringInstance(the);
571
104k
  instance->next->kind = slot->kind; // @@
572
104k
  instance->next->value.key.string = slot->value.string;
573
104k
  mxPullSlot(mxResult);
574
104k
}
575
576
#ifndef mxCESU8
577
void fx_String_fromArrayBuffer(txMachine* the)
578
{
579
  txSlot* slot;
580
  txSlot* arrayBuffer = C_NULL, *sharedArrayBuffer = C_NULL;
581
  txSlot* bufferInfo;
582
  txInteger limit, offset;
583
  txInteger inLength, outLength = 0, nulls = 0;
584
  unsigned char *in;
585
  txString string;
586
  if (mxArgc < 1)
587
    mxTypeError("no argument");
588
  slot = mxArgv(0);
589
  if (slot->kind == XS_REFERENCE_KIND) {
590
    slot = slot->value.reference->next;
591
    if (slot) {
592
      bufferInfo = slot->next;
593
      if (slot->kind == XS_ARRAY_BUFFER_KIND)
594
        arrayBuffer = slot;
595
      else if (slot->kind == XS_HOST_KIND) {
596
        if (!(slot->flag & XS_HOST_CHUNK_FLAG) && bufferInfo && (bufferInfo->kind == XS_BUFFER_INFO_KIND))
597
          sharedArrayBuffer = slot;
598
      }
599
    }
600
  }
601
  if (!arrayBuffer && !sharedArrayBuffer)
602
    mxTypeError("argument: not an ArrayBuffer instance");
603
  limit = bufferInfo->value.bufferInfo.length;
604
  offset = fxArgToByteLength(the, 1, 0);
605
  if (limit < offset)
606
    mxRangeError("invalid byteOffset %ld", offset);
607
  inLength = fxArgToByteLength(the, 2, limit - offset);
608
  if ((limit < (offset + inLength)) || ((offset + inLength) < offset))
609
    mxRangeError("invalid byteLength %ld", inLength);
610
611
  in = offset + (unsigned char *)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
612
  while (inLength > 0) {
613
    unsigned char first = c_read8(in++), clen;
614
    if (first < 0x80){
615
      if (0 == first)
616
        nulls += 1;
617
      inLength -= 1;
618
      outLength += 1;
619
      continue;
620
    }
621
622
    if (0xC0 == (first & 0xE0))
623
      clen = 2;
624
    else if (0xE0 == (first & 0xF0))
625
      clen = 3;
626
    else if (0xF0 == (first & 0xF0))
627
      clen = 4;
628
    else
629
      goto badUTF8;
630
631
    inLength -= clen;
632
    if (inLength < 0)
633
      goto badUTF8;
634
635
    outLength += clen;
636
    clen -= 1;
637
    do {
638
      if (0x80 != (0xc0 & c_read8(in++)))
639
        goto badUTF8;
640
    } while (--clen > 0);
641
  }
642
643
  string = fxNewChunk(the, outLength + nulls + 1);
644
  if (!nulls)
645
    c_memcpy(string, offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data), outLength);
646
  else {
647
    txString c = string, end = c + outLength + nulls;
648
    txString buf = offset + (txString)(arrayBuffer ? arrayBuffer->value.arrayBuffer.address : sharedArrayBuffer->value.host.data);
649
    while (c < end) {
650
      txByte b = c_read8(buf++);
651
      if (b)
652
        *c++ = b;
653
      else {
654
        *c++ = 0xC0;
655
        *c++ = 0x80;
656
      }
657
    }
658
  }
659
  string[outLength + nulls] = 0;
660
  mxResult->value.string = string;
661
  mxResult->kind = XS_STRING_KIND;
662
663
  return;
664
665
badUTF8:
666
  mxTypeError("invalid UTF-8");
667
}
668
#endif
669
670
void fx_String_fromCharCode(txMachine* the)
671
471k
{
672
471k
  txInteger length = 0;
673
471k
  txInteger count = mxArgc;
674
471k
  txInteger index = 0;
675
471k
  txInteger c; 
676
471k
  txString p;
677
1.06M
  while (index < count) {
678
597k
    txSlot *slot = mxArgv(index);
679
597k
    if (XS_INTEGER_KIND != slot->kind) {
680
12.8k
      txNumber number = fxToNumber(the, slot);
681
12.8k
      switch (c_fpclassify(number)) {
682
14
      case C_FP_INFINITE:
683
6.17k
      case C_FP_NAN:
684
6.51k
      case C_FP_ZERO:
685
6.51k
        slot->value.integer = 0;
686
6.51k
        break;
687
6.36k
      default:
688
6.36k
        #define MODULO 65536.0
689
6.36k
        number = c_fmod(c_trunc(number), MODULO);
690
6.36k
        if (number < 0)
691
1
          number += MODULO;
692
6.36k
        slot->value.integer = (txInteger)number;
693
6.36k
        break;
694
12.8k
      }
695
12.8k
      slot->kind = XS_INTEGER_KIND;
696
12.8k
    }
697
584k
    else {
698
584k
      txInteger integer = slot->value.integer % 65536;
699
584k
      if (integer < 0)
700
10
        integer += 65536;
701
584k
      slot->value.integer = integer;
702
584k
    }
703
597k
    index++;
704
597k
  }
705
471k
  index = 0;
706
1.06M
  while (index < count) {
707
597k
    c = mxArgv(index)->value.integer;
708
597k
    index++;
709
597k
    if (index < count) {
710
126k
      txInteger d = mxArgv(index)->value.integer;
711
126k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
712
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
713
0
        index++;
714
0
      }
715
126k
    }  
716
597k
    length += mxStringByteLength(c);
717
597k
  }    
718
471k
  mxMeterSome(count);
719
471k
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
720
471k
  mxResult->kind = XS_STRING_KIND;
721
471k
  p = mxResult->value.string;
722
471k
  index = 0;
723
1.06M
  while (index < count) {
724
597k
    c = mxArgv(index)->value.integer;
725
597k
    index++;
726
597k
    if (index < count) {
727
126k
      txInteger d = mxArgv(index)->value.integer;
728
126k
      if ((0x0000D800 <= c) && (c <= 0x0000DBFF) && (0x0000DC00 <= d) && (d <= 0x0000DFFF)) {
729
0
        c = 0x00010000 + ((c & 0x000003FF) << 10) + (d & 0x000003FF);
730
0
        index++;
731
0
      }
732
126k
    }  
733
597k
    p = mxStringByteEncode(p, c);
734
597k
  }  
735
471k
  *p = 0;
736
471k
}
737
738
void fx_String_fromCodePoint(txMachine* the)
739
54
{
740
54
  txInteger length = 0;
741
54
  txInteger count = mxArgc;
742
54
  txInteger index = 0;
743
54
  txInteger character; 
744
54
  txString p;
745
99
  while (index < count) {
746
73
    txNumber number = fxToNumber(the, mxArgv(index));
747
73
    txNumber check = c_trunc(number);
748
73
    if (number != check)
749
16
      mxRangeError("invalid code point %lf", number);
750
57
    if ((number < 0) || (0x10FFFF < number))
751
12
      mxRangeError("invalid code point %lf", number);
752
45
    mxArgv(index)->value.integer = (txInteger)number;
753
45
    mxArgv(index)->kind = XS_INTEGER_KIND;
754
45
    index++;
755
45
  }
756
26
  index = 0;
757
60
  while (index < count) {
758
34
    character = mxArgv(index)->value.integer;
759
34
    length += mxStringByteLength(character);
760
34
    index++;
761
34
  }
762
26
  mxMeterSome(count);
763
26
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
764
26
  mxResult->kind = XS_STRING_KIND;
765
26
  p = mxResult->value.string;
766
26
  index = 0;
767
60
  while (index < count) {
768
34
    character = mxArgv(index)->value.integer;
769
34
    p = mxStringByteEncode(p, character);
770
34
    index++;
771
34
  }  
772
26
  *p = 0;
773
26
}
774
775
void fx_String_raw(txMachine* the)
776
29
{
777
29
  txInteger argCount = mxArgc;
778
29
  txSlot* raw;
779
29
  txInteger rawCount;
780
29
  if (argCount > 0)
781
28
    fxToInstance(the, mxArgv(0));
782
1
  else
783
1
    mxTypeError("cannot coerce undefined to object");
784
28
  mxPushSlot(mxArgv(0));
785
28
  mxGetID(mxID(_raw));
786
28
  raw = the->stack;
787
28
  mxPushSlot(raw);
788
28
  mxGetID(mxID(_length));
789
28
  rawCount = fxToInteger(the, the->stack);
790
28
  mxPop();
791
28
  if (rawCount <= 0) {
792
12
    mxResult->value = mxEmptyString.value;
793
12
    mxResult->kind = mxEmptyString.kind;
794
12
  }
795
16
  else {
796
16
    txSlot* list;
797
16
    txInteger index = 0;
798
16
    txSlot* item;
799
16
    txInteger size;
800
16
    list = item = fxNewInstance(the);
801
16
    mxPushSlot(list);
802
37
    for (;;) {
803
37
      mxPushSlot(raw);
804
37
      mxGetIndex(index);
805
37
      fxToString(the, the->stack);
806
37
      item = item->next = fxNewSlot(the);
807
37
      mxPullSlot(item);
808
37
      index++;
809
37
      if (index == rawCount)
810
11
        break;
811
26
      if (index < argCount) {
812
16
        mxPushSlot(mxArgv(index));
813
16
        fxToString(the, the->stack);
814
16
      }
815
10
      else
816
10
        mxPush(mxEmptyString);
817
26
      item = item->next = fxNewSlot(the);
818
26
      mxPullSlot(item);
819
26
    }
820
16
    size = 0;
821
16
    item = list->next;
822
71
    while (item) {
823
55
      item->value.key.sum = mxStringLength(item->value.string);
824
55
      size += item->value.key.sum;
825
55
      item = item->next;
826
55
    }
827
16
    size++;
828
16
    mxResult->value.string = (txString)fxNewChunk(the, size);
829
16
    size = 0;
830
16
    item = list->next;
831
71
    while (item) {
832
55
      c_memcpy(mxResult->value.string + size, item->value.string, item->value.key.sum);
833
55
      size += item->value.key.sum;
834
55
      item = item->next;
835
55
    }
836
16
    mxResult->value.string[size] = 0;
837
16
    mxPop();
838
16
    mxResult->kind = XS_STRING_KIND;
839
16
  }
840
28
  mxPop();
841
28
}
842
843
void fx_String_prototype_at(txMachine* the)
844
8.38k
{
845
8.38k
  txNumber index;
846
847
8.38k
  fxCoerceToString(the, mxThis);
848
8.38k
  index = (mxArgc > 0) ? c_trunc(fxToNumber(the, mxArgv(0))) : C_NAN;
849
8.38k
  if (c_isnan(index) || (index == 0))
850
5.72k
    index = 0;
851
2.66k
  else if (index < 0) {
852
2.49k
    index += fxCacheUnicodeLength(the, mxThis->value.string);
853
2.49k
    if (index < 0)
854
1.87k
      return;
855
2.49k
  }
856
6.51k
  txInteger from = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txSize)index);
857
6.51k
  if (from >= 0) {
858
6.43k
    txInteger to = fxUnicodeToUTF8Offset(mxThis->value.string + from, 1);
859
6.43k
    if (to >= 0) {
860
6.35k
      to += from;
861
6.35k
      mxResult->value.string = fxNewChunk(the, to - from + 1);
862
6.35k
      c_memcpy(mxResult->value.string, mxThis->value.string + from, to - from);
863
6.35k
      mxResult->value.string[to - from] = 0;
864
6.35k
      mxResult->kind = XS_STRING_KIND;
865
6.35k
    }
866
6.43k
  }
867
6.51k
}
868
869
void fx_String_prototype_charAt(txMachine* the)
870
343k
{
871
343k
  txInteger anOffset;
872
343k
  txInteger aLength;
873
  
874
343k
  fxCoerceToString(the, mxThis);
875
343k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
876
240k
    anOffset = fxToInteger(the, mxArgv(0));
877
240k
    if (anOffset < 0) goto fail;
878
240k
  }
879
103k
  else
880
103k
    anOffset = 0;
881
882
343k
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
883
343k
  if (anOffset < 0) goto fail;
884
885
261k
  aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
886
261k
  if (aLength < 0) goto fail;
887
888
191k
  mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
889
191k
  c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
890
191k
  mxResult->value.string[aLength] = 0;
891
191k
  mxResult->kind = XS_STRING_KIND;
892
191k
  return;
893
894
152k
fail:
895
152k
  mxResult->value.string = mxEmptyString.value.string;
896
152k
  mxResult->kind = mxEmptyString.kind;
897
152k
}
898
899
void fx_String_prototype_charCodeAt(txMachine* the)
900
123
{
901
123
  txInteger anOffset;
902
903
123
  fxCoerceToString(the, mxThis);
904
123
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
905
115
    anOffset = fxToInteger(the, mxArgv(0));
906
115
    if (anOffset < 0) goto fail;
907
115
  }
908
8
  else
909
8
    anOffset = 0;
910
911
121
  anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, anOffset);
912
121
  if (anOffset < 0) goto fail;
913
914
116
  if (fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1) < 0)
915
3
    goto fail;
916
917
113
  fxUTF8Decode(mxThis->value.string + anOffset, &mxResult->value.integer);
918
113
  mxResult->kind = XS_INTEGER_KIND;
919
113
  return;
920
921
10
fail:
922
10
  mxResult->value.number = C_NAN;
923
10
  mxResult->kind = XS_NUMBER_KIND;
924
10
}
925
926
void fx_String_prototype_compare(txMachine* the)
927
0
{
928
0
  fxReport(the, "# Use standard String.prototype.localeCompare instead of soon obsolete String.prototype.compare\n");
929
0
  fx_String_prototype_localeCompare(the);
930
0
}
931
932
void fx_String_prototype_codePointAt(txMachine* the)
933
2.76k
{
934
2.76k
  txString string = fxCoerceToString(the, mxThis);
935
2.76k
  txInteger length = fxCacheUnicodeLength(the, string);
936
2.76k
  txNumber at = (mxArgc > 0) ? fxToNumber(the, mxArgv(0)) : 0;
937
2.76k
  if (c_isnan(at))
938
6
    at = 0;
939
2.76k
  if ((0 <= at) && (at < (txNumber)length)) {
940
1.34k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)at);
941
1.34k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
942
1.34k
    if ((offset >= 0) && (length > 0)) {
943
1.34k
      mxStringByteDecode(mxThis->value.string + offset, &mxResult->value.integer);
944
1.34k
      mxResult->kind = XS_INTEGER_KIND;
945
1.34k
    }
946
1.34k
  }
947
2.76k
}
948
949
void fx_String_prototype_concat(txMachine* the)
950
176k
{
951
176k
  txInteger aCount;
952
176k
  txInteger aLength;
953
176k
  txInteger anIndex;
954
  
955
176k
  fxCoerceToString(the, mxThis);
956
176k
  aCount = mxArgc;
957
176k
  aLength = mxStringLength(mxThis->value.string);
958
353k
  for (anIndex = 0; anIndex < aCount; anIndex++)
959
177k
    aLength = fxAddChunkSizes(the, aLength, mxStringLength(fxToString(the, mxArgv(anIndex))));
960
176k
  mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, aLength, 1));
961
176k
  mxResult->kind = XS_STRING_KIND;
962
176k
  c_strcpy(mxResult->value.string, mxThis->value.string);
963
353k
  for (anIndex = 0; anIndex < aCount; anIndex++)
964
177k
    c_strcat(mxResult->value.string, mxArgv(anIndex)->value.string);
965
176k
  mxMeterSome(aCount);
966
176k
}
967
968
void fx_String_prototype_endsWith(txMachine* the)
969
5.16k
{
970
5.16k
  txString string = fxCoerceToString(the, mxThis);
971
5.16k
  txInteger length = fxCacheUnicodeLength(the, string);
972
5.16k
  txString searchString;
973
5.16k
  txInteger searchLength;
974
5.16k
  txInteger offset;
975
5.16k
  mxResult->kind = XS_BOOLEAN_KIND;
976
5.16k
  mxResult->value.boolean = 0;
977
5.16k
  if (mxArgc < 1)
978
1
    return;
979
5.16k
  if (fxIsRegExp(the, mxArgv(0)))
980
1
    mxTypeError("future editions");
981
5.16k
  searchString = fxToString(the, mxArgv(0));
982
5.16k
  offset = fxArgToPosition(the, 1, length, length);
983
5.16k
  string = mxThis->value.string;
984
5.16k
  searchString = mxArgv(0)->value.string;
985
5.16k
  searchLength = mxStringLength(searchString);
986
5.16k
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
987
5.16k
  if (offset < searchLength)
988
1.11k
    return;
989
4.05k
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
990
4.05k
  if (!c_strncmp(string + offset - searchLength, searchString, searchLength))
991
2.99k
    mxResult->value.boolean = 1;
992
4.05k
}
993
994
void fx_String_prototype_includes(txMachine* the)
995
121
{
996
121
  txString string = fxCoerceToString(the, mxThis);
997
121
  txInteger length = fxCacheUnicodeLength(the, string);
998
121
  txString searchString;
999
121
  txInteger searchLength;
1000
121
  txInteger offset;
1001
121
  mxResult->kind = XS_BOOLEAN_KIND;
1002
121
  mxResult->value.boolean = 0;
1003
121
  if (mxArgc < 1)
1004
1
    return;
1005
120
  if (fxIsRegExp(the, mxArgv(0)))
1006
1
    mxTypeError("future editions");
1007
119
  searchString = fxToString(the, mxArgv(0));
1008
119
  offset = fxArgToPosition(the, 1, 0, length);
1009
119
  string = mxThis->value.string;
1010
119
  length = fxCacheUTF8Length(the, string);
1011
119
  searchString = mxArgv(0)->value.string;
1012
119
  searchLength = mxStringLength(searchString);
1013
119
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1014
119
  if (fx_String_prototype_includes_aux(the, string + offset, length - offset, searchString, searchLength))
1015
33
    mxResult->value.boolean = 1;
1016
119
}
1017
1018
txString fx_String_prototype_includes_aux(txMachine* the, txString string, txSize stringLength, txString searchString, txSize searchLength)
1019
593k
{
1020
593k
  if (stringLength >= searchLength) {
1021
498k
    txString result = string;
1022
498k
    txString limit = string + stringLength - searchLength;
1023
170M
    while (result <= limit) {
1024
169M
      txU1 c;
1025
169M
      txU1* p = (txU1*)result;
1026
169M
      txU1* q = (txU1*)searchString;
1027
173M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1028
3.58M
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1029
3.58M
        p++;
1030
3.58M
        q++;
1031
3.58M
      }
1032
169M
      if (c)
1033
169M
        result++;
1034
3.31k
      else
1035
3.31k
        return result;
1036
169M
      mxCheckMetering();
1037
169M
    }
1038
498k
  }
1039
590k
  return C_NULL;
1040
593k
}
1041
1042
void fx_String_prototype_indexOf(txMachine* the)
1043
101k
{
1044
101k
  txString aString;
1045
101k
  txString aSubString;
1046
101k
  txInteger aLength;
1047
101k
  txInteger aSubLength;
1048
101k
  txInteger anOffset;
1049
101k
  txNumber aNumber;
1050
101k
  txInteger aLimit;
1051
  
1052
101k
  aString = fxCoerceToString(the, mxThis);
1053
101k
  if (mxArgc < 1) {
1054
1
    mxResult->value.integer = -1;
1055
1
    mxResult->kind = XS_INTEGER_KIND;
1056
1
    return;
1057
1
  }
1058
101k
  aSubString = fxToString(the, mxArgv(0));
1059
101k
  aString = mxThis->value.string;
1060
101k
  aLength = fxCacheUnicodeLength(the, aString);
1061
101k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1062
101k
  anOffset = 0;
1063
101k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1064
101k
    aNumber = fxToNumber(the, mxArgv(1));
1065
101k
    anOffset = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1066
1067
101k
    aString = mxThis->value.string;
1068
101k
    aSubString = mxArgv(0)->value.string;
1069
101k
  }
1070
101k
  if (anOffset + aSubLength <= aLength) {
1071
40.4k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset);
1072
40.4k
    aLimit = fxCacheUTF8Length(the, aString) - mxStringLength(aSubString);
1073
179k
    while (anOffset <= aLimit) {
1074
179k
      txU1 c;
1075
179k
      txU1* p = (txU1*)aString + anOffset;
1076
179k
      txU1* q = (txU1*)aSubString;
1077
259k
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1078
79.8k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1079
79.8k
        p++;
1080
79.8k
        q++;
1081
79.8k
      }
1082
179k
      if (c)
1083
139k
        anOffset++;
1084
39.8k
      else
1085
39.8k
        break;
1086
139k
      mxCheckMetering();
1087
139k
    }
1088
40.4k
    if (anOffset <= aLimit)
1089
39.8k
      anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1090
585
    else
1091
585
      anOffset = -1;
1092
40.4k
  }
1093
60.9k
  else
1094
60.9k
    anOffset = -1;
1095
101k
  mxResult->value.integer = anOffset;
1096
101k
  mxResult->kind = XS_INTEGER_KIND;
1097
101k
}
1098
1099
static txInteger fx_String_prototype_indexOf_aux(txMachine* the, txString theString, 
1100
    txInteger theLength, txInteger theOffset,
1101
    txString theSubString, txInteger theSubLength, txInteger* theOffsets)
1102
452k
{
1103
452k
  theOffsets[0] = theOffset;
1104
452k
  theOffsets[1] = theOffset + theSubLength;
1105
23.1M
  while (theOffsets[1] <= theLength) {
1106
23.1M
    txU1 c;
1107
23.1M
    txU1* p = (txU1*)theString + theOffsets[0];
1108
23.1M
    txU1* q = (txU1*)theSubString;
1109
23.5M
    while ((c = c_read8(q)) && (c_read8(p) == c)) {
1110
414k
      mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1111
414k
      p++;
1112
414k
      q++;
1113
414k
    }
1114
23.1M
    if (c) {
1115
22.7M
      theOffsets[0]++;
1116
22.7M
      theOffsets[1]++;
1117
22.7M
    }
1118
395k
    else
1119
395k
      return 1;
1120
23.1M
  }
1121
57.2k
  return 0;
1122
452k
}
1123
1124
void fx_String_prototype_isWellFormed(txMachine* the)
1125
34
{
1126
34
  txString p = fxCoerceToString(the, mxThis);
1127
34
  mxResult->kind = XS_BOOLEAN_KIND;
1128
34
  mxResult->value.boolean = 1;
1129
160
  while (c_read8(p)) {
1130
139
    txInteger c;
1131
139
    p = mxStringByteDecode(p, &c);
1132
139
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF)) {
1133
13
      mxResult->value.boolean = 0;
1134
13
      break;
1135
13
    }
1136
139
  }
1137
34
}
1138
1139
void fx_String_prototype_lastIndexOf(txMachine* the)
1140
175k
{
1141
175k
  txString aString;
1142
175k
  txString aSubString;
1143
175k
  txInteger aLength;
1144
175k
  txInteger aSubLength;
1145
175k
  txInteger anOffset;
1146
175k
  txNumber aNumber;
1147
1148
175k
  aString = fxCoerceToString(the, mxThis);
1149
175k
  if (mxArgc < 1) {
1150
12.3k
    mxResult->value.integer = -1;
1151
12.3k
    mxResult->kind = XS_INTEGER_KIND;
1152
12.3k
    return;
1153
12.3k
  }
1154
163k
  aSubString = fxToString(the, mxArgv(0));
1155
163k
  aString = mxThis->value.string;
1156
163k
  aLength = fxCacheUnicodeLength(the, aString);
1157
163k
  aSubLength = fxUnicodeLength(aSubString, C_NULL);
1158
163k
  anOffset = aLength;
1159
163k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1160
35.1k
    aNumber = fxToNumber(the, mxArgv(1));
1161
35.1k
    anOffset = (c_isnan(aNumber)) ? aLength : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1162
35.1k
    anOffset += aSubLength;
1163
35.1k
    if (anOffset > aLength)
1164
707
      anOffset = aLength;
1165
1166
35.1k
    aString = mxThis->value.string;
1167
35.1k
    aSubString = mxArgv(0)->value.string;
1168
35.1k
  }
1169
163k
  if (anOffset - aSubLength >= 0) {
1170
162k
    anOffset = fxCacheUnicodeToUTF8Offset(the, aString, anOffset - aSubLength);
1171
7.98M
    while (anOffset >= 0) {
1172
7.89M
      txU1 c;
1173
7.89M
      txU1* p = (txU1*)aString + anOffset;
1174
7.89M
      txU1* q = (txU1*)aSubString;
1175
8.02M
      while ((c = c_read8(q)) && (c_read8(p) == c)) {
1176
131k
        mxMeterSome(((c & 0xC0) != 0x80) ? 1 : 0);
1177
131k
        p++;
1178
131k
        q++;
1179
131k
      }
1180
7.89M
      if (c)
1181
7.82M
        anOffset--;
1182
69.4k
      else
1183
69.4k
        break;
1184
7.82M
      mxCheckMetering();
1185
7.82M
    }    
1186
162k
    anOffset = fxCacheUTF8ToUnicodeOffset(the, aString, anOffset);
1187
162k
  }
1188
712
  else
1189
712
    anOffset = -1;
1190
163k
  mxResult->value.integer = anOffset;
1191
163k
  mxResult->kind = XS_INTEGER_KIND;
1192
163k
}
1193
1194
void fx_String_prototype_localeCompare(txMachine* the)
1195
121k
{
1196
121k
  txString aString;
1197
121k
  txString bString;
1198
1199
121k
  if (mxArgc < 1) {
1200
60.6k
    aString = fxCoerceToString(the, mxThis);
1201
60.6k
    bString = "undefined";
1202
60.6k
  }
1203
60.6k
  else {
1204
60.6k
    fxToString(the, mxArgv(0));
1205
60.6k
    aString = fxCoerceToString(the, mxThis);
1206
60.6k
    bString = mxArgv(0)->value.string;
1207
60.6k
  }
1208
121k
#ifdef mxMetering
1209
121k
  {
1210
121k
    txSize aLength = fxUnicodeLength(aString, C_NULL);
1211
121k
    txSize bLength = fxUnicodeLength(bString, C_NULL);
1212
121k
    if (aLength < bLength) {
1213
121k
      the->meterIndex += aLength * XS_STRING_METERING;
1214
121k
    }
1215
50
    else {
1216
50
      the->meterIndex += bLength * XS_STRING_METERING;
1217
50
    }
1218
121k
  }
1219
121k
#endif  
1220
121k
  mxResult->value.integer = fxUTF8Compare(aString, bString);
1221
121k
  mxResult->kind = XS_INTEGER_KIND;
1222
121k
}
1223
1224
void fx_String_prototype_match(txMachine* the)
1225
167k
{ 
1226
167k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_match), 0, 1))
1227
51.5k
    return;
1228
116k
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_match), 0, 1);
1229
116k
}
1230
1231
void fx_String_prototype_matchAll(txMachine* the)
1232
944
{ 
1233
944
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_matchAll), 1, 1))
1234
901
    return;
1235
43
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_matchAll), 1, 1);
1236
43
}
1237
1238
void fx_String_prototype_normalize(txMachine* the)
1239
1.59M
{
1240
1.59M
  txFlag form;
1241
1.59M
  fxCoerceToString(the, mxThis);
1242
1.59M
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND))
1243
1.23M
    form = 2;
1244
355k
  else {
1245
355k
    txString string = fxToString(the, mxArgv(0));
1246
355k
    if (!c_strcmp(string, "NFC"))
1247
150k
      form = 2;
1248
205k
    else if (!c_strcmp(string, "NFD"))
1249
12
      form = 0;
1250
205k
    else if (!c_strcmp(string, "NFKC"))
1251
174k
      form = 3;
1252
30.6k
    else if (!c_strcmp(string, "NFKD"))
1253
30.6k
      form = 1;
1254
24
    else
1255
24
      mxRangeError("invalid form");
1256
355k
  }
1257
1.59M
  mxMeterSome(fxUnicodeLength(mxThis->value.string, C_NULL));
1258
1.59M
  mxResult->value.string = mxThis->value.string;
1259
1.59M
  mxResult->kind = mxThis->kind;
1260
1.59M
#ifdef mxStringNormalize
1261
1.59M
  fxNormalizeString(the, mxResult, form);
1262
#else 
1263
  {
1264
    txInteger max = 0;
1265
    txString string = mxResult->value.string;
1266
    for (;;) {
1267
      txInteger c;
1268
      string = mxStringByteDecode(string, &c);
1269
      if (c == C_EOF)
1270
        break;
1271
      if (max < c)
1272
        max = c;
1273
    }
1274
    if (max < 128) {
1275
    }
1276
    else if ((max < 256) && (form == 2)) {
1277
    }
1278
    else {
1279
      mxRangeError("not built-in");
1280
    }
1281
  }
1282
#endif
1283
1.59M
}
1284
1285
void fx_String_prototype_pad(txMachine* the, txBoolean flag)
1286
135k
{
1287
135k
  txString string = fxCoerceToString(the, mxThis), filler;
1288
135k
  txInteger stringLength = mxStringLength(string), fillerLength;
1289
135k
  txInteger stringSize = fxUnicodeLength(string, C_NULL), fillerSize;
1290
135k
  txInteger resultSize = (txInteger)fxArgToRange(the, 0, 0, 0, 0x7FFFFFFF);
1291
135k
  *mxResult = *mxThis;
1292
135k
  if (resultSize > stringSize) {
1293
67
    if ((mxArgc <= 1) || (mxIsUndefined(mxArgv(1))))
1294
14
      mxPushStringX(" ");
1295
53
    else
1296
53
      mxPushSlot(mxArgv(1));
1297
67
    filler = fxToString(the, the->stack);
1298
67
    fillerSize = fxUnicodeLength(filler, &fillerLength);
1299
67
    if (fillerSize > 0) {
1300
64
      txInteger delta = resultSize - stringSize;
1301
64
      txInteger count = delta / fillerSize;
1302
64
      txInteger rest = fxUnicodeToUTF8Offset(filler, delta % fillerSize);
1303
64
      txString result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxAddChunkSizes(the, stringLength, fxMultiplyChunkSizes(the, fillerLength, count)), rest + 1));
1304
64
      mxResult->kind = XS_STRING_KIND;
1305
64
      string = fxToString(the, mxThis);
1306
64
      filler = fxToString(the, the->stack);
1307
64
      if (flag) {
1308
45
        c_memcpy(result, string, stringLength);
1309
45
        result += stringLength;
1310
45
      }
1311
64
      mxMeterSome(count);
1312
48.3k
      while (count) {
1313
48.3k
        c_memcpy(result, filler, fillerLength);
1314
48.3k
        count--;
1315
48.3k
        result += fillerLength;
1316
48.3k
      }
1317
64
      if (rest) {
1318
36
        mxMeterSome(1);
1319
36
        c_memcpy(result, filler, rest);
1320
36
        result += rest;
1321
36
      }
1322
64
      if (!flag) {
1323
18
        c_memcpy(result, string, stringLength);
1324
18
        result += stringLength;
1325
18
      }
1326
64
      *result = 0;
1327
64
    }
1328
67
    mxPop();
1329
67
  }
1330
135k
}
1331
1332
void fx_String_prototype_padEnd(txMachine* the)
1333
135k
{
1334
135k
  fx_String_prototype_pad(the, 1);
1335
135k
}
1336
1337
void fx_String_prototype_padStart(txMachine* the)
1338
148
{
1339
148
  fx_String_prototype_pad(the, 0);
1340
148
}
1341
1342
void fx_String_prototype_repeat(txMachine* the)
1343
19.1k
{
1344
19.1k
  txString string = fxCoerceToString(the, mxThis), result;
1345
19.1k
  txInteger length = mxStringLength(string);
1346
19.1k
  txInteger count = 0;
1347
19.1k
  txSlot *arg = mxArgv(0);
1348
19.1k
  if ((mxArgc > 0) && (arg->kind != XS_UNDEFINED_KIND)) {
1349
5.30k
    if (XS_INTEGER_KIND == arg->kind) {
1350
194
      count = arg->value.integer;
1351
194
      if (count < 0)
1352
2
        mxRangeError("count < 0");
1353
194
    }
1354
5.11k
    else {
1355
5.11k
      txNumber value = c_trunc(fxToNumber(the, arg));
1356
5.11k
      if (c_isnan(value))
1357
2.64k
        count = 0;
1358
2.46k
      else {
1359
2.46k
        if (value < 0)
1360
1.82k
          mxRangeError("count < 0");
1361
643
        if (0x7FFFFFFF < value)
1362
1
          mxRangeError("count too big");
1363
642
        count = (txInteger)value;
1364
642
      }
1365
5.11k
    }
1366
5.30k
  }
1367
17.2k
  mxMeterSome(count);
1368
17.2k
  result = mxResult->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, fxMultiplyChunkSizes(the, length, count), 1));
1369
17.2k
  mxResult->kind = XS_STRING_KIND;
1370
17.2k
  string = fxToString(the, mxThis);
1371
17.2k
  if (length) {
1372
54.7M
    while (count) {
1373
54.7M
      c_memcpy(result, string, length);
1374
54.7M
      count--;
1375
54.7M
      result += length;
1376
54.7M
    }
1377
16.6k
  }
1378
17.2k
  *result = 0;
1379
17.2k
}
1380
1381
void fx_String_prototype_replace(txMachine* the)
1382
325k
{
1383
325k
  txString string;
1384
325k
  txSlot* match;
1385
325k
  txSize size;
1386
325k
  txSize matchLength;
1387
325k
  txSlot* function;
1388
325k
  txSlot* replace;
1389
1390
325k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 0, 2))
1391
132k
    return;
1392
193k
  fxToString(the, mxThis);
1393
193k
  if (mxArgc <= 0)
1394
193k
    mxPushUndefined();
1395
339
  else
1396
339
    mxPushSlot(mxArgv(0));
1397
193k
  match = the->stack;
1398
193k
  fxToString(the, match);
1399
193k
  if (mxArgc <= 1)
1400
193k
    mxPushUndefined();
1401
165
  else
1402
165
    mxPushSlot(mxArgv(1));
1403
193k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1404
3
    function = the->stack;
1405
3
    replace = C_NULL;
1406
3
  }
1407
193k
  else {   
1408
193k
    replace = the->stack;
1409
193k
    fxToString(the, replace);
1410
193k
    function = C_NULL;
1411
193k
  }
1412
193k
  size = mxStringLength(mxThis->value.string);
1413
193k
  matchLength = mxStringLength(match->value.string);
1414
193k
  string = fx_String_prototype_includes_aux(the, mxThis->value.string, size, match->value.string, matchLength);
1415
193k
  if (string) {
1416
156
    txSize offset = mxPtrDiff(string - mxThis->value.string);
1417
156
    txSize replaceLength;
1418
156
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1419
156
    replaceLength = mxStringLength(the->stack->value.string);
1420
156
    mxResult->value.string = (txString)fxNewChunk(the, size - matchLength + replaceLength + 1);
1421
156
    c_memcpy(mxResult->value.string, mxThis->value.string, offset);
1422
156
    c_memcpy(mxResult->value.string + offset, the->stack->value.string, replaceLength);
1423
156
    c_memcpy(mxResult->value.string + offset + replaceLength, mxThis->value.string + offset + matchLength, size - (offset + matchLength));
1424
156
    mxResult->value.string[size - matchLength + replaceLength] = 0;
1425
156
    mxResult->kind = XS_STRING_KIND;
1426
156
    mxPop();
1427
156
  }
1428
193k
  else
1429
193k
    *mxResult = *mxThis;
1430
193k
  mxPop();
1431
193k
  mxPop();
1432
193k
}
1433
1434
void fx_String_prototype_replaceAll(txMachine* the)
1435
444k
{
1436
444k
  txSlot* match;
1437
444k
  txSlot* function;
1438
444k
  txSlot* replace;
1439
444k
  txInteger size;
1440
444k
  txInteger matchLength;
1441
444k
  txInteger resultSize = 0;
1442
444k
  txSlot* list;
1443
444k
  txSlot* item;
1444
444k
  txInteger offset = 0;
1445
444k
  txBoolean flag = 0;
1446
1447
444k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_replace), 1, 2))
1448
163
    return;
1449
444k
  fxToString(the, mxThis);
1450
444k
  if (mxArgc <= 0)
1451
3
    mxPushUndefined();
1452
444k
  else
1453
444k
    mxPushSlot(mxArgv(0));
1454
444k
  match = the->stack;
1455
444k
  fxToString(the, match);
1456
444k
  if (mxArgc <= 1)
1457
396k
    mxPushUndefined();
1458
47.9k
  else
1459
47.9k
    mxPushSlot(mxArgv(1));
1460
444k
  if (mxIsReference(the->stack) && mxIsFunction(the->stack->value.reference)) {
1461
47.8k
    function = the->stack;
1462
47.8k
    replace = C_NULL;
1463
47.8k
  }
1464
396k
  else {   
1465
396k
    replace = the->stack;
1466
396k
    fxToString(the, replace);
1467
396k
    function = C_NULL;
1468
396k
  }
1469
444k
  size = mxStringLength(mxThis->value.string);
1470
444k
  matchLength = mxStringLength(match->value.string);
1471
  
1472
444k
  list = item = fxNewInstance(the);
1473
444k
  mxPushSlot(list);
1474
  
1475
444k
  if (!matchLength) {
1476
47.8k
    fx_String_prototype_replaceAux(the, size, offset, function, match, matchLength, replace);
1477
47.8k
    item = item->next = fxNewSlot(the);
1478
47.8k
    mxPullSlot(item);
1479
47.8k
    item->value.key.sum = mxStringLength(item->value.string);
1480
47.8k
    resultSize += item->value.key.sum;
1481
47.8k
    flag = 1;
1482
47.8k
  }
1483
1.17M
  while (offset < size) {
1484
735k
    txInteger current;
1485
735k
    if (!matchLength) {
1486
335k
      current = offset + fxUnicodeToUTF8Offset(mxThis->value.string + offset, 1);
1487
335k
    }
1488
400k
    else {
1489
400k
      txString string = fx_String_prototype_includes_aux(the, mxThis->value.string + offset, size - offset, match->value.string, matchLength);
1490
400k
            if (string)
1491
3.13k
        current = mxPtrDiff(string - mxThis->value.string);
1492
396k
      else
1493
396k
        current = size;
1494
400k
    }
1495
735k
    if (offset < current) {
1496
732k
      txInteger length = current - offset;
1497
732k
      item = item->next = fxNewSlot(the);
1498
732k
      item->value.dataView.offset = offset;
1499
732k
      item->value.dataView.size = length;
1500
732k
      item->kind = XS_DATA_VIEW_KIND;
1501
732k
      resultSize += length;
1502
732k
    }
1503
735k
    if ((!matchLength) || (current < size)) {
1504
338k
      fx_String_prototype_replaceAux(the, size, current, function, match, matchLength, replace);
1505
338k
      item = item->next = fxNewSlot(the);
1506
338k
            mxPullSlot(item);
1507
338k
      item->value.key.sum = mxStringLength(item->value.string);
1508
338k
      resultSize += item->value.key.sum;
1509
338k
      flag = 1;
1510
338k
    }
1511
735k
    offset = current + matchLength;
1512
735k
  }    
1513
444k
  if (flag) {
1514
47.9k
    resultSize++;
1515
47.9k
    mxResult->value.string = (txString)fxNewChunk(the, resultSize);
1516
47.9k
    offset = 0;
1517
47.9k
    item = list->next;
1518
769k
    while (item) {
1519
721k
      if (item->kind == XS_DATA_VIEW_KIND) {
1520
335k
        c_memcpy(mxResult->value.string + offset, mxThis->value.string + item->value.dataView.offset, item->value.dataView.size);
1521
335k
        offset += item->value.dataView.size;
1522
335k
      }
1523
386k
      else {
1524
386k
        c_memcpy(mxResult->value.string + offset, item->value.string, item->value.key.sum);
1525
386k
        offset += item->value.key.sum;
1526
386k
      }
1527
721k
      item = item->next;
1528
721k
    }
1529
47.9k
    mxResult->value.string[offset] = 0;
1530
47.9k
    mxResult->kind = XS_STRING_KIND;
1531
47.9k
  }
1532
396k
  else {
1533
396k
    mxResult->value = mxThis->value;
1534
396k
    mxResult->kind = mxThis->kind;
1535
396k
  }
1536
  
1537
444k
  mxPop();
1538
  
1539
444k
  mxPop();
1540
444k
  mxPop();
1541
444k
}
1542
1543
void fx_String_prototype_replaceAux(txMachine* the, txInteger size, txInteger offset, txSlot* function, txSlot* match, txInteger matchLength, txSlot* replace)
1544
386k
{
1545
386k
  if (function) {
1546
384k
    mxPushUndefined();
1547
384k
    mxPushSlot(function);
1548
384k
    mxCall();
1549
384k
    mxPushSlot(match);
1550
384k
    mxPushInteger(fxUTF8ToUnicodeOffset(mxThis->value.string, offset));
1551
384k
    mxPushSlot(mxThis);
1552
384k
    mxRunCount(3);
1553
384k
    fxToString(the, the->stack);
1554
384k
  }
1555
1.88k
  else
1556
1.88k
    fxPushSubstitutionString(the, mxThis, size, offset, match, matchLength, 0, C_NULL, C_NULL, replace);
1557
386k
}
1558
1559
void fx_String_prototype_search(txMachine* the)
1560
392
{
1561
392
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_search), 0, 1))
1562
6
    return;
1563
386
  fx_String_prototype_withoutRegexp(the, mxID(_Symbol_search), 0, 1);
1564
386
}
1565
1566
void fx_String_prototype_slice(txMachine* the)
1567
10.4k
{
1568
10.4k
  txString string = fxCoerceToString(the, mxThis);
1569
10.4k
  txInteger length = fxCacheUnicodeLength(the, string);
1570
10.4k
  txNumber start = fxArgToIndex(the, 0, 0, length);
1571
10.4k
  txNumber end = fxArgToIndex(the, 1, length, length);
1572
10.4k
  if (start < end) {
1573
9.24k
    txInteger offset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, (txInteger)start);
1574
9.24k
    length = fxUnicodeToUTF8Offset(mxThis->value.string + offset, (txInteger)(end - start));
1575
9.24k
    if ((offset >= 0) && (length > 0)) {
1576
9.24k
      mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1577
9.24k
      c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1578
9.24k
      mxResult->value.string[length] = 0;
1579
9.24k
      mxResult->kind = XS_STRING_KIND;
1580
9.24k
      return;
1581
9.24k
    }
1582
9.24k
  }
1583
1.16k
  mxResult->value.string = mxEmptyString.value.string;
1584
1.16k
  mxResult->kind = mxEmptyString.kind;
1585
1.16k
}
1586
1587
void fx_String_prototype_split(txMachine* the)
1588
515k
{
1589
515k
  txString aString;
1590
515k
  txInteger aLength;
1591
515k
  txIndex aLimit;
1592
515k
  txSlot* anArray;
1593
515k
  txSlot* anItem;
1594
515k
  txInteger anOffset;
1595
515k
  txInteger aCount;
1596
515k
  txString aSubString;
1597
515k
  txInteger aSubLength;
1598
515k
  txInteger aSubOffset;
1599
515k
  txInteger subOffsets[2];
1600
1601
515k
  if (fx_String_prototype_withRegexp(the, mxID(_Symbol_split), 0, 2))
1602
98.8k
    return;
1603
416k
  aString = fxToString(the, mxThis);
1604
416k
  aLength = mxStringLength(aString);
1605
416k
  aLimit = ((mxArgc > 1) && (!mxIsUndefined(mxArgv(1)))) ? (txIndex)fxToUnsigned(the, mxArgv(1)) : 0xFFFFFFFF;
1606
416k
  mxPush(mxArrayPrototype);
1607
416k
  anArray = fxNewArrayInstance(the);
1608
416k
  mxPullSlot(mxResult);
1609
416k
  fxGetInstance(the, mxResult);
1610
416k
  anItem = fxLastProperty(the, anArray);
1611
416k
  if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND)) {
1612
1.31k
    if (!aLimit)
1613
60
      goto bail;
1614
1.25k
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, aLength);
1615
1.25k
    goto bail;
1616
1.31k
  }
1617
414k
  aSubString = fxToString(the, mxArgv(0));
1618
414k
  aSubLength = mxStringLength(aSubString);
1619
414k
  if (!aLimit)
1620
1.52k
    goto bail;
1621
413k
  if (aSubLength == 0) {
1622
352k
    anOffset = 0;
1623
22.4M
    while (anOffset < aLength) {
1624
22.1M
      aSubOffset = anOffset + fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, 1);
1625
22.1M
      anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aSubOffset);
1626
22.1M
      if (anArray->next->value.array.length >= aLimit)
1627
0
        goto bail;
1628
22.1M
      anOffset = aSubOffset;
1629
22.1M
    }
1630
352k
  }
1631
60.4k
  else if (aLength == 0) {
1632
344
    fx_String_prototype_split_aux(the, mxThis, anArray, anItem, 0, 0);
1633
344
  }
1634
60.0k
  else {
1635
60.0k
    anOffset = 0;
1636
452k
    for (;;) {
1637
452k
      aCount = fx_String_prototype_indexOf_aux(the, mxThis->value.string, aLength, anOffset, mxArgv(0)->value.string, aSubLength, subOffsets);
1638
452k
      if (aCount <= 0)
1639
57.2k
        break;
1640
395k
      if (anOffset <= subOffsets[0]) {
1641
395k
        anItem = fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, subOffsets[0]);
1642
395k
        if (anArray->next->value.array.length >= aLimit)
1643
2.30k
          goto bail;
1644
395k
      }
1645
392k
      anOffset = subOffsets[1];
1646
392k
    }
1647
57.7k
    if (anOffset <= aLength)
1648
57.2k
      fx_String_prototype_split_aux(the, mxThis, anArray, anItem, anOffset, aLength);
1649
57.7k
  }
1650
415k
bail:
1651
415k
  fxCacheArray(the, anArray);
1652
415k
}
1653
1654
txSlot* fx_String_prototype_split_aux(txMachine* the, txSlot* theString, txSlot* theArray, txSlot* theItem, txInteger theStart, txInteger theStop)
1655
22.5M
{
1656
22.5M
  theStop -= theStart;
1657
22.5M
  theItem->next = fxNewSlot(the);
1658
22.5M
  theItem = theItem->next;
1659
22.5M
  theItem->next = C_NULL;
1660
22.5M
  if (theStart >= 0) {
1661
22.5M
    theItem->value.string = (txString)fxNewChunk(the, theStop + 1);
1662
22.5M
    c_memcpy(theItem->value.string, theString->value.string + theStart, theStop);
1663
22.5M
    theItem->value.string[theStop] = 0;
1664
22.5M
    theItem->kind = XS_STRING_KIND;
1665
22.5M
  }
1666
22.5M
  theArray->next->value.array.length++;
1667
22.5M
  return theItem;
1668
22.5M
}
1669
1670
void fx_String_prototype_startsWith(txMachine* the)
1671
123
{
1672
123
  txString string = fxCoerceToString(the, mxThis);
1673
123
  txInteger length = fxCacheUnicodeLength(the, string);
1674
123
  txString searchString;
1675
123
  txInteger searchLength;
1676
123
  txInteger offset;
1677
123
  mxResult->kind = XS_BOOLEAN_KIND;
1678
123
  mxResult->value.boolean = 0;
1679
123
  if (mxArgc < 1)
1680
1
    return;
1681
122
  if (fxIsRegExp(the, mxArgv(0)))
1682
1
    mxTypeError("future editions");
1683
121
  searchString = fxToString(the, mxArgv(0));
1684
121
  offset = fxArgToPosition(the, 1, 0, length);
1685
121
  string = mxThis->value.string;
1686
121
  length = fxCacheUTF8Length(the, string);
1687
121
  searchString = mxArgv(0)->value.string;
1688
121
  searchLength = mxStringLength(searchString);
1689
121
  offset = fxCacheUnicodeToUTF8Offset(the, string, offset);
1690
121
  if (length - offset < searchLength)
1691
25
    return;
1692
96
  mxMeterSome(fxUnicodeLength(searchString, C_NULL));
1693
96
  if (!c_strncmp(string + offset, searchString, searchLength))
1694
37
    mxResult->value.boolean = 1;
1695
96
}
1696
1697
void fx_String_prototype_substr(txMachine* the)
1698
1.34M
{
1699
1.34M
  txString string = fxCoerceToString(the, mxThis);
1700
1.34M
  txInteger size = fxCacheUnicodeLength(the, string);
1701
1.34M
  txInteger start = fxArgToIndexInteger(the, 0, 0, size);
1702
1.34M
  txInteger stop = size;
1703
1.34M
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1704
1.08M
    stop = start + fxToInteger(the, mxArgv(1));
1705
1.08M
    if (stop > size)
1706
867k
      stop = size;
1707
1.08M
  }  
1708
1.34M
  if (start < stop) {
1709
4.38k
    txInteger length;
1710
4.38k
    start = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, start);
1711
4.38k
    stop = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, stop);
1712
4.38k
    length = stop - start;
1713
4.38k
    mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1714
4.38k
    c_memcpy(mxResult->value.string, mxThis->value.string + start, length);
1715
4.38k
    mxResult->value.string[length] = 0;
1716
4.38k
    mxResult->kind = XS_STRING_KIND;
1717
4.38k
  }
1718
1.33M
  else {
1719
1.33M
    mxResult->value.string = mxEmptyString.value.string;
1720
1.33M
    mxResult->kind = mxEmptyString.kind;
1721
1.33M
  }
1722
1.34M
}
1723
1724
void fx_String_prototype_substring(txMachine* the)
1725
240k
{
1726
240k
  txString aString;
1727
240k
  txInteger aLength;
1728
240k
  txNumber aNumber;
1729
240k
  txInteger aStart;
1730
240k
  txInteger aStop;
1731
240k
  txInteger anOffset;
1732
1733
240k
  aString = fxCoerceToString(the, mxThis);
1734
240k
  aLength = fxCacheUnicodeLength(the, aString);
1735
240k
  aStart = 0;
1736
240k
  aStop = aLength;
1737
240k
  if ((mxArgc > 0) && (mxArgv(0)->kind != XS_UNDEFINED_KIND)) {
1738
240k
    aNumber = fxToNumber(the, mxArgv(0));
1739
240k
    aStart = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1740
240k
  }
1741
240k
  if ((mxArgc > 1) && (mxArgv(1)->kind != XS_UNDEFINED_KIND)) {
1742
158k
    aNumber = fxToNumber(the, mxArgv(1));
1743
158k
    aStop = (c_isnan(aNumber)) ? 0 : (aNumber < 0) ? 0 : (aNumber > aLength) ? aLength : (txInteger)c_floor(aNumber);
1744
158k
  }
1745
240k
  if (aStart > aStop) {
1746
1
    aLength = aStart;
1747
1
    aStart = aStop;
1748
1
    aStop = aLength;
1749
1
  }
1750
240k
  if (aStart < aStop) {
1751
87.3k
    anOffset = fxCacheUnicodeToUTF8Offset(the, mxThis->value.string, aStart);
1752
87.3k
    aLength = fxUnicodeToUTF8Offset(mxThis->value.string + anOffset, aStop - aStart);
1753
87.3k
    if ((anOffset >= 0) && (aLength > 0)) {
1754
87.3k
      mxResult->value.string = (txString)fxNewChunk(the, aLength + 1);
1755
87.3k
      c_memcpy(mxResult->value.string, mxThis->value.string + anOffset, aLength);
1756
87.3k
      mxResult->value.string[aLength] = 0;
1757
87.3k
      mxResult->kind = XS_STRING_KIND;
1758
87.3k
    }
1759
0
    else {
1760
0
      mxResult->value.string = mxEmptyString.value.string;
1761
0
      mxResult->kind = mxEmptyString.kind;
1762
0
    }
1763
87.3k
  }
1764
152k
  else {
1765
152k
    mxResult->value.string = mxEmptyString.value.string;
1766
152k
    mxResult->kind = mxEmptyString.kind;
1767
152k
  }
1768
240k
}
1769
1770
void fx_String_prototype_toLowerCase(txMachine* the)
1771
304
{
1772
304
  fxCoerceToString(the, mxThis);
1773
304
  fx_String_prototype_toCase(the, 0);
1774
304
}
1775
1776
void fx_String_prototype_toUpperCase(txMachine* the)
1777
356
{
1778
356
  fxCoerceToString(the, mxThis);
1779
356
  fx_String_prototype_toCase(the, 1);
1780
356
}
1781
1782
void fx_String_prototype_toWellFormed(txMachine* the)
1783
87
{
1784
87
  txString string = fxCoerceToString(the, mxThis);
1785
87
  txSize length = mxStringLength(string);
1786
87
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1787
87
  mxResult->kind = XS_STRING_KIND;
1788
87
  txString p = mxThis->value.string;
1789
87
  txString q = mxResult->value.string;
1790
620
  while (c_read8(p)) {
1791
533
    txInteger c;
1792
533
    p = mxStringByteDecode(p, &c);
1793
533
    if ((0x0000D800 <= c) && (c <= 0x0000DFFF))
1794
62
      c = 0x0000FFFD;
1795
533
    q = mxStringByteEncode(q, c);
1796
533
  }
1797
87
  *q = 0;
1798
87
}
1799
1800
void fx_String_prototype_trim(txMachine* the)
1801
31
{
1802
31
  fx_String_prototype_trimAux(the, 1, 1);
1803
31
}
1804
1805
void fx_String_prototype_trimAux(txMachine* the, txBoolean trimStart, txBoolean trimEnd)
1806
55
{
1807
55
  txString string = fxCoerceToString(the, mxThis), start;
1808
55
  txInteger offset, length;
1809
55
  if (trimStart) {
1810
40
    start = fxSkipSpaces(string);
1811
40
    offset = mxPtrDiff(start - string);
1812
40
    mxMeterSome(offset);
1813
40
  }
1814
15
  else {
1815
15
    start = string;
1816
15
    offset = 0;
1817
15
  }
1818
55
  if (trimEnd) {
1819
37
    txString current = start;
1820
37
    txString end = current;
1821
617
    while (c_read8(current)) {
1822
580
      end = current + 1;
1823
580
      current = fxSkipSpaces(end);
1824
580
    }
1825
37
    length = mxPtrDiff(end - start);
1826
37
    mxMeterSome(length);
1827
37
  }
1828
18
  else
1829
18
    length = mxStringLength(start);
1830
55
  mxResult->value.string = (txString)fxNewChunk(the, length + 1);
1831
55
  c_memcpy(mxResult->value.string, mxThis->value.string + offset, length);
1832
55
  mxResult->value.string[length] = 0;
1833
55
  mxResult->kind = XS_STRING_KIND;
1834
55
}
1835
1836
void fx_String_prototype_trimEnd(txMachine* the)
1837
11
{
1838
11
  fx_String_prototype_trimAux(the, 0, 1);
1839
11
}
1840
1841
void fx_String_prototype_trimStart(txMachine* the)
1842
13
{
1843
13
  fx_String_prototype_trimAux(the, 1, 0);
1844
13
}
1845
1846
void fx_String_prototype_valueOf(txMachine* the)
1847
62.9k
{
1848
62.9k
  txSlot* slot = fxCheckString(the, mxThis);
1849
62.9k
  if (!slot) mxTypeError("this: not a string");
1850
62.9k
  mxResult->kind = slot->kind;
1851
62.9k
  mxResult->value = slot->value;
1852
62.9k
}
1853
1854
txBoolean fx_String_prototype_withRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1855
1.45M
{
1856
1.45M
  if (mxIsUndefined(mxThis))
1857
3.34k
    mxTypeError("this: undefined");
1858
1.45M
  if (mxIsNull(mxThis))
1859
1
    mxTypeError("this: null");
1860
1.45M
  if (mxArgc > 0) {
1861
1.25M
    txSlot* regexp = mxArgv(0);
1862
1.25M
    if (!mxIsUndefined(regexp) && !mxIsNull(regexp)) {
1863
1.25M
      if (global && fxIsRegExp(the, regexp)) {
1864
1.08k
        mxPushSlot(regexp);
1865
1.08k
        mxGetID(mxID(_flags));
1866
1.08k
        if (!c_strchr(fxToString(the, the->stack), 'g'))
1867
14
          mxTypeError("regexp has no g flag");
1868
1.07k
        mxPop();
1869
1.07k
      }
1870
1.25M
      mxPushSlot(regexp);
1871
1.25M
      mxPushSlot(regexp);
1872
1.25M
      mxGetID(id);
1873
1.25M
      if (!mxIsUndefined(the->stack) && !mxIsNull(the->stack)) {
1874
284k
        mxCall();
1875
284k
        mxPushSlot(mxThis);
1876
284k
        if (count > 1) {
1877
231k
          if (mxArgc > 1)
1878
133k
            mxPushSlot(mxArgv(1));
1879
98.2k
          else
1880
98.2k
            mxPushUndefined();
1881
231k
        }
1882
284k
        mxRunCount(count);
1883
284k
        mxPullSlot(mxResult);
1884
284k
        return 1;
1885
284k
      }
1886
970k
      mxPop();
1887
970k
      mxPop();
1888
970k
    }
1889
1.25M
  }
1890
1.16M
  return 0;
1891
1.45M
}
1892
1893
void fx_String_prototype_withoutRegexp(txMachine* the, txID id, txBoolean global, txInteger count)
1894
113k
{
1895
113k
  fxToString(the, mxThis);
1896
113k
  mxPush(mxRegExpPrototype);
1897
113k
  fxNewRegExpInstance(the);
1898
113k
  mxPush(mxInitializeRegExpFunction);
1899
113k
  mxCall();
1900
113k
  if (mxArgc > 0)
1901
110k
    mxPushSlot(mxArgv(0));
1902
2.47k
  else
1903
2.47k
    mxPushUndefined();
1904
113k
  if (global)
1905
34
    mxPushStringX("g");
1906
113k
  else
1907
113k
    mxPushUndefined();
1908
113k
  mxRunCount(2);
1909
113k
  mxDub();
1910
113k
  mxGetID(id);
1911
113k
  mxCall();
1912
113k
  mxPushSlot(mxThis);
1913
113k
  if (count > 1) {
1914
0
    if (mxArgc > 1)
1915
0
      mxPushSlot(mxArgv(1));
1916
0
    else
1917
0
      mxPushUndefined();
1918
0
  }
1919
113k
  mxRunCount(count);
1920
113k
  mxPullSlot(mxResult);
1921
113k
}
1922
1923
txSlot* fxCheckString(txMachine* the, txSlot* it)
1924
62.9k
{
1925
62.9k
  txSlot* result = C_NULL;
1926
62.9k
  if ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND))
1927
116
    result = it;
1928
62.8k
  else if (it->kind == XS_REFERENCE_KIND) {
1929
62.8k
    it = it->value.reference->next;
1930
62.8k
    if (it && (it->flag & XS_INTERNAL_FLAG) && ((it->kind == XS_STRING_KIND) || (it->kind == XS_STRING_X_KIND)))
1931
62.8k
      result = it;
1932
62.8k
  }
1933
62.9k
  return result;
1934
62.9k
}
1935
1936
txString fxCoerceToString(txMachine* the, txSlot* theSlot)
1937
5.70M
{
1938
5.70M
  if (theSlot->kind == XS_UNDEFINED_KIND)
1939
103k
    mxTypeError("this: undefined");
1940
5.60M
  if (theSlot->kind == XS_NULL_KIND)
1941
26
    mxTypeError("this: null");
1942
5.60M
  return fxToString(the, theSlot);
1943
5.60M
}
1944
1945
void fx_String_prototype_iterator(txMachine* the)
1946
1.43M
{
1947
1.43M
  txSlot* property;
1948
1.43M
  fxCoerceToString(the, mxThis);
1949
1.43M
  mxPush(mxStringIteratorPrototype);
1950
1.43M
  property = fxLastProperty(the, fxNewIteratorInstance(the, mxThis, mxID(_String)));
1951
1.43M
  property = fxNextIntegerProperty(the, property, (txInteger)c_strlen(mxThis->value.string), XS_NO_ID, XS_INTERNAL_FLAG);
1952
1.43M
  mxPullSlot(mxResult);
1953
1.43M
}
1954
1955
void fx_String_prototype_iterator_next(txMachine* the)
1956
41.5M
{
1957
41.5M
  txSlot* iterator = fxCheckIteratorInstance(the, mxThis, mxID(_String));
1958
41.5M
  txSlot* result = iterator->next;
1959
41.5M
  txSlot* iterable = result->next;
1960
41.5M
  txSlot* index = iterable->next;
1961
41.5M
  txSlot* length = index->next;
1962
41.5M
  txSlot* value = fxCheckIteratorResult(the, result);
1963
41.5M
  txSlot* done = value->next;
1964
41.5M
  if (index->value.integer < length->value.integer) {
1965
40.1M
    txInteger character, size;
1966
40.1M
    txString string = mxStringByteDecode(iterable->value.string + index->value.integer, &character);
1967
40.1M
    index->value.integer = mxPtrDiff(string - iterable->value.string);
1968
40.1M
    size = mxStringByteLength(character);
1969
40.1M
    value->value.string = (txString)fxNewChunk(the, size + 1);
1970
40.1M
    string = mxStringByteEncode(value->value.string, character);
1971
40.1M
    *string = 0;
1972
40.1M
    value->kind = XS_STRING_KIND;
1973
40.1M
  }
1974
1.43M
  else {
1975
1.43M
    value->kind = XS_UNDEFINED_KIND;
1976
1.43M
    done->value.boolean = 1;
1977
1.43M
  }
1978
41.5M
  mxResult->kind = result->kind;
1979
41.5M
  mxResult->value = result->value;
1980
41.5M
}
1981
1982
txInteger fxArgToPosition(txMachine* the, txInteger argi, txInteger index, txInteger length)
1983
5.39k
{
1984
5.39k
  if ((mxArgc > argi) && (mxArgv(argi)->kind != XS_UNDEFINED_KIND)) {
1985
217
    txNumber i = c_trunc(fxToNumber(the, mxArgv(argi)));
1986
217
    if (c_isnan(i))
1987
25
      i = 0;
1988
217
    if (i < 0)
1989
20
      index = 0;
1990
197
    else if (i > (txNumber)length)
1991
22
      index = length;
1992
175
    else
1993
175
      index = (txInteger)i;
1994
217
  }
1995
5.39k
  return index;
1996
5.39k
}
1997
1998
void fxPushSubstitutionString(txMachine* the, txSlot* string, txInteger size, txInteger offset, txSlot* match, txInteger length, txInteger count, txSlot* captures, txSlot* groups, txSlot* replace)
1999
2.84M
{
2000
2.84M
  txString r;
2001
2.84M
  txInteger m;
2002
2.84M
  txInteger l;
2003
2.84M
  txBoolean flag;
2004
2.84M
  txByte c, d;
2005
2.84M
  txInteger i, j;
2006
2.84M
  txSlot* capture;
2007
2.84M
  txString s;
2008
2.84M
  r = replace->value.string;
2009
2.84M
  m = 0;
2010
2.84M
  l = 0;
2011
2.84M
  flag = 0;
2012
313M
  while ((c = c_read8(r++))) {
2013
311M
    if (m <= l)
2014
311M
      m = l;
2015
1
    else
2016
1
      fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2017
311M
    if (c == '$') {
2018
270M
      c = c_read8(r++);
2019
270M
      switch (c) {
2020
74.8k
      case '$':
2021
74.8k
        l++;
2022
74.8k
        flag = 1;
2023
74.8k
        break;
2024
353
      case '&':
2025
353
        l += length;
2026
353
        flag = 1;
2027
353
        break;
2028
290
      case '`':
2029
290
        l += offset;
2030
290
        flag = 1;
2031
290
        break;
2032
7.15k
      case '\'':
2033
7.15k
        l += size - (offset + length);
2034
7.15k
        flag = 1;
2035
7.15k
        break;
2036
75.6k
      case '<':
2037
75.6k
        if (groups && mxIsReference(groups)) {
2038
1.75k
          txString t = r;
2039
26.1k
          while ((d = c_read8(r))) {
2040
25.4k
            if (d == '>')
2041
1.08k
              break;
2042
24.3k
            r++;
2043
24.3k
          }
2044
1.75k
          if (d) {
2045
1.08k
            txInteger n = mxPtrDiff(r - t);
2046
1.08k
            txID name;
2047
1.08k
            if (n > 255)
2048
1
              fxJump(the);
2049
1.08k
            c_memcpy(the->nameBuffer, t, n);
2050
1.08k
            the->nameBuffer[n] = 0;
2051
1.08k
            name = fxFindName(the, the->nameBuffer);
2052
1.08k
            if (name) {
2053
403
              mxPushSlot(groups);
2054
403
              mxGetID(name);
2055
403
              if (!mxIsUndefined(the->stack)) {
2056
110
                fxToString(the, the->stack);
2057
110
                l = fxAddChunkSizes(the, l, mxStringLength(the->stack->value.string));
2058
110
              }
2059
403
              mxPop();
2060
403
            }
2061
1.08k
            r++;
2062
1.08k
            flag = 1;
2063
1.08k
          }
2064
667
          else {
2065
667
            r = t;
2066
667
            l += 2;
2067
667
          }
2068
1.75k
        }
2069
73.8k
        else {
2070
73.8k
          l += 2;
2071
73.8k
        }
2072
75.6k
        break;
2073
270M
      default:
2074
270M
        if (('0' <= c) && (c <= '9')) {
2075
270M
          i = c - '0';
2076
270M
          d = c_read8(r);
2077
270M
          if (('0' <= d) && (d <= '9')) {
2078
15.1k
            j = (i * 10) + d - '0';
2079
15.1k
            if ((0 < j) && (j <= count)) {
2080
377
              i = j;
2081
377
              r++;
2082
377
            }
2083
14.7k
            else
2084
14.7k
              d = 0;
2085
15.1k
          }
2086
270M
          else
2087
270M
            d = 0;
2088
270M
          if ((0 < i) && (i <= count)) {
2089
49.0k
            capture = (captures + count - i);
2090
49.0k
            if (capture->kind != XS_UNDEFINED_KIND)
2091
48.6k
              l = fxAddChunkSizes(the, l, mxStringLength(capture->value.string));
2092
49.0k
            flag = 1;
2093
49.0k
          }
2094
270M
          else {
2095
270M
            l++;
2096
270M
            l++;
2097
270M
            if (d)
2098
0
              l++;
2099
270M
          }
2100
270M
        }
2101
3.18k
        else {
2102
3.18k
          l++;
2103
3.18k
          if (c)
2104
2.49k
            l++;
2105
3.18k
        }
2106
270M
        break;
2107
270M
      }
2108
270M
      if (!c)
2109
696
        break;
2110
270M
    }
2111
40.3M
    else
2112
40.3M
      l++;
2113
311M
  }
2114
2.84M
  if (m > l)
2115
1
    fxAbort(the, XS_NOT_ENOUGH_MEMORY_EXIT);
2116
2.84M
  if (flag) {
2117
76.7k
    mxPushUndefined();
2118
76.7k
    the->stack->value.string = (txString)fxNewChunk(the, fxAddChunkSizes(the, l, 1));
2119
76.7k
    the->stack->kind = XS_STRING_KIND;
2120
76.7k
    r = replace->value.string;
2121
76.7k
    s = the->stack->value.string;
2122
2.95M
    while ((c = c_read8(r++))) {
2123
2.88M
      if (c == '$') {
2124
177k
        c = c_read8(r++);
2125
177k
        switch (c) {
2126
74.8k
        case '$':
2127
74.8k
          *s++ = c;
2128
74.8k
          break;
2129
353
        case '&':
2130
353
          l = length;
2131
353
          c_memcpy(s, match->value.string, l);
2132
353
          s += l;
2133
353
          break;
2134
290
        case '`':
2135
290
          l = offset;
2136
290
          c_memcpy(s, string->value.string, l);
2137
290
          s += l;
2138
290
          break;
2139
5.16k
        case '\'':
2140
5.16k
          l = size - (offset + length);
2141
5.16k
                    if (l > 0) {
2142
5.15k
                        c_memcpy(s, string->value.string + offset + length, l);
2143
5.15k
                        s += l;
2144
5.15k
                    }
2145
5.16k
          break;
2146
75.5k
        case '<':
2147
75.5k
          if (groups && mxIsReference(groups)) {
2148
1.73k
            txString t = r;
2149
25.7k
            while ((d = c_read8(r))) {
2150
25.0k
              if (d == '>')
2151
1.08k
                break;
2152
23.9k
              r++;
2153
23.9k
            }
2154
1.73k
            if (d) {
2155
1.08k
              txInteger n = mxPtrDiff(r - t);
2156
1.08k
              txID name;
2157
1.08k
              if (n > 255)
2158
0
                fxJump(the);
2159
1.08k
              c_memcpy(the->nameBuffer, t, n);
2160
1.08k
              the->nameBuffer[n] = 0;
2161
1.08k
              name = fxFindName(the, the->nameBuffer);
2162
1.08k
              if (name) {
2163
403
                mxPushSlot(groups);
2164
403
                mxGetID(name);
2165
403
                if (!mxIsUndefined(the->stack)) {
2166
110
                  fxToString(the, the->stack);
2167
110
                  l = mxStringLength(the->stack->value.string);
2168
110
                  c_memcpy(s, the->stack->value.string, l);
2169
110
                  s += l;
2170
110
                }
2171
403
                mxPop();
2172
403
              }
2173
1.08k
              r++;
2174
1.08k
            }
2175
649
            else {
2176
649
              r = t;
2177
649
              *s++ = '$';
2178
649
              *s++ = '<';
2179
649
            }
2180
1.73k
          }
2181
73.7k
          else {
2182
73.7k
            *s++ = '$';
2183
73.7k
            *s++ = '<';
2184
73.7k
          }
2185
75.5k
          break;
2186
75.5k
        default:
2187
21.4k
          if (('0' <= c) && (c <= '9')) {
2188
19.0k
            i = c - '0';
2189
19.0k
            d = c_read8(r);
2190
19.0k
            if (('0' <= d) && (d <= '9')) {
2191
14.7k
              j = (i * 10) + d - '0';
2192
14.7k
              if ((0 < j) && (j <= count)) {
2193
377
                i = j;
2194
377
                r++;
2195
377
              }
2196
14.3k
              else
2197
14.3k
                d = 0;
2198
14.7k
            }
2199
4.25k
            else
2200
4.25k
              d = 0;
2201
19.0k
            if ((0 < i) && (i <= count)) {
2202
16.2k
              capture = (captures + count - i);
2203
16.2k
              if (capture->kind != XS_UNDEFINED_KIND) {
2204
15.8k
                l = mxStringLength(capture->value.string);
2205
15.8k
                c_memcpy(s, capture->value.string, l);
2206
15.8k
                s += l;
2207
15.8k
              }
2208
16.2k
            }
2209
2.73k
            else {
2210
2.73k
              *s++ = '$';
2211
2.73k
              *s++ = c;
2212
2.73k
              if (d)
2213
0
                *s++ = d;
2214
2.73k
            }
2215
19.0k
          }
2216
2.47k
          else {
2217
2.47k
            *s++ = '$';
2218
2.47k
            if (c)
2219
2.00k
              *s++ = c;
2220
2.47k
          }
2221
21.4k
          break;
2222
177k
        }
2223
177k
        if (!c)
2224
461
          break;
2225
177k
      }
2226
2.70M
      else
2227
2.70M
        *s++ = c;
2228
2.88M
    }
2229
76.7k
    *s = 0;
2230
76.7k
  }
2231
2.77M
  else
2232
2.77M
    mxPushSlot(replace);
2233
2.84M
}
2234
2235
#ifdef mxStringNormalize
2236
2237
typedef struct {
2238
  txSlot* slot;
2239
  txInteger* address;
2240
  txInteger count;
2241
  txInteger starterIndex;
2242
} txNormalizeBuffer;
2243
2244
typedef struct {
2245
  txU2 code;
2246
  txU1 count;
2247
  txU1 order;
2248
} txCombination;
2249
2250
133M
#define mxCombinationCount0 295
2251
static const txCombination gxCombinationIndex0[mxCombinationCount0] ICACHE_XS6RO_ATTR = {
2252
  {0x0300,21,230},{0x0315,1,232},{0x0316,4,220},{0x031A,1,232},{0x031B,1,216},{0x031C,5,220},{0x0321,2,202},{0x0323,4,220},
2253
  {0x0327,2,202},{0x0329,11,220},{0x0334,5,1},{0x0339,4,220},{0x033D,8,230},{0x0345,1,240},{0x0346,1,230},{0x0347,3,220},
2254
  {0x034A,3,230},{0x034D,2,220},{0x0350,3,230},{0x0353,4,220},{0x0357,1,230},{0x0358,1,232},{0x0359,2,220},{0x035B,1,230},
2255
  {0x035C,1,233},{0x035D,2,234},{0x035F,1,233},{0x0360,2,234},{0x0362,1,233},{0x0363,13,230},{0x0483,5,230},{0x0591,1,220},
2256
  {0x0592,4,230},{0x0596,1,220},{0x0597,3,230},{0x059A,1,222},{0x059B,1,220},{0x059C,6,230},{0x05A2,6,220},{0x05A8,2,230},
2257
  {0x05AA,1,220},{0x05AB,2,230},{0x05AD,1,222},{0x05AE,1,228},{0x05AF,1,230},{0x05B0,1,10},{0x05B1,1,11},{0x05B2,1,12},
2258
  {0x05B3,1,13},{0x05B4,1,14},{0x05B5,1,15},{0x05B6,1,16},{0x05B7,1,17},{0x05B8,1,18},{0x05B9,2,19},{0x05BB,1,20},
2259
  {0x05BC,1,21},{0x05BD,1,22},{0x05BF,1,23},{0x05C1,1,24},{0x05C2,1,25},{0x05C4,1,230},{0x05C5,1,220},{0x05C7,1,18},
2260
  {0x0610,8,230},{0x0618,1,30},{0x0619,1,31},{0x061A,1,32},{0x064B,1,27},{0x064C,1,28},{0x064D,1,29},{0x064E,1,30},
2261
  {0x064F,1,31},{0x0650,1,32},{0x0651,1,33},{0x0652,1,34},{0x0653,2,230},{0x0655,2,220},{0x0657,5,230},{0x065C,1,220},
2262
  {0x065D,2,230},{0x065F,1,220},{0x0670,1,35},{0x06D6,7,230},{0x06DF,4,230},{0x06E3,1,220},{0x06E4,1,230},{0x06E7,2,230},
2263
  {0x06EA,1,220},{0x06EB,2,230},{0x06ED,1,220},{0x0711,1,36},{0x0730,1,230},{0x0731,1,220},{0x0732,2,230},{0x0734,1,220},
2264
  {0x0735,2,230},{0x0737,3,220},{0x073A,1,230},{0x073B,2,220},{0x073D,1,230},{0x073E,1,220},{0x073F,3,230},{0x0742,1,220},
2265
  {0x0743,1,230},{0x0744,1,220},{0x0745,1,230},{0x0746,1,220},{0x0747,1,230},{0x0748,1,220},{0x0749,2,230},{0x07EB,7,230},
2266
  {0x07F2,1,220},{0x07F3,1,230},{0x07FD,1,220},{0x0816,4,230},{0x081B,9,230},{0x0825,3,230},{0x0829,5,230},{0x0859,3,220},
2267
  {0x0898,1,230},{0x0899,3,220},{0x089C,4,230},{0x08CA,5,230},{0x08CF,5,220},{0x08D4,14,230},{0x08E3,1,220},{0x08E4,2,230},
2268
  {0x08E6,1,220},{0x08E7,2,230},{0x08E9,1,220},{0x08EA,3,230},{0x08ED,3,220},{0x08F0,1,27},{0x08F1,1,28},{0x08F2,1,29},
2269
  {0x08F3,3,230},{0x08F6,1,220},{0x08F7,2,230},{0x08F9,2,220},{0x08FB,5,230},{0x093C,1,7},{0x094D,1,9},{0x0951,1,230},
2270
  {0x0952,1,220},{0x0953,2,230},{0x09BC,1,7},{0x09CD,1,9},{0x09FE,1,230},{0x0A3C,1,7},{0x0A4D,1,9},{0x0ABC,1,7},
2271
  {0x0ACD,1,9},{0x0B3C,1,7},{0x0B4D,1,9},{0x0BCD,1,9},{0x0C3C,1,7},{0x0C4D,1,9},{0x0C55,1,84},{0x0C56,1,91},
2272
  {0x0CBC,1,7},{0x0CCD,1,9},{0x0D3B,2,9},{0x0D4D,1,9},{0x0DCA,1,9},{0x0E38,2,103},{0x0E3A,1,9},{0x0E48,4,107},
2273
  {0x0EB8,2,118},{0x0EBA,1,9},{0x0EC8,4,122},{0x0F18,2,220},{0x0F35,1,220},{0x0F37,1,220},{0x0F39,1,216},{0x0F71,1,129},
2274
  {0x0F72,1,130},{0x0F74,1,132},{0x0F7A,4,130},{0x0F80,1,130},{0x0F82,2,230},{0x0F84,1,9},{0x0F86,2,230},{0x0FC6,1,220},
2275
  {0x1037,1,7},{0x1039,2,9},{0x108D,1,220},{0x135D,3,230},{0x1714,2,9},{0x1734,1,9},{0x17D2,1,9},{0x17DD,1,230},
2276
  {0x18A9,1,228},{0x1939,1,222},{0x193A,1,230},{0x193B,1,220},{0x1A17,1,230},{0x1A18,1,220},{0x1A60,1,9},{0x1A75,8,230},
2277
  {0x1A7F,1,220},{0x1AB0,5,230},{0x1AB5,6,220},{0x1ABB,2,230},{0x1ABD,1,220},{0x1ABF,2,220},{0x1AC1,2,230},{0x1AC3,2,220},
2278
  {0x1AC5,5,230},{0x1ACA,1,220},{0x1ACB,4,230},{0x1B34,1,7},{0x1B44,1,9},{0x1B6B,1,230},{0x1B6C,1,220},{0x1B6D,7,230},
2279
  {0x1BAA,2,9},{0x1BE6,1,7},{0x1BF2,2,9},{0x1C37,1,7},{0x1CD0,3,230},{0x1CD4,1,1},{0x1CD5,5,220},{0x1CDA,2,230},
2280
  {0x1CDC,4,220},{0x1CE0,1,230},{0x1CE2,7,1},{0x1CED,1,220},{0x1CF4,1,230},{0x1CF8,2,230},{0x1DC0,2,230},{0x1DC2,1,220},
2281
  {0x1DC3,7,230},{0x1DCA,1,220},{0x1DCB,2,230},{0x1DCD,1,234},{0x1DCE,1,214},{0x1DCF,1,220},{0x1DD0,1,202},{0x1DD1,37,230},
2282
  {0x1DF6,1,232},{0x1DF7,2,228},{0x1DF9,1,220},{0x1DFA,1,218},{0x1DFB,1,230},{0x1DFC,1,233},{0x1DFD,1,220},{0x1DFE,1,230},
2283
  {0x1DFF,1,220},{0x20D0,2,230},{0x20D2,2,1},{0x20D4,4,230},{0x20D8,3,1},{0x20DB,2,230},{0x20E1,1,230},{0x20E5,2,1},
2284
  {0x20E7,1,230},{0x20E8,1,220},{0x20E9,1,230},{0x20EA,2,1},{0x20EC,4,220},{0x20F0,1,230},{0x2CEF,3,230},{0x2D7F,1,9},
2285
  {0x2DE0,32,230},{0x302A,1,218},{0x302B,1,228},{0x302C,1,232},{0x302D,1,222},{0x302E,2,224},{0x3099,2,8},{0xA66F,1,230},
2286
  {0xA674,10,230},{0xA69E,2,230},{0xA6F0,2,230},{0xA806,1,9},{0xA82C,1,9},{0xA8C4,1,9},{0xA8E0,18,230},{0xA92B,3,220},
2287
  {0xA953,1,9},{0xA9B3,1,7},{0xA9C0,1,9},{0xAAB0,1,230},{0xAAB2,2,230},{0xAAB4,1,220},{0xAAB7,2,230},{0xAABE,2,230},
2288
  {0xAAC1,1,230},{0xAAF6,1,9},{0xABED,1,9},{0xFB1E,1,26},{0xFE20,7,230},{0xFE27,7,220},{0xFE2E,2,230},
2289
};
2290
195k
#define mxCombinationCount1 87
2291
static const txCombination gxCombinationIndex1[mxCombinationCount1] ICACHE_XS6RO_ATTR = {
2292
  {0x01FD,1,220},{0x02E0,1,220},{0x0376,5,230},{0x0A0D,1,220},{0x0A0F,1,230},{0x0A38,1,230},{0x0A39,1,1},{0x0A3A,1,220},
2293
  {0x0A3F,1,9},{0x0AE5,1,230},{0x0AE6,1,220},{0x0D24,4,230},{0x0EAB,2,230},{0x0F46,2,220},{0x0F48,3,230},{0x0F4B,1,220},
2294
  {0x0F4C,1,230},{0x0F4D,4,220},{0x0F82,1,230},{0x0F83,1,220},{0x0F84,1,230},{0x0F85,1,220},{0x1046,1,9},{0x1070,1,9},
2295
  {0x107F,1,9},{0x10B9,1,9},{0x10BA,1,7},{0x1100,3,230},{0x1133,2,9},{0x1173,1,7},{0x11C0,1,9},{0x11CA,1,7},
2296
  {0x1235,1,9},{0x1236,1,7},{0x12E9,1,7},{0x12EA,1,9},{0x133B,2,7},{0x134D,1,9},{0x1366,7,230},{0x1370,5,230},
2297
  {0x1442,1,9},{0x1446,1,7},{0x145E,1,230},{0x14C2,1,9},{0x14C3,1,7},{0x15BF,1,9},{0x15C0,1,7},{0x163F,1,9},
2298
  {0x16B6,1,9},{0x16B7,1,7},{0x172B,1,9},{0x1839,1,9},{0x183A,1,7},{0x193D,2,9},{0x1943,1,7},{0x19E0,1,9},
2299
  {0x1A34,1,9},{0x1A47,1,9},{0x1A99,1,9},{0x1C3F,1,9},{0x1D42,1,7},{0x1D44,2,9},{0x1D97,1,9},{0x6AF0,5,1},
2300
  {0x6B30,7,230},{0x6FF0,2,6},{0xBC9E,1,1},{0xD165,2,216},{0xD167,3,1},{0xD16D,1,226},{0xD16E,5,216},{0xD17B,8,220},
2301
  {0xD185,5,230},{0xD18A,2,220},{0xD1AA,4,230},{0xD242,3,230},{0xE000,7,230},{0xE008,17,230},{0xE01B,7,230},{0xE023,2,230},
2302
  {0xE026,5,230},{0xE130,7,230},{0xE2AE,1,230},{0xE2EC,4,230},{0xE8D0,7,220},{0xE944,6,230},{0xE94A,1,7},
2303
};
2304
#define mxCompositionSize0 1856
2305
static const txU2 gxCompositionData0[mxCompositionSize0] ICACHE_XS6RO_ATTR = {
2306
  0x0041,0x00C0,0x0045,0x00C8,0x0049,0x00CC,0x004E,0x01F8,0x004F,0x00D2,0x0055,0x00D9,0x0057,0x1E80,0x0059,0x1EF2,0x0061,0x00E0,0x0065,0x00E8,0x0069,0x00EC,0x006E,0x01F9,0x006F,0x00F2,0x0075,0x00F9,0x0077,0x1E81,0x0079,0x1EF3,
2307
  0x00A8,0x1FED,0x00C2,0x1EA6,0x00CA,0x1EC0,0x00D4,0x1ED2,0x00DC,0x01DB,0x00E2,0x1EA7,0x00EA,0x1EC1,0x00F4,0x1ED3,0x00FC,0x01DC,0x0102,0x1EB0,0x0103,0x1EB1,0x0112,0x1E14,0x0113,0x1E15,0x014C,0x1E50,0x014D,0x1E51,0x01A0,0x1EDC,
2308
  0x01A1,0x1EDD,0x01AF,0x1EEA,0x01B0,0x1EEB,0x0391,0x1FBA,0x0395,0x1FC8,0x0397,0x1FCA,0x0399,0x1FDA,0x039F,0x1FF8,0x03A5,0x1FEA,0x03A9,0x1FFA,0x03B1,0x1F70,0x03B5,0x1F72,0x03B7,0x1F74,0x03B9,0x1F76,0x03BF,0x1F78,0x03C5,0x1F7A,
2309
  0x03C9,0x1F7C,0x03CA,0x1FD2,0x03CB,0x1FE2,0x0415,0x0400,0x0418,0x040D,0x0435,0x0450,0x0438,0x045D,0x1F00,0x1F02,0x1F01,0x1F03,0x1F08,0x1F0A,0x1F09,0x1F0B,0x1F10,0x1F12,0x1F11,0x1F13,0x1F18,0x1F1A,0x1F19,0x1F1B,0x1F20,0x1F22,
2310
  0x1F21,0x1F23,0x1F28,0x1F2A,0x1F29,0x1F2B,0x1F30,0x1F32,0x1F31,0x1F33,0x1F38,0x1F3A,0x1F39,0x1F3B,0x1F40,0x1F42,0x1F41,0x1F43,0x1F48,0x1F4A,0x1F49,0x1F4B,0x1F50,0x1F52,0x1F51,0x1F53,0x1F59,0x1F5B,0x1F60,0x1F62,0x1F61,0x1F63,
2311
  0x1F68,0x1F6A,0x1F69,0x1F6B,0x1FBF,0x1FCD,0x1FFE,0x1FDD,0x0041,0x00C1,0x0043,0x0106,0x0045,0x00C9,0x0047,0x01F4,0x0049,0x00CD,0x004B,0x1E30,0x004C,0x0139,0x004D,0x1E3E,0x004E,0x0143,0x004F,0x00D3,0x0050,0x1E54,0x0052,0x0154,
2312
  0x0053,0x015A,0x0055,0x00DA,0x0057,0x1E82,0x0059,0x00DD,0x005A,0x0179,0x0061,0x00E1,0x0063,0x0107,0x0065,0x00E9,0x0067,0x01F5,0x0069,0x00ED,0x006B,0x1E31,0x006C,0x013A,0x006D,0x1E3F,0x006E,0x0144,0x006F,0x00F3,0x0070,0x1E55,
2313
  0x0072,0x0155,0x0073,0x015B,0x0075,0x00FA,0x0077,0x1E83,0x0079,0x00FD,0x007A,0x017A,0x00A8,0x0385,0x00C2,0x1EA4,0x00C5,0x01FA,0x00C6,0x01FC,0x00C7,0x1E08,0x00CA,0x1EBE,0x00CF,0x1E2E,0x00D4,0x1ED0,0x00D5,0x1E4C,0x00D8,0x01FE,
2314
  0x00DC,0x01D7,0x00E2,0x1EA5,0x00E5,0x01FB,0x00E6,0x01FD,0x00E7,0x1E09,0x00EA,0x1EBF,0x00EF,0x1E2F,0x00F4,0x1ED1,0x00F5,0x1E4D,0x00F8,0x01FF,0x00FC,0x01D8,0x0102,0x1EAE,0x0103,0x1EAF,0x0112,0x1E16,0x0113,0x1E17,0x014C,0x1E52,
2315
  0x014D,0x1E53,0x0168,0x1E78,0x0169,0x1E79,0x01A0,0x1EDA,0x01A1,0x1EDB,0x01AF,0x1EE8,0x01B0,0x1EE9,0x0391,0x0386,0x0395,0x0388,0x0397,0x0389,0x0399,0x038A,0x039F,0x038C,0x03A5,0x038E,0x03A9,0x038F,0x03B1,0x03AC,0x03B5,0x03AD,
2316
  0x03B7,0x03AE,0x03B9,0x03AF,0x03BF,0x03CC,0x03C5,0x03CD,0x03C9,0x03CE,0x03CA,0x0390,0x03CB,0x03B0,0x03D2,0x03D3,0x0413,0x0403,0x041A,0x040C,0x0433,0x0453,0x043A,0x045C,0x1F00,0x1F04,0x1F01,0x1F05,0x1F08,0x1F0C,0x1F09,0x1F0D,
2317
  0x1F10,0x1F14,0x1F11,0x1F15,0x1F18,0x1F1C,0x1F19,0x1F1D,0x1F20,0x1F24,0x1F21,0x1F25,0x1F28,0x1F2C,0x1F29,0x1F2D,0x1F30,0x1F34,0x1F31,0x1F35,0x1F38,0x1F3C,0x1F39,0x1F3D,0x1F40,0x1F44,0x1F41,0x1F45,0x1F48,0x1F4C,0x1F49,0x1F4D,
2318
  0x1F50,0x1F54,0x1F51,0x1F55,0x1F59,0x1F5D,0x1F60,0x1F64,0x1F61,0x1F65,0x1F68,0x1F6C,0x1F69,0x1F6D,0x1FBF,0x1FCE,0x1FFE,0x1FDE,0x0041,0x00C2,0x0043,0x0108,0x0045,0x00CA,0x0047,0x011C,0x0048,0x0124,0x0049,0x00CE,0x004A,0x0134,
2319
  0x004F,0x00D4,0x0053,0x015C,0x0055,0x00DB,0x0057,0x0174,0x0059,0x0176,0x005A,0x1E90,0x0061,0x00E2,0x0063,0x0109,0x0065,0x00EA,0x0067,0x011D,0x0068,0x0125,0x0069,0x00EE,0x006A,0x0135,0x006F,0x00F4,0x0073,0x015D,0x0075,0x00FB,
2320
  0x0077,0x0175,0x0079,0x0177,0x007A,0x1E91,0x1EA0,0x1EAC,0x1EA1,0x1EAD,0x1EB8,0x1EC6,0x1EB9,0x1EC7,0x1ECC,0x1ED8,0x1ECD,0x1ED9,0x0041,0x00C3,0x0045,0x1EBC,0x0049,0x0128,0x004E,0x00D1,0x004F,0x00D5,0x0055,0x0168,0x0056,0x1E7C,
2321
  0x0059,0x1EF8,0x0061,0x00E3,0x0065,0x1EBD,0x0069,0x0129,0x006E,0x00F1,0x006F,0x00F5,0x0075,0x0169,0x0076,0x1E7D,0x0079,0x1EF9,0x00C2,0x1EAA,0x00CA,0x1EC4,0x00D4,0x1ED6,0x00E2,0x1EAB,0x00EA,0x1EC5,0x00F4,0x1ED7,0x0102,0x1EB4,
2322
  0x0103,0x1EB5,0x01A0,0x1EE0,0x01A1,0x1EE1,0x01AF,0x1EEE,0x01B0,0x1EEF,0x0041,0x0100,0x0045,0x0112,0x0047,0x1E20,0x0049,0x012A,0x004F,0x014C,0x0055,0x016A,0x0059,0x0232,0x0061,0x0101,0x0065,0x0113,0x0067,0x1E21,0x0069,0x012B,
2323
  0x006F,0x014D,0x0075,0x016B,0x0079,0x0233,0x00C4,0x01DE,0x00C6,0x01E2,0x00D5,0x022C,0x00D6,0x022A,0x00DC,0x01D5,0x00E4,0x01DF,0x00E6,0x01E3,0x00F5,0x022D,0x00F6,0x022B,0x00FC,0x01D6,0x01EA,0x01EC,0x01EB,0x01ED,0x0226,0x01E0,
2324
  0x0227,0x01E1,0x022E,0x0230,0x022F,0x0231,0x0391,0x1FB9,0x0399,0x1FD9,0x03A5,0x1FE9,0x03B1,0x1FB1,0x03B9,0x1FD1,0x03C5,0x1FE1,0x0418,0x04E2,0x0423,0x04EE,0x0438,0x04E3,0x0443,0x04EF,0x1E36,0x1E38,0x1E37,0x1E39,0x1E5A,0x1E5C,
2325
  0x1E5B,0x1E5D,0x0041,0x0102,0x0045,0x0114,0x0047,0x011E,0x0049,0x012C,0x004F,0x014E,0x0055,0x016C,0x0061,0x0103,0x0065,0x0115,0x0067,0x011F,0x0069,0x012D,0x006F,0x014F,0x0075,0x016D,0x0228,0x1E1C,0x0229,0x1E1D,0x0391,0x1FB8,
2326
  0x0399,0x1FD8,0x03A5,0x1FE8,0x03B1,0x1FB0,0x03B9,0x1FD0,0x03C5,0x1FE0,0x0410,0x04D0,0x0415,0x04D6,0x0416,0x04C1,0x0418,0x0419,0x0423,0x040E,0x0430,0x04D1,0x0435,0x04D7,0x0436,0x04C2,0x0438,0x0439,0x0443,0x045E,0x1EA0,0x1EB6,
2327
  0x1EA1,0x1EB7,0x0041,0x0226,0x0042,0x1E02,0x0043,0x010A,0x0044,0x1E0A,0x0045,0x0116,0x0046,0x1E1E,0x0047,0x0120,0x0048,0x1E22,0x0049,0x0130,0x004D,0x1E40,0x004E,0x1E44,0x004F,0x022E,0x0050,0x1E56,0x0052,0x1E58,0x0053,0x1E60,
2328
  0x0054,0x1E6A,0x0057,0x1E86,0x0058,0x1E8A,0x0059,0x1E8E,0x005A,0x017B,0x0061,0x0227,0x0062,0x1E03,0x0063,0x010B,0x0064,0x1E0B,0x0065,0x0117,0x0066,0x1E1F,0x0067,0x0121,0x0068,0x1E23,0x006D,0x1E41,0x006E,0x1E45,0x006F,0x022F,
2329
  0x0070,0x1E57,0x0072,0x1E59,0x0073,0x1E61,0x0074,0x1E6B,0x0077,0x1E87,0x0078,0x1E8B,0x0079,0x1E8F,0x007A,0x017C,0x015A,0x1E64,0x015B,0x1E65,0x0160,0x1E66,0x0161,0x1E67,0x017F,0x1E9B,0x1E62,0x1E68,0x1E63,0x1E69,0x0041,0x00C4,
2330
  0x0045,0x00CB,0x0048,0x1E26,0x0049,0x00CF,0x004F,0x00D6,0x0055,0x00DC,0x0057,0x1E84,0x0058,0x1E8C,0x0059,0x0178,0x0061,0x00E4,0x0065,0x00EB,0x0068,0x1E27,0x0069,0x00EF,0x006F,0x00F6,0x0074,0x1E97,0x0075,0x00FC,0x0077,0x1E85,
2331
  0x0078,0x1E8D,0x0079,0x00FF,0x00D5,0x1E4E,0x00F5,0x1E4F,0x016A,0x1E7A,0x016B,0x1E7B,0x0399,0x03AA,0x03A5,0x03AB,0x03B9,0x03CA,0x03C5,0x03CB,0x03D2,0x03D4,0x0406,0x0407,0x0410,0x04D2,0x0415,0x0401,0x0416,0x04DC,0x0417,0x04DE,
2332
  0x0418,0x04E4,0x041E,0x04E6,0x0423,0x04F0,0x0427,0x04F4,0x042B,0x04F8,0x042D,0x04EC,0x0430,0x04D3,0x0435,0x0451,0x0436,0x04DD,0x0437,0x04DF,0x0438,0x04E5,0x043E,0x04E7,0x0443,0x04F1,0x0447,0x04F5,0x044B,0x04F9,0x044D,0x04ED,
2333
  0x0456,0x0457,0x04D8,0x04DA,0x04D9,0x04DB,0x04E8,0x04EA,0x04E9,0x04EB,0x0041,0x1EA2,0x0045,0x1EBA,0x0049,0x1EC8,0x004F,0x1ECE,0x0055,0x1EE6,0x0059,0x1EF6,0x0061,0x1EA3,0x0065,0x1EBB,0x0069,0x1EC9,0x006F,0x1ECF,0x0075,0x1EE7,
2334
  0x0079,0x1EF7,0x00C2,0x1EA8,0x00CA,0x1EC2,0x00D4,0x1ED4,0x00E2,0x1EA9,0x00EA,0x1EC3,0x00F4,0x1ED5,0x0102,0x1EB2,0x0103,0x1EB3,0x01A0,0x1EDE,0x01A1,0x1EDF,0x01AF,0x1EEC,0x01B0,0x1EED,0x0041,0x00C5,0x0055,0x016E,0x0061,0x00E5,
2335
  0x0075,0x016F,0x0077,0x1E98,0x0079,0x1E99,0x004F,0x0150,0x0055,0x0170,0x006F,0x0151,0x0075,0x0171,0x0423,0x04F2,0x0443,0x04F3,0x0041,0x01CD,0x0043,0x010C,0x0044,0x010E,0x0045,0x011A,0x0047,0x01E6,0x0048,0x021E,0x0049,0x01CF,
2336
  0x004B,0x01E8,0x004C,0x013D,0x004E,0x0147,0x004F,0x01D1,0x0052,0x0158,0x0053,0x0160,0x0054,0x0164,0x0055,0x01D3,0x005A,0x017D,0x0061,0x01CE,0x0063,0x010D,0x0064,0x010F,0x0065,0x011B,0x0067,0x01E7,0x0068,0x021F,0x0069,0x01D0,
2337
  0x006A,0x01F0,0x006B,0x01E9,0x006C,0x013E,0x006E,0x0148,0x006F,0x01D2,0x0072,0x0159,0x0073,0x0161,0x0074,0x0165,0x0075,0x01D4,0x007A,0x017E,0x00DC,0x01D9,0x00FC,0x01DA,0x01B7,0x01EE,0x0292,0x01EF,0x0041,0x0200,0x0045,0x0204,
2338
  0x0049,0x0208,0x004F,0x020C,0x0052,0x0210,0x0055,0x0214,0x0061,0x0201,0x0065,0x0205,0x0069,0x0209,0x006F,0x020D,0x0072,0x0211,0x0075,0x0215,0x0474,0x0476,0x0475,0x0477,0x0041,0x0202,0x0045,0x0206,0x0049,0x020A,0x004F,0x020E,
2339
  0x0052,0x0212,0x0055,0x0216,0x0061,0x0203,0x0065,0x0207,0x0069,0x020B,0x006F,0x020F,0x0072,0x0213,0x0075,0x0217,0x0391,0x1F08,0x0395,0x1F18,0x0397,0x1F28,0x0399,0x1F38,0x039F,0x1F48,0x03A9,0x1F68,0x03B1,0x1F00,0x03B5,0x1F10,
2340
  0x03B7,0x1F20,0x03B9,0x1F30,0x03BF,0x1F40,0x03C1,0x1FE4,0x03C5,0x1F50,0x03C9,0x1F60,0x0391,0x1F09,0x0395,0x1F19,0x0397,0x1F29,0x0399,0x1F39,0x039F,0x1F49,0x03A1,0x1FEC,0x03A5,0x1F59,0x03A9,0x1F69,0x03B1,0x1F01,0x03B5,0x1F11,
2341
  0x03B7,0x1F21,0x03B9,0x1F31,0x03BF,0x1F41,0x03C1,0x1FE5,0x03C5,0x1F51,0x03C9,0x1F61,0x004F,0x01A0,0x0055,0x01AF,0x006F,0x01A1,0x0075,0x01B0,0x0041,0x1EA0,0x0042,0x1E04,0x0044,0x1E0C,0x0045,0x1EB8,0x0048,0x1E24,0x0049,0x1ECA,
2342
  0x004B,0x1E32,0x004C,0x1E36,0x004D,0x1E42,0x004E,0x1E46,0x004F,0x1ECC,0x0052,0x1E5A,0x0053,0x1E62,0x0054,0x1E6C,0x0055,0x1EE4,0x0056,0x1E7E,0x0057,0x1E88,0x0059,0x1EF4,0x005A,0x1E92,0x0061,0x1EA1,0x0062,0x1E05,0x0064,0x1E0D,
2343
  0x0065,0x1EB9,0x0068,0x1E25,0x0069,0x1ECB,0x006B,0x1E33,0x006C,0x1E37,0x006D,0x1E43,0x006E,0x1E47,0x006F,0x1ECD,0x0072,0x1E5B,0x0073,0x1E63,0x0074,0x1E6D,0x0075,0x1EE5,0x0076,0x1E7F,0x0077,0x1E89,0x0079,0x1EF5,0x007A,0x1E93,
2344
  0x01A0,0x1EE2,0x01A1,0x1EE3,0x01AF,0x1EF0,0x01B0,0x1EF1,0x0055,0x1E72,0x0075,0x1E73,0x0041,0x1E00,0x0061,0x1E01,0x0053,0x0218,0x0054,0x021A,0x0073,0x0219,0x0074,0x021B,0x0043,0x00C7,0x0044,0x1E10,0x0045,0x0228,0x0047,0x0122,
2345
  0x0048,0x1E28,0x004B,0x0136,0x004C,0x013B,0x004E,0x0145,0x0052,0x0156,0x0053,0x015E,0x0054,0x0162,0x0063,0x00E7,0x0064,0x1E11,0x0065,0x0229,0x0067,0x0123,0x0068,0x1E29,0x006B,0x0137,0x006C,0x013C,0x006E,0x0146,0x0072,0x0157,
2346
  0x0073,0x015F,0x0074,0x0163,0x0041,0x0104,0x0045,0x0118,0x0049,0x012E,0x004F,0x01EA,0x0055,0x0172,0x0061,0x0105,0x0065,0x0119,0x0069,0x012F,0x006F,0x01EB,0x0075,0x0173,0x0044,0x1E12,0x0045,0x1E18,0x004C,0x1E3C,0x004E,0x1E4A,
2347
  0x0054,0x1E70,0x0055,0x1E76,0x0064,0x1E13,0x0065,0x1E19,0x006C,0x1E3D,0x006E,0x1E4B,0x0074,0x1E71,0x0075,0x1E77,0x0048,0x1E2A,0x0068,0x1E2B,0x0045,0x1E1A,0x0049,0x1E2C,0x0055,0x1E74,0x0065,0x1E1B,0x0069,0x1E2D,0x0075,0x1E75,
2348
  0x0042,0x1E06,0x0044,0x1E0E,0x004B,0x1E34,0x004C,0x1E3A,0x004E,0x1E48,0x0052,0x1E5E,0x0054,0x1E6E,0x005A,0x1E94,0x0062,0x1E07,0x0064,0x1E0F,0x0068,0x1E96,0x006B,0x1E35,0x006C,0x1E3B,0x006E,0x1E49,0x0072,0x1E5F,0x0074,0x1E6F,
2349
  0x007A,0x1E95,0x003C,0x226E,0x003D,0x2260,0x003E,0x226F,0x2190,0x219A,0x2192,0x219B,0x2194,0x21AE,0x21D0,0x21CD,0x21D2,0x21CF,0x21D4,0x21CE,0x2203,0x2204,0x2208,0x2209,0x220B,0x220C,0x2223,0x2224,0x2225,0x2226,0x223C,0x2241,
2350
  0x2243,0x2244,0x2245,0x2247,0x2248,0x2249,0x224D,0x226D,0x2261,0x2262,0x2264,0x2270,0x2265,0x2271,0x2272,0x2274,0x2273,0x2275,0x2276,0x2278,0x2277,0x2279,0x227A,0x2280,0x227B,0x2281,0x227C,0x22E0,0x227D,0x22E1,0x2282,0x2284,
2351
  0x2283,0x2285,0x2286,0x2288,0x2287,0x2289,0x2291,0x22E2,0x2292,0x22E3,0x22A2,0x22AC,0x22A8,0x22AD,0x22A9,0x22AE,0x22AB,0x22AF,0x22B2,0x22EA,0x22B3,0x22EB,0x22B4,0x22EC,0x22B5,0x22ED,0x00A8,0x1FC1,0x03B1,0x1FB6,0x03B7,0x1FC6,
2352
  0x03B9,0x1FD6,0x03C5,0x1FE6,0x03C9,0x1FF6,0x03CA,0x1FD7,0x03CB,0x1FE7,0x1F00,0x1F06,0x1F01,0x1F07,0x1F08,0x1F0E,0x1F09,0x1F0F,0x1F20,0x1F26,0x1F21,0x1F27,0x1F28,0x1F2E,0x1F29,0x1F2F,0x1F30,0x1F36,0x1F31,0x1F37,0x1F38,0x1F3E,
2353
  0x1F39,0x1F3F,0x1F50,0x1F56,0x1F51,0x1F57,0x1F59,0x1F5F,0x1F60,0x1F66,0x1F61,0x1F67,0x1F68,0x1F6E,0x1F69,0x1F6F,0x1FBF,0x1FCF,0x1FFE,0x1FDF,0x0391,0x1FBC,0x0397,0x1FCC,0x03A9,0x1FFC,0x03AC,0x1FB4,0x03AE,0x1FC4,0x03B1,0x1FB3,
2354
  0x03B7,0x1FC3,0x03C9,0x1FF3,0x03CE,0x1FF4,0x1F00,0x1F80,0x1F01,0x1F81,0x1F02,0x1F82,0x1F03,0x1F83,0x1F04,0x1F84,0x1F05,0x1F85,0x1F06,0x1F86,0x1F07,0x1F87,0x1F08,0x1F88,0x1F09,0x1F89,0x1F0A,0x1F8A,0x1F0B,0x1F8B,0x1F0C,0x1F8C,
2355
  0x1F0D,0x1F8D,0x1F0E,0x1F8E,0x1F0F,0x1F8F,0x1F20,0x1F90,0x1F21,0x1F91,0x1F22,0x1F92,0x1F23,0x1F93,0x1F24,0x1F94,0x1F25,0x1F95,0x1F26,0x1F96,0x1F27,0x1F97,0x1F28,0x1F98,0x1F29,0x1F99,0x1F2A,0x1F9A,0x1F2B,0x1F9B,0x1F2C,0x1F9C,
2356
  0x1F2D,0x1F9D,0x1F2E,0x1F9E,0x1F2F,0x1F9F,0x1F60,0x1FA0,0x1F61,0x1FA1,0x1F62,0x1FA2,0x1F63,0x1FA3,0x1F64,0x1FA4,0x1F65,0x1FA5,0x1F66,0x1FA6,0x1F67,0x1FA7,0x1F68,0x1FA8,0x1F69,0x1FA9,0x1F6A,0x1FAA,0x1F6B,0x1FAB,0x1F6C,0x1FAC,
2357
  0x1F6D,0x1FAD,0x1F6E,0x1FAE,0x1F6F,0x1FAF,0x1F70,0x1FB2,0x1F74,0x1FC2,0x1F7C,0x1FF2,0x1FB6,0x1FB7,0x1FC6,0x1FC7,0x1FF6,0x1FF7,0x0627,0x0622,0x0627,0x0623,0x0648,0x0624,0x064A,0x0626,0x06C1,0x06C2,0x06D2,0x06D3,0x06D5,0x06C0,
2358
  0x0627,0x0625,0x0928,0x0929,0x0930,0x0931,0x0933,0x0934,0x09C7,0x09CB,0x09C7,0x09CC,0x0B47,0x0B4B,0x0B47,0x0B48,0x0B47,0x0B4C,0x0BC6,0x0BCA,0x0BC7,0x0BCB,0x0B92,0x0B94,0x0BC6,0x0BCC,0x0C46,0x0C48,0x0CC6,0x0CCA,0x0CBF,0x0CC0,
2359
  0x0CC6,0x0CC7,0x0CCA,0x0CCB,0x0CC6,0x0CC8,0x0D46,0x0D4A,0x0D47,0x0D4B,0x0D46,0x0D4C,0x0DD9,0x0DDA,0x0DDC,0x0DDD,0x0DD9,0x0DDC,0x0DD9,0x0DDE,0x1025,0x1026,0x1B05,0x1B06,0x1B07,0x1B08,0x1B09,0x1B0A,0x1B0B,0x1B0C,0x1B0D,0x1B0E,
2360
  0x1B11,0x1B12,0x1B3A,0x1B3B,0x1B3C,0x1B3D,0x1B3E,0x1B40,0x1B3F,0x1B41,0x1B42,0x1B43,0x3046,0x3094,0x304B,0x304C,0x304D,0x304E,0x304F,0x3050,0x3051,0x3052,0x3053,0x3054,0x3055,0x3056,0x3057,0x3058,0x3059,0x305A,0x305B,0x305C,
2361
  0x305D,0x305E,0x305F,0x3060,0x3061,0x3062,0x3064,0x3065,0x3066,0x3067,0x3068,0x3069,0x306F,0x3070,0x3072,0x3073,0x3075,0x3076,0x3078,0x3079,0x307B,0x307C,0x309D,0x309E,0x30A6,0x30F4,0x30AB,0x30AC,0x30AD,0x30AE,0x30AF,0x30B0,
2362
  0x30B1,0x30B2,0x30B3,0x30B4,0x30B5,0x30B6,0x30B7,0x30B8,0x30B9,0x30BA,0x30BB,0x30BC,0x30BD,0x30BE,0x30BF,0x30C0,0x30C1,0x30C2,0x30C4,0x30C5,0x30C6,0x30C7,0x30C8,0x30C9,0x30CF,0x30D0,0x30D2,0x30D3,0x30D5,0x30D6,0x30D8,0x30D9,
2363
  0x30DB,0x30DC,0x30EF,0x30F7,0x30F0,0x30F8,0x30F1,0x30F9,0x30F2,0x30FA,0x30FD,0x30FE,0x306F,0x3071,0x3072,0x3074,0x3075,0x3077,0x3078,0x307A,0x307B,0x307D,0x30CF,0x30D1,0x30D2,0x30D4,0x30D5,0x30D7,0x30D8,0x30DA,0x30DB,0x30DD,
2364
};
2365
119M
#define mxCompositionCount0 110
2366
static const txU2 gxCompositionIndex0[mxCompositionCount0] ICACHE_XS6RO_ATTR = {
2367
  0x0300,0,0x0301,84,0x0302,201,0x0303,233,0x0304,261,0x0306,305,0x0307,337,0x0308,383,0x0309,437,0x030A,461,0x030B,467,0x030C,473,0x030F,510,0x0311,524,0x0313,536,0x0314,550,
2368
  0x031B,566,0x0323,570,0x0324,612,0x0325,614,0x0326,616,0x0327,620,0x0328,642,0x032D,652,0x032E,664,0x0330,666,0x0331,672,0x0338,689,0x0342,733,0x0345,762,0x0653,825,0x0654,826,
2369
  0x0655,832,0x093C,833,0x09BE,836,0x09D7,837,0x0B3E,838,0x0B56,839,0x0B57,840,0x0BBE,841,0x0BD7,843,0x0C56,845,0x0CC2,846,0x0CD5,847,0x0CD6,850,0x0D3E,851,0x0D57,853,0x0DCA,854,
2370
  0x0DCF,856,0x0DDF,857,0x102E,858,0x1B35,859,0x3099,870,0x309A,918,0xFFFF,928,
2371
};
2372
#define mxCompositionSize1 26
2373
static const txU2 gxCompositionData1[mxCompositionSize1] ICACHE_XS6RO_ATTR = {
2374
  0x1099,0x109A,0x109B,0x109C,0x10A5,0x10AB,0x1131,0x112E,0x1132,0x112F,0x1347,0x134B,0x1347,0x134C,0x14B9,0x14BC,0x14B9,0x14BB,0x14B9,0x14BE,0x15B8,0x15BA,0x15B9,0x15BB,0x1935,0x1938,
2375
};
2376
121k
#define mxCompositionCount1 20
2377
static const txU2 gxCompositionIndex1[mxCompositionCount1] ICACHE_XS6RO_ATTR = {
2378
  0x10BA,0,0x1127,3,0x133E,5,0x1357,6,0x14B0,7,0x14BA,8,0x14BD,9,0x15AF,10,0x1930,12,0xFFFF,13,
2379
};
2380
#define mxDecompositionSize0 13558
2381
const txU1 gxDecompositionData0[mxDecompositionSize0] ICACHE_XS6RO_ATTR = {
2382
  0x20,0x20,0xcc,0x88,0x61,0x20,0xcc,0x84,0x32,0x33,0x20,0xcc,0x81,0xce,0xbc,0x20,0xcc,0xa7,0x31,0x6f,0x31,0xe2,0x81,0x84,0x34,0x31,0xe2,0x81,0x84,0x32,0x33,0xe2,
2383
  0x81,0x84,0x34,0x41,0xcc,0x80,0x41,0xcc,0x81,0x41,0xcc,0x82,0x41,0xcc,0x83,0x41,0xcc,0x88,0x41,0xcc,0x8a,0x43,0xcc,0xa7,0x45,0xcc,0x80,0x45,0xcc,0x81,0x45,0xcc,
2384
  0x82,0x45,0xcc,0x88,0x49,0xcc,0x80,0x49,0xcc,0x81,0x49,0xcc,0x82,0x49,0xcc,0x88,0x4e,0xcc,0x83,0x4f,0xcc,0x80,0x4f,0xcc,0x81,0x4f,0xcc,0x82,0x4f,0xcc,0x83,0x4f,
2385
  0xcc,0x88,0x55,0xcc,0x80,0x55,0xcc,0x81,0x55,0xcc,0x82,0x55,0xcc,0x88,0x59,0xcc,0x81,0x61,0xcc,0x80,0x61,0xcc,0x81,0x61,0xcc,0x82,0x61,0xcc,0x83,0x61,0xcc,0x88,
2386
  0x61,0xcc,0x8a,0x63,0xcc,0xa7,0x65,0xcc,0x80,0x65,0xcc,0x81,0x65,0xcc,0x82,0x65,0xcc,0x88,0x69,0xcc,0x80,0x69,0xcc,0x81,0x69,0xcc,0x82,0x69,0xcc,0x88,0x6e,0xcc,
2387
  0x83,0x6f,0xcc,0x80,0x6f,0xcc,0x81,0x6f,0xcc,0x82,0x6f,0xcc,0x83,0x6f,0xcc,0x88,0x75,0xcc,0x80,0x75,0xcc,0x81,0x75,0xcc,0x82,0x75,0xcc,0x88,0x79,0xcc,0x81,0x79,
2388
  0xcc,0x88,0x41,0xcc,0x84,0x61,0xcc,0x84,0x41,0xcc,0x86,0x61,0xcc,0x86,0x41,0xcc,0xa8,0x61,0xcc,0xa8,0x43,0xcc,0x81,0x63,0xcc,0x81,0x43,0xcc,0x82,0x63,0xcc,0x82,
2389
  0x43,0xcc,0x87,0x63,0xcc,0x87,0x43,0xcc,0x8c,0x63,0xcc,0x8c,0x44,0xcc,0x8c,0x64,0xcc,0x8c,0x45,0xcc,0x84,0x65,0xcc,0x84,0x45,0xcc,0x86,0x65,0xcc,0x86,0x45,0xcc,
2390
  0x87,0x65,0xcc,0x87,0x45,0xcc,0xa8,0x65,0xcc,0xa8,0x45,0xcc,0x8c,0x65,0xcc,0x8c,0x47,0xcc,0x82,0x67,0xcc,0x82,0x47,0xcc,0x86,0x67,0xcc,0x86,0x47,0xcc,0x87,0x67,
2391
  0xcc,0x87,0x47,0xcc,0xa7,0x67,0xcc,0xa7,0x48,0xcc,0x82,0x68,0xcc,0x82,0x49,0xcc,0x83,0x69,0xcc,0x83,0x49,0xcc,0x84,0x69,0xcc,0x84,0x49,0xcc,0x86,0x69,0xcc,0x86,
2392
  0x49,0xcc,0xa8,0x69,0xcc,0xa8,0x49,0xcc,0x87,0x49,0x4a,0x69,0x6a,0x4a,0xcc,0x82,0x6a,0xcc,0x82,0x4b,0xcc,0xa7,0x6b,0xcc,0xa7,0x4c,0xcc,0x81,0x6c,0xcc,0x81,0x4c,
2393
  0xcc,0xa7,0x6c,0xcc,0xa7,0x4c,0xcc,0x8c,0x6c,0xcc,0x8c,0x4c,0xc2,0xb7,0x6c,0xc2,0xb7,0x4e,0xcc,0x81,0x6e,0xcc,0x81,0x4e,0xcc,0xa7,0x6e,0xcc,0xa7,0x4e,0xcc,0x8c,
2394
  0x6e,0xcc,0x8c,0xca,0xbc,0x6e,0x4f,0xcc,0x84,0x6f,0xcc,0x84,0x4f,0xcc,0x86,0x6f,0xcc,0x86,0x4f,0xcc,0x8b,0x6f,0xcc,0x8b,0x52,0xcc,0x81,0x72,0xcc,0x81,0x52,0xcc,
2395
  0xa7,0x72,0xcc,0xa7,0x52,0xcc,0x8c,0x72,0xcc,0x8c,0x53,0xcc,0x81,0x73,0xcc,0x81,0x53,0xcc,0x82,0x73,0xcc,0x82,0x53,0xcc,0xa7,0x73,0xcc,0xa7,0x53,0xcc,0x8c,0x73,
2396
  0xcc,0x8c,0x54,0xcc,0xa7,0x74,0xcc,0xa7,0x54,0xcc,0x8c,0x74,0xcc,0x8c,0x55,0xcc,0x83,0x75,0xcc,0x83,0x55,0xcc,0x84,0x75,0xcc,0x84,0x55,0xcc,0x86,0x75,0xcc,0x86,
2397
  0x55,0xcc,0x8a,0x75,0xcc,0x8a,0x55,0xcc,0x8b,0x75,0xcc,0x8b,0x55,0xcc,0xa8,0x75,0xcc,0xa8,0x57,0xcc,0x82,0x77,0xcc,0x82,0x59,0xcc,0x82,0x79,0xcc,0x82,0x59,0xcc,
2398
  0x88,0x5a,0xcc,0x81,0x7a,0xcc,0x81,0x5a,0xcc,0x87,0x7a,0xcc,0x87,0x5a,0xcc,0x8c,0x7a,0xcc,0x8c,0x73,0x4f,0xcc,0x9b,0x6f,0xcc,0x9b,0x55,0xcc,0x9b,0x75,0xcc,0x9b,
2399
  0x44,0xc5,0xbd,0x44,0xc5,0xbe,0x64,0xc5,0xbe,0x4c,0x4a,0x4c,0x6a,0x6c,0x6a,0x4e,0x4a,0x4e,0x6a,0x6e,0x6a,0x41,0xcc,0x8c,0x61,0xcc,0x8c,0x49,0xcc,0x8c,0x69,0xcc,
2400
  0x8c,0x4f,0xcc,0x8c,0x6f,0xcc,0x8c,0x55,0xcc,0x8c,0x75,0xcc,0x8c,0xc3,0x9c,0xcc,0x84,0xc3,0xbc,0xcc,0x84,0xc3,0x9c,0xcc,0x81,0xc3,0xbc,0xcc,0x81,0xc3,0x9c,0xcc,
2401
  0x8c,0xc3,0xbc,0xcc,0x8c,0xc3,0x9c,0xcc,0x80,0xc3,0xbc,0xcc,0x80,0xc3,0x84,0xcc,0x84,0xc3,0xa4,0xcc,0x84,0xc8,0xa6,0xcc,0x84,0xc8,0xa7,0xcc,0x84,0xc3,0x86,0xcc,
2402
  0x84,0xc3,0xa6,0xcc,0x84,0x47,0xcc,0x8c,0x67,0xcc,0x8c,0x4b,0xcc,0x8c,0x6b,0xcc,0x8c,0x4f,0xcc,0xa8,0x6f,0xcc,0xa8,0xc7,0xaa,0xcc,0x84,0xc7,0xab,0xcc,0x84,0xc6,
2403
  0xb7,0xcc,0x8c,0xca,0x92,0xcc,0x8c,0x6a,0xcc,0x8c,0x44,0x5a,0x44,0x7a,0x64,0x7a,0x47,0xcc,0x81,0x67,0xcc,0x81,0x4e,0xcc,0x80,0x6e,0xcc,0x80,0xc3,0x85,0xcc,0x81,
2404
  0xc3,0xa5,0xcc,0x81,0xc3,0x86,0xcc,0x81,0xc3,0xa6,0xcc,0x81,0xc3,0x98,0xcc,0x81,0xc3,0xb8,0xcc,0x81,0x41,0xcc,0x8f,0x61,0xcc,0x8f,0x41,0xcc,0x91,0x61,0xcc,0x91,
2405
  0x45,0xcc,0x8f,0x65,0xcc,0x8f,0x45,0xcc,0x91,0x65,0xcc,0x91,0x49,0xcc,0x8f,0x69,0xcc,0x8f,0x49,0xcc,0x91,0x69,0xcc,0x91,0x4f,0xcc,0x8f,0x6f,0xcc,0x8f,0x4f,0xcc,
2406
  0x91,0x6f,0xcc,0x91,0x52,0xcc,0x8f,0x72,0xcc,0x8f,0x52,0xcc,0x91,0x72,0xcc,0x91,0x55,0xcc,0x8f,0x75,0xcc,0x8f,0x55,0xcc,0x91,0x75,0xcc,0x91,0x53,0xcc,0xa6,0x73,
2407
  0xcc,0xa6,0x54,0xcc,0xa6,0x74,0xcc,0xa6,0x48,0xcc,0x8c,0x68,0xcc,0x8c,0x41,0xcc,0x87,0x61,0xcc,0x87,0x45,0xcc,0xa7,0x65,0xcc,0xa7,0xc3,0x96,0xcc,0x84,0xc3,0xb6,
2408
  0xcc,0x84,0xc3,0x95,0xcc,0x84,0xc3,0xb5,0xcc,0x84,0x4f,0xcc,0x87,0x6f,0xcc,0x87,0xc8,0xae,0xcc,0x84,0xc8,0xaf,0xcc,0x84,0x59,0xcc,0x84,0x79,0xcc,0x84,0x68,0xc9,
2409
  0xa6,0x6a,0x72,0xc9,0xb9,0xc9,0xbb,0xca,0x81,0x77,0x79,0x20,0xcc,0x86,0x20,0xcc,0x87,0x20,0xcc,0x8a,0x20,0xcc,0xa8,0x20,0xcc,0x83,0x20,0xcc,0x8b,0xc9,0xa3,0x6c,
2410
  0x73,0x78,0xca,0x95,0xcc,0x80,0xcc,0x81,0xcc,0x93,0xcc,0x88,0xcc,0x81,0xca,0xb9,0x20,0xcd,0x85,0x3b,0x20,0xcc,0x81,0xc2,0xa8,0xcc,0x81,0xce,0x91,0xcc,0x81,0xc2,
2411
  0xb7,0xce,0x95,0xcc,0x81,0xce,0x97,0xcc,0x81,0xce,0x99,0xcc,0x81,0xce,0x9f,0xcc,0x81,0xce,0xa5,0xcc,0x81,0xce,0xa9,0xcc,0x81,0xcf,0x8a,0xcc,0x81,0xce,0x99,0xcc,
2412
  0x88,0xce,0xa5,0xcc,0x88,0xce,0xb1,0xcc,0x81,0xce,0xb5,0xcc,0x81,0xce,0xb7,0xcc,0x81,0xce,0xb9,0xcc,0x81,0xcf,0x8b,0xcc,0x81,0xce,0xb9,0xcc,0x88,0xcf,0x85,0xcc,
2413
  0x88,0xce,0xbf,0xcc,0x81,0xcf,0x85,0xcc,0x81,0xcf,0x89,0xcc,0x81,0xce,0xb2,0xce,0xb8,0xce,0xa5,0xcf,0x92,0xcc,0x81,0xcf,0x92,0xcc,0x88,0xcf,0x86,0xcf,0x80,0xce,
2414
  0xba,0xcf,0x81,0xcf,0x82,0xce,0x98,0xce,0xb5,0xce,0xa3,0xd0,0x95,0xcc,0x80,0xd0,0x95,0xcc,0x88,0xd0,0x93,0xcc,0x81,0xd0,0x86,0xcc,0x88,0xd0,0x9a,0xcc,0x81,0xd0,
2415
  0x98,0xcc,0x80,0xd0,0xa3,0xcc,0x86,0xd0,0x98,0xcc,0x86,0xd0,0xb8,0xcc,0x86,0xd0,0xb5,0xcc,0x80,0xd0,0xb5,0xcc,0x88,0xd0,0xb3,0xcc,0x81,0xd1,0x96,0xcc,0x88,0xd0,
2416
  0xba,0xcc,0x81,0xd0,0xb8,0xcc,0x80,0xd1,0x83,0xcc,0x86,0xd1,0xb4,0xcc,0x8f,0xd1,0xb5,0xcc,0x8f,0xd0,0x96,0xcc,0x86,0xd0,0xb6,0xcc,0x86,0xd0,0x90,0xcc,0x86,0xd0,
2417
  0xb0,0xcc,0x86,0xd0,0x90,0xcc,0x88,0xd0,0xb0,0xcc,0x88,0xd0,0x95,0xcc,0x86,0xd0,0xb5,0xcc,0x86,0xd3,0x98,0xcc,0x88,0xd3,0x99,0xcc,0x88,0xd0,0x96,0xcc,0x88,0xd0,
2418
  0xb6,0xcc,0x88,0xd0,0x97,0xcc,0x88,0xd0,0xb7,0xcc,0x88,0xd0,0x98,0xcc,0x84,0xd0,0xb8,0xcc,0x84,0xd0,0x98,0xcc,0x88,0xd0,0xb8,0xcc,0x88,0xd0,0x9e,0xcc,0x88,0xd0,
2419
  0xbe,0xcc,0x88,0xd3,0xa8,0xcc,0x88,0xd3,0xa9,0xcc,0x88,0xd0,0xad,0xcc,0x88,0xd1,0x8d,0xcc,0x88,0xd0,0xa3,0xcc,0x84,0xd1,0x83,0xcc,0x84,0xd0,0xa3,0xcc,0x88,0xd1,
2420
  0x83,0xcc,0x88,0xd0,0xa3,0xcc,0x8b,0xd1,0x83,0xcc,0x8b,0xd0,0xa7,0xcc,0x88,0xd1,0x87,0xcc,0x88,0xd0,0xab,0xcc,0x88,0xd1,0x8b,0xcc,0x88,0xd5,0xa5,0xd6,0x82,0xd8,
2421
  0xa7,0xd9,0x93,0xd8,0xa7,0xd9,0x94,0xd9,0x88,0xd9,0x94,0xd8,0xa7,0xd9,0x95,0xd9,0x8a,0xd9,0x94,0xd8,0xa7,0xd9,0xb4,0xd9,0x88,0xd9,0xb4,0xdb,0x87,0xd9,0xb4,0xd9,
2422
  0x8a,0xd9,0xb4,0xdb,0x95,0xd9,0x94,0xdb,0x81,0xd9,0x94,0xdb,0x92,0xd9,0x94,0xe0,0xa4,0xa8,0xe0,0xa4,0xbc,0xe0,0xa4,0xb0,0xe0,0xa4,0xbc,0xe0,0xa4,0xb3,0xe0,0xa4,
2423
  0xbc,0xe0,0xa4,0x95,0xe0,0xa4,0xbc,0xe0,0xa4,0x96,0xe0,0xa4,0xbc,0xe0,0xa4,0x97,0xe0,0xa4,0xbc,0xe0,0xa4,0x9c,0xe0,0xa4,0xbc,0xe0,0xa4,0xa1,0xe0,0xa4,0xbc,0xe0,
2424
  0xa4,0xa2,0xe0,0xa4,0xbc,0xe0,0xa4,0xab,0xe0,0xa4,0xbc,0xe0,0xa4,0xaf,0xe0,0xa4,0xbc,0xe0,0xa7,0x87,0xe0,0xa6,0xbe,0xe0,0xa7,0x87,0xe0,0xa7,0x97,0xe0,0xa6,0xa1,
2425
  0xe0,0xa6,0xbc,0xe0,0xa6,0xa2,0xe0,0xa6,0xbc,0xe0,0xa6,0xaf,0xe0,0xa6,0xbc,0xe0,0xa8,0xb2,0xe0,0xa8,0xbc,0xe0,0xa8,0xb8,0xe0,0xa8,0xbc,0xe0,0xa8,0x96,0xe0,0xa8,
2426
  0xbc,0xe0,0xa8,0x97,0xe0,0xa8,0xbc,0xe0,0xa8,0x9c,0xe0,0xa8,0xbc,0xe0,0xa8,0xab,0xe0,0xa8,0xbc,0xe0,0xad,0x87,0xe0,0xad,0x96,0xe0,0xad,0x87,0xe0,0xac,0xbe,0xe0,
2427
  0xad,0x87,0xe0,0xad,0x97,0xe0,0xac,0xa1,0xe0,0xac,0xbc,0xe0,0xac,0xa2,0xe0,0xac,0xbc,0xe0,0xae,0x92,0xe0,0xaf,0x97,0xe0,0xaf,0x86,0xe0,0xae,0xbe,0xe0,0xaf,0x87,
2428
  0xe0,0xae,0xbe,0xe0,0xaf,0x86,0xe0,0xaf,0x97,0xe0,0xb1,0x86,0xe0,0xb1,0x96,0xe0,0xb2,0xbf,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,0x95,0xe0,0xb3,0x86,0xe0,0xb3,
2429
  0x96,0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x8a,0xe0,0xb3,0x95,0xe0,0xb5,0x86,0xe0,0xb4,0xbe,0xe0,0xb5,0x87,0xe0,0xb4,0xbe,0xe0,0xb5,0x86,0xe0,0xb5,0x97,0xe0,
2430
  0xb7,0x99,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x8f,0xe0,0xb7,0x9c,0xe0,0xb7,0x8a,0xe0,0xb7,0x99,0xe0,0xb7,0x9f,0xe0,0xb9,0x8d,0xe0,0xb8,0xb2,0xe0,0xbb,0x8d,
2431
  0xe0,0xba,0xb2,0xe0,0xba,0xab,0xe0,0xba,0x99,0xe0,0xba,0xab,0xe0,0xba,0xa1,0xe0,0xbc,0x8b,0xe0,0xbd,0x82,0xe0,0xbe,0xb7,0xe0,0xbd,0x8c,0xe0,0xbe,0xb7,0xe0,0xbd,
2432
  0x91,0xe0,0xbe,0xb7,0xe0,0xbd,0x96,0xe0,0xbe,0xb7,0xe0,0xbd,0x9b,0xe0,0xbe,0xb7,0xe0,0xbd,0x80,0xe0,0xbe,0xb5,0xe0,0xbd,0xb1,0xe0,0xbd,0xb2,0xe0,0xbd,0xb1,0xe0,
2433
  0xbd,0xb4,0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbe,0xb2,0xe0,0xbe,0x81,0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbe,0xb3,0xe0,0xbe,0x81,0xe0,0xbd,0xb1,0xe0,0xbe,0x80,
2434
  0xe0,0xbe,0x92,0xe0,0xbe,0xb7,0xe0,0xbe,0x9c,0xe0,0xbe,0xb7,0xe0,0xbe,0xa1,0xe0,0xbe,0xb7,0xe0,0xbe,0xa6,0xe0,0xbe,0xb7,0xe0,0xbe,0xab,0xe0,0xbe,0xb7,0xe0,0xbe,
2435
  0x90,0xe0,0xbe,0xb5,0xe1,0x80,0xa5,0xe1,0x80,0xae,0xe1,0x83,0x9c,0xe1,0xac,0x85,0xe1,0xac,0xb5,0xe1,0xac,0x87,0xe1,0xac,0xb5,0xe1,0xac,0x89,0xe1,0xac,0xb5,0xe1,
2436
  0xac,0x8b,0xe1,0xac,0xb5,0xe1,0xac,0x8d,0xe1,0xac,0xb5,0xe1,0xac,0x91,0xe1,0xac,0xb5,0xe1,0xac,0xba,0xe1,0xac,0xb5,0xe1,0xac,0xbc,0xe1,0xac,0xb5,0xe1,0xac,0xbe,
2437
  0xe1,0xac,0xb5,0xe1,0xac,0xbf,0xe1,0xac,0xb5,0xe1,0xad,0x82,0xe1,0xac,0xb5,0x41,0xc3,0x86,0x42,0x44,0x45,0xc6,0x8e,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,
2438
  0xc8,0xa2,0x50,0x52,0x54,0x55,0x57,0x61,0xc9,0x90,0xc9,0x91,0xe1,0xb4,0x82,0x62,0x64,0x65,0xc9,0x99,0xc9,0x9b,0xc9,0x9c,0x67,0x6b,0x6d,0xc5,0x8b,0x6f,0xc9,0x94,
2439
  0xe1,0xb4,0x96,0xe1,0xb4,0x97,0x70,0x74,0x75,0xe1,0xb4,0x9d,0xc9,0xaf,0x76,0xe1,0xb4,0xa5,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xcf,0x86,0xcf,0x87,0x69,0x72,0x75,0x76,
2440
  0xce,0xb2,0xce,0xb3,0xcf,0x81,0xcf,0x86,0xcf,0x87,0xd0,0xbd,0xc9,0x92,0x63,0xc9,0x95,0xc3,0xb0,0xc9,0x9c,0x66,0xc9,0x9f,0xc9,0xa1,0xc9,0xa5,0xc9,0xa8,0xc9,0xa9,
2441
  0xc9,0xaa,0xe1,0xb5,0xbb,0xca,0x9d,0xc9,0xad,0xe1,0xb6,0x85,0xca,0x9f,0xc9,0xb1,0xc9,0xb0,0xc9,0xb2,0xc9,0xb3,0xc9,0xb4,0xc9,0xb5,0xc9,0xb8,0xca,0x82,0xca,0x83,
2442
  0xc6,0xab,0xca,0x89,0xca,0x8a,0xe1,0xb4,0x9c,0xca,0x8b,0xca,0x8c,0x7a,0xca,0x90,0xca,0x91,0xca,0x92,0xce,0xb8,0x41,0xcc,0xa5,0x61,0xcc,0xa5,0x42,0xcc,0x87,0x62,
2443
  0xcc,0x87,0x42,0xcc,0xa3,0x62,0xcc,0xa3,0x42,0xcc,0xb1,0x62,0xcc,0xb1,0xc3,0x87,0xcc,0x81,0xc3,0xa7,0xcc,0x81,0x44,0xcc,0x87,0x64,0xcc,0x87,0x44,0xcc,0xa3,0x64,
2444
  0xcc,0xa3,0x44,0xcc,0xb1,0x64,0xcc,0xb1,0x44,0xcc,0xa7,0x64,0xcc,0xa7,0x44,0xcc,0xad,0x64,0xcc,0xad,0xc4,0x92,0xcc,0x80,0xc4,0x93,0xcc,0x80,0xc4,0x92,0xcc,0x81,
2445
  0xc4,0x93,0xcc,0x81,0x45,0xcc,0xad,0x65,0xcc,0xad,0x45,0xcc,0xb0,0x65,0xcc,0xb0,0xc8,0xa8,0xcc,0x86,0xc8,0xa9,0xcc,0x86,0x46,0xcc,0x87,0x66,0xcc,0x87,0x47,0xcc,
2446
  0x84,0x67,0xcc,0x84,0x48,0xcc,0x87,0x68,0xcc,0x87,0x48,0xcc,0xa3,0x68,0xcc,0xa3,0x48,0xcc,0x88,0x68,0xcc,0x88,0x48,0xcc,0xa7,0x68,0xcc,0xa7,0x48,0xcc,0xae,0x68,
2447
  0xcc,0xae,0x49,0xcc,0xb0,0x69,0xcc,0xb0,0xc3,0x8f,0xcc,0x81,0xc3,0xaf,0xcc,0x81,0x4b,0xcc,0x81,0x6b,0xcc,0x81,0x4b,0xcc,0xa3,0x6b,0xcc,0xa3,0x4b,0xcc,0xb1,0x6b,
2448
  0xcc,0xb1,0x4c,0xcc,0xa3,0x6c,0xcc,0xa3,0xe1,0xb8,0xb6,0xcc,0x84,0xe1,0xb8,0xb7,0xcc,0x84,0x4c,0xcc,0xb1,0x6c,0xcc,0xb1,0x4c,0xcc,0xad,0x6c,0xcc,0xad,0x4d,0xcc,
2449
  0x81,0x6d,0xcc,0x81,0x4d,0xcc,0x87,0x6d,0xcc,0x87,0x4d,0xcc,0xa3,0x6d,0xcc,0xa3,0x4e,0xcc,0x87,0x6e,0xcc,0x87,0x4e,0xcc,0xa3,0x6e,0xcc,0xa3,0x4e,0xcc,0xb1,0x6e,
2450
  0xcc,0xb1,0x4e,0xcc,0xad,0x6e,0xcc,0xad,0xc3,0x95,0xcc,0x81,0xc3,0xb5,0xcc,0x81,0xc3,0x95,0xcc,0x88,0xc3,0xb5,0xcc,0x88,0xc5,0x8c,0xcc,0x80,0xc5,0x8d,0xcc,0x80,
2451
  0xc5,0x8c,0xcc,0x81,0xc5,0x8d,0xcc,0x81,0x50,0xcc,0x81,0x70,0xcc,0x81,0x50,0xcc,0x87,0x70,0xcc,0x87,0x52,0xcc,0x87,0x72,0xcc,0x87,0x52,0xcc,0xa3,0x72,0xcc,0xa3,
2452
  0xe1,0xb9,0x9a,0xcc,0x84,0xe1,0xb9,0x9b,0xcc,0x84,0x52,0xcc,0xb1,0x72,0xcc,0xb1,0x53,0xcc,0x87,0x73,0xcc,0x87,0x53,0xcc,0xa3,0x73,0xcc,0xa3,0xc5,0x9a,0xcc,0x87,
2453
  0xc5,0x9b,0xcc,0x87,0xc5,0xa0,0xcc,0x87,0xc5,0xa1,0xcc,0x87,0xe1,0xb9,0xa2,0xcc,0x87,0xe1,0xb9,0xa3,0xcc,0x87,0x54,0xcc,0x87,0x74,0xcc,0x87,0x54,0xcc,0xa3,0x74,
2454
  0xcc,0xa3,0x54,0xcc,0xb1,0x74,0xcc,0xb1,0x54,0xcc,0xad,0x74,0xcc,0xad,0x55,0xcc,0xa4,0x75,0xcc,0xa4,0x55,0xcc,0xb0,0x75,0xcc,0xb0,0x55,0xcc,0xad,0x75,0xcc,0xad,
2455
  0xc5,0xa8,0xcc,0x81,0xc5,0xa9,0xcc,0x81,0xc5,0xaa,0xcc,0x88,0xc5,0xab,0xcc,0x88,0x56,0xcc,0x83,0x76,0xcc,0x83,0x56,0xcc,0xa3,0x76,0xcc,0xa3,0x57,0xcc,0x80,0x77,
2456
  0xcc,0x80,0x57,0xcc,0x81,0x77,0xcc,0x81,0x57,0xcc,0x88,0x77,0xcc,0x88,0x57,0xcc,0x87,0x77,0xcc,0x87,0x57,0xcc,0xa3,0x77,0xcc,0xa3,0x58,0xcc,0x87,0x78,0xcc,0x87,
2457
  0x58,0xcc,0x88,0x78,0xcc,0x88,0x59,0xcc,0x87,0x79,0xcc,0x87,0x5a,0xcc,0x82,0x7a,0xcc,0x82,0x5a,0xcc,0xa3,0x7a,0xcc,0xa3,0x5a,0xcc,0xb1,0x7a,0xcc,0xb1,0x68,0xcc,
2458
  0xb1,0x74,0xcc,0x88,0x77,0xcc,0x8a,0x79,0xcc,0x8a,0x61,0xca,0xbe,0xc5,0xbf,0xcc,0x87,0x41,0xcc,0xa3,0x61,0xcc,0xa3,0x41,0xcc,0x89,0x61,0xcc,0x89,0xc3,0x82,0xcc,
2459
  0x81,0xc3,0xa2,0xcc,0x81,0xc3,0x82,0xcc,0x80,0xc3,0xa2,0xcc,0x80,0xc3,0x82,0xcc,0x89,0xc3,0xa2,0xcc,0x89,0xc3,0x82,0xcc,0x83,0xc3,0xa2,0xcc,0x83,0xe1,0xba,0xa0,
2460
  0xcc,0x82,0xe1,0xba,0xa1,0xcc,0x82,0xc4,0x82,0xcc,0x81,0xc4,0x83,0xcc,0x81,0xc4,0x82,0xcc,0x80,0xc4,0x83,0xcc,0x80,0xc4,0x82,0xcc,0x89,0xc4,0x83,0xcc,0x89,0xc4,
2461
  0x82,0xcc,0x83,0xc4,0x83,0xcc,0x83,0xe1,0xba,0xa0,0xcc,0x86,0xe1,0xba,0xa1,0xcc,0x86,0x45,0xcc,0xa3,0x65,0xcc,0xa3,0x45,0xcc,0x89,0x65,0xcc,0x89,0x45,0xcc,0x83,
2462
  0x65,0xcc,0x83,0xc3,0x8a,0xcc,0x81,0xc3,0xaa,0xcc,0x81,0xc3,0x8a,0xcc,0x80,0xc3,0xaa,0xcc,0x80,0xc3,0x8a,0xcc,0x89,0xc3,0xaa,0xcc,0x89,0xc3,0x8a,0xcc,0x83,0xc3,
2463
  0xaa,0xcc,0x83,0xe1,0xba,0xb8,0xcc,0x82,0xe1,0xba,0xb9,0xcc,0x82,0x49,0xcc,0x89,0x69,0xcc,0x89,0x49,0xcc,0xa3,0x69,0xcc,0xa3,0x4f,0xcc,0xa3,0x6f,0xcc,0xa3,0x4f,
2464
  0xcc,0x89,0x6f,0xcc,0x89,0xc3,0x94,0xcc,0x81,0xc3,0xb4,0xcc,0x81,0xc3,0x94,0xcc,0x80,0xc3,0xb4,0xcc,0x80,0xc3,0x94,0xcc,0x89,0xc3,0xb4,0xcc,0x89,0xc3,0x94,0xcc,
2465
  0x83,0xc3,0xb4,0xcc,0x83,0xe1,0xbb,0x8c,0xcc,0x82,0xe1,0xbb,0x8d,0xcc,0x82,0xc6,0xa0,0xcc,0x81,0xc6,0xa1,0xcc,0x81,0xc6,0xa0,0xcc,0x80,0xc6,0xa1,0xcc,0x80,0xc6,
2466
  0xa0,0xcc,0x89,0xc6,0xa1,0xcc,0x89,0xc6,0xa0,0xcc,0x83,0xc6,0xa1,0xcc,0x83,0xc6,0xa0,0xcc,0xa3,0xc6,0xa1,0xcc,0xa3,0x55,0xcc,0xa3,0x75,0xcc,0xa3,0x55,0xcc,0x89,
2467
  0x75,0xcc,0x89,0xc6,0xaf,0xcc,0x81,0xc6,0xb0,0xcc,0x81,0xc6,0xaf,0xcc,0x80,0xc6,0xb0,0xcc,0x80,0xc6,0xaf,0xcc,0x89,0xc6,0xb0,0xcc,0x89,0xc6,0xaf,0xcc,0x83,0xc6,
2468
  0xb0,0xcc,0x83,0xc6,0xaf,0xcc,0xa3,0xc6,0xb0,0xcc,0xa3,0x59,0xcc,0x80,0x79,0xcc,0x80,0x59,0xcc,0xa3,0x79,0xcc,0xa3,0x59,0xcc,0x89,0x79,0xcc,0x89,0x59,0xcc,0x83,
2469
  0x79,0xcc,0x83,0xce,0xb1,0xcc,0x93,0xce,0xb1,0xcc,0x94,0xe1,0xbc,0x80,0xcc,0x80,0xe1,0xbc,0x81,0xcc,0x80,0xe1,0xbc,0x80,0xcc,0x81,0xe1,0xbc,0x81,0xcc,0x81,0xe1,
2470
  0xbc,0x80,0xcd,0x82,0xe1,0xbc,0x81,0xcd,0x82,0xce,0x91,0xcc,0x93,0xce,0x91,0xcc,0x94,0xe1,0xbc,0x88,0xcc,0x80,0xe1,0xbc,0x89,0xcc,0x80,0xe1,0xbc,0x88,0xcc,0x81,
2471
  0xe1,0xbc,0x89,0xcc,0x81,0xe1,0xbc,0x88,0xcd,0x82,0xe1,0xbc,0x89,0xcd,0x82,0xce,0xb5,0xcc,0x93,0xce,0xb5,0xcc,0x94,0xe1,0xbc,0x90,0xcc,0x80,0xe1,0xbc,0x91,0xcc,
2472
  0x80,0xe1,0xbc,0x90,0xcc,0x81,0xe1,0xbc,0x91,0xcc,0x81,0xce,0x95,0xcc,0x93,0xce,0x95,0xcc,0x94,0xe1,0xbc,0x98,0xcc,0x80,0xe1,0xbc,0x99,0xcc,0x80,0xe1,0xbc,0x98,
2473
  0xcc,0x81,0xe1,0xbc,0x99,0xcc,0x81,0xce,0xb7,0xcc,0x93,0xce,0xb7,0xcc,0x94,0xe1,0xbc,0xa0,0xcc,0x80,0xe1,0xbc,0xa1,0xcc,0x80,0xe1,0xbc,0xa0,0xcc,0x81,0xe1,0xbc,
2474
  0xa1,0xcc,0x81,0xe1,0xbc,0xa0,0xcd,0x82,0xe1,0xbc,0xa1,0xcd,0x82,0xce,0x97,0xcc,0x93,0xce,0x97,0xcc,0x94,0xe1,0xbc,0xa8,0xcc,0x80,0xe1,0xbc,0xa9,0xcc,0x80,0xe1,
2475
  0xbc,0xa8,0xcc,0x81,0xe1,0xbc,0xa9,0xcc,0x81,0xe1,0xbc,0xa8,0xcd,0x82,0xe1,0xbc,0xa9,0xcd,0x82,0xce,0xb9,0xcc,0x93,0xce,0xb9,0xcc,0x94,0xe1,0xbc,0xb0,0xcc,0x80,
2476
  0xe1,0xbc,0xb1,0xcc,0x80,0xe1,0xbc,0xb0,0xcc,0x81,0xe1,0xbc,0xb1,0xcc,0x81,0xe1,0xbc,0xb0,0xcd,0x82,0xe1,0xbc,0xb1,0xcd,0x82,0xce,0x99,0xcc,0x93,0xce,0x99,0xcc,
2477
  0x94,0xe1,0xbc,0xb8,0xcc,0x80,0xe1,0xbc,0xb9,0xcc,0x80,0xe1,0xbc,0xb8,0xcc,0x81,0xe1,0xbc,0xb9,0xcc,0x81,0xe1,0xbc,0xb8,0xcd,0x82,0xe1,0xbc,0xb9,0xcd,0x82,0xce,
2478
  0xbf,0xcc,0x93,0xce,0xbf,0xcc,0x94,0xe1,0xbd,0x80,0xcc,0x80,0xe1,0xbd,0x81,0xcc,0x80,0xe1,0xbd,0x80,0xcc,0x81,0xe1,0xbd,0x81,0xcc,0x81,0xce,0x9f,0xcc,0x93,0xce,
2479
  0x9f,0xcc,0x94,0xe1,0xbd,0x88,0xcc,0x80,0xe1,0xbd,0x89,0xcc,0x80,0xe1,0xbd,0x88,0xcc,0x81,0xe1,0xbd,0x89,0xcc,0x81,0xcf,0x85,0xcc,0x93,0xcf,0x85,0xcc,0x94,0xe1,
2480
  0xbd,0x90,0xcc,0x80,0xe1,0xbd,0x91,0xcc,0x80,0xe1,0xbd,0x90,0xcc,0x81,0xe1,0xbd,0x91,0xcc,0x81,0xe1,0xbd,0x90,0xcd,0x82,0xe1,0xbd,0x91,0xcd,0x82,0xce,0xa5,0xcc,
2481
  0x94,0xe1,0xbd,0x99,0xcc,0x80,0xe1,0xbd,0x99,0xcc,0x81,0xe1,0xbd,0x99,0xcd,0x82,0xcf,0x89,0xcc,0x93,0xcf,0x89,0xcc,0x94,0xe1,0xbd,0xa0,0xcc,0x80,0xe1,0xbd,0xa1,
2482
  0xcc,0x80,0xe1,0xbd,0xa0,0xcc,0x81,0xe1,0xbd,0xa1,0xcc,0x81,0xe1,0xbd,0xa0,0xcd,0x82,0xe1,0xbd,0xa1,0xcd,0x82,0xce,0xa9,0xcc,0x93,0xce,0xa9,0xcc,0x94,0xe1,0xbd,
2483
  0xa8,0xcc,0x80,0xe1,0xbd,0xa9,0xcc,0x80,0xe1,0xbd,0xa8,0xcc,0x81,0xe1,0xbd,0xa9,0xcc,0x81,0xe1,0xbd,0xa8,0xcd,0x82,0xe1,0xbd,0xa9,0xcd,0x82,0xce,0xb1,0xcc,0x80,
2484
  0xce,0xac,0xce,0xb5,0xcc,0x80,0xce,0xad,0xce,0xb7,0xcc,0x80,0xce,0xae,0xce,0xb9,0xcc,0x80,0xce,0xaf,0xce,0xbf,0xcc,0x80,0xcf,0x8c,0xcf,0x85,0xcc,0x80,0xcf,0x8d,
2485
  0xcf,0x89,0xcc,0x80,0xcf,0x8e,0xe1,0xbc,0x80,0xcd,0x85,0xe1,0xbc,0x81,0xcd,0x85,0xe1,0xbc,0x82,0xcd,0x85,0xe1,0xbc,0x83,0xcd,0x85,0xe1,0xbc,0x84,0xcd,0x85,0xe1,
2486
  0xbc,0x85,0xcd,0x85,0xe1,0xbc,0x86,0xcd,0x85,0xe1,0xbc,0x87,0xcd,0x85,0xe1,0xbc,0x88,0xcd,0x85,0xe1,0xbc,0x89,0xcd,0x85,0xe1,0xbc,0x8a,0xcd,0x85,0xe1,0xbc,0x8b,
2487
  0xcd,0x85,0xe1,0xbc,0x8c,0xcd,0x85,0xe1,0xbc,0x8d,0xcd,0x85,0xe1,0xbc,0x8e,0xcd,0x85,0xe1,0xbc,0x8f,0xcd,0x85,0xe1,0xbc,0xa0,0xcd,0x85,0xe1,0xbc,0xa1,0xcd,0x85,
2488
  0xe1,0xbc,0xa2,0xcd,0x85,0xe1,0xbc,0xa3,0xcd,0x85,0xe1,0xbc,0xa4,0xcd,0x85,0xe1,0xbc,0xa5,0xcd,0x85,0xe1,0xbc,0xa6,0xcd,0x85,0xe1,0xbc,0xa7,0xcd,0x85,0xe1,0xbc,
2489
  0xa8,0xcd,0x85,0xe1,0xbc,0xa9,0xcd,0x85,0xe1,0xbc,0xaa,0xcd,0x85,0xe1,0xbc,0xab,0xcd,0x85,0xe1,0xbc,0xac,0xcd,0x85,0xe1,0xbc,0xad,0xcd,0x85,0xe1,0xbc,0xae,0xcd,
2490
  0x85,0xe1,0xbc,0xaf,0xcd,0x85,0xe1,0xbd,0xa0,0xcd,0x85,0xe1,0xbd,0xa1,0xcd,0x85,0xe1,0xbd,0xa2,0xcd,0x85,0xe1,0xbd,0xa3,0xcd,0x85,0xe1,0xbd,0xa4,0xcd,0x85,0xe1,
2491
  0xbd,0xa5,0xcd,0x85,0xe1,0xbd,0xa6,0xcd,0x85,0xe1,0xbd,0xa7,0xcd,0x85,0xe1,0xbd,0xa8,0xcd,0x85,0xe1,0xbd,0xa9,0xcd,0x85,0xe1,0xbd,0xaa,0xcd,0x85,0xe1,0xbd,0xab,
2492
  0xcd,0x85,0xe1,0xbd,0xac,0xcd,0x85,0xe1,0xbd,0xad,0xcd,0x85,0xe1,0xbd,0xae,0xcd,0x85,0xe1,0xbd,0xaf,0xcd,0x85,0xce,0xb1,0xcc,0x86,0xce,0xb1,0xcc,0x84,0xe1,0xbd,
2493
  0xb0,0xcd,0x85,0xce,0xb1,0xcd,0x85,0xce,0xac,0xcd,0x85,0xce,0xb1,0xcd,0x82,0xe1,0xbe,0xb6,0xcd,0x85,0xce,0x91,0xcc,0x86,0xce,0x91,0xcc,0x84,0xce,0x91,0xcc,0x80,
2494
  0xce,0x86,0xce,0x91,0xcd,0x85,0x20,0xcc,0x93,0xce,0xb9,0x20,0xcc,0x93,0x20,0xcd,0x82,0xc2,0xa8,0xcd,0x82,0xe1,0xbd,0xb4,0xcd,0x85,0xce,0xb7,0xcd,0x85,0xce,0xae,
2495
  0xcd,0x85,0xce,0xb7,0xcd,0x82,0xe1,0xbf,0x86,0xcd,0x85,0xce,0x95,0xcc,0x80,0xce,0x88,0xce,0x97,0xcc,0x80,0xce,0x89,0xce,0x97,0xcd,0x85,0xe1,0xbe,0xbf,0xcc,0x80,
2496
  0xe1,0xbe,0xbf,0xcc,0x81,0xe1,0xbe,0xbf,0xcd,0x82,0xce,0xb9,0xcc,0x86,0xce,0xb9,0xcc,0x84,0xcf,0x8a,0xcc,0x80,0xce,0x90,0xce,0xb9,0xcd,0x82,0xcf,0x8a,0xcd,0x82,
2497
  0xce,0x99,0xcc,0x86,0xce,0x99,0xcc,0x84,0xce,0x99,0xcc,0x80,0xce,0x8a,0xe1,0xbf,0xbe,0xcc,0x80,0xe1,0xbf,0xbe,0xcc,0x81,0xe1,0xbf,0xbe,0xcd,0x82,0xcf,0x85,0xcc,
2498
  0x86,0xcf,0x85,0xcc,0x84,0xcf,0x8b,0xcc,0x80,0xce,0xb0,0xcf,0x81,0xcc,0x93,0xcf,0x81,0xcc,0x94,0xcf,0x85,0xcd,0x82,0xcf,0x8b,0xcd,0x82,0xce,0xa5,0xcc,0x86,0xce,
2499
  0xa5,0xcc,0x84,0xce,0xa5,0xcc,0x80,0xce,0x8e,0xce,0xa1,0xcc,0x94,0xc2,0xa8,0xcc,0x80,0xce,0x85,0x60,0xe1,0xbd,0xbc,0xcd,0x85,0xcf,0x89,0xcd,0x85,0xcf,0x8e,0xcd,
2500
  0x85,0xcf,0x89,0xcd,0x82,0xe1,0xbf,0xb6,0xcd,0x85,0xce,0x9f,0xcc,0x80,0xce,0x8c,0xce,0xa9,0xcc,0x80,0xce,0x8f,0xce,0xa9,0xcd,0x85,0xc2,0xb4,0x20,0xcc,0x94,0xe2,
2501
  0x80,0x82,0xe2,0x80,0x83,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x80,0x90,0x20,0xcc,0xb3,0x2e,0x2e,0x2e,0x2e,0x2e,0x2e,0x20,0xe2,0x80,0xb2,0xe2,0x80,
2502
  0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0xe2,0x80,0xb5,0x21,0x21,0x20,0xcc,0x85,0x3f,0x3f,
2503
  0x3f,0x21,0x21,0x3f,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0xe2,0x80,0xb2,0x20,0x30,0x69,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,
2504
  0x6e,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0xe2,0x88,0x92,0x3d,0x28,0x29,0x61,0x65,0x6f,0x78,0xc9,0x99,0x68,0x6b,0x6c,0x6d,0x6e,0x70,0x73,0x74,
2505
  0x52,0x73,0x61,0x2f,0x63,0x61,0x2f,0x73,0x43,0xc2,0xb0,0x43,0x63,0x2f,0x6f,0x63,0x2f,0x75,0xc6,0x90,0xc2,0xb0,0x46,0x67,0x48,0x48,0x48,0x68,0xc4,0xa7,0x49,0x49,
2506
  0x4c,0x6c,0x4e,0x4e,0x6f,0x50,0x51,0x52,0x52,0x52,0x53,0x4d,0x54,0x45,0x4c,0x54,0x4d,0x5a,0xce,0xa9,0x5a,0x4b,0xc3,0x85,0x42,0x43,0x65,0x45,0x46,0x4d,0x6f,0xd7,
2507
  0x90,0xd7,0x91,0xd7,0x92,0xd7,0x93,0x69,0x46,0x41,0x58,0xcf,0x80,0xce,0xb3,0xce,0x93,0xce,0xa0,0xe2,0x88,0x91,0x44,0x64,0x65,0x69,0x6a,0x31,0xe2,0x81,0x84,0x37,
2508
  0x31,0xe2,0x81,0x84,0x39,0x31,0xe2,0x81,0x84,0x31,0x30,0x31,0xe2,0x81,0x84,0x33,0x32,0xe2,0x81,0x84,0x33,0x31,0xe2,0x81,0x84,0x35,0x32,0xe2,0x81,0x84,0x35,0x33,
2509
  0xe2,0x81,0x84,0x35,0x34,0xe2,0x81,0x84,0x35,0x31,0xe2,0x81,0x84,0x36,0x35,0xe2,0x81,0x84,0x36,0x31,0xe2,0x81,0x84,0x38,0x33,0xe2,0x81,0x84,0x38,0x35,0xe2,0x81,
2510
  0x84,0x38,0x37,0xe2,0x81,0x84,0x38,0x31,0xe2,0x81,0x84,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x56,0x56,0x56,0x49,0x56,0x49,0x49,0x56,0x49,0x49,0x49,0x49,0x58,0x58,
2511
  0x58,0x49,0x58,0x49,0x49,0x4c,0x43,0x44,0x4d,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x76,0x76,0x76,0x69,0x76,0x69,0x69,0x76,0x69,0x69,0x69,0x69,0x78,0x78,0x78,0x69,
2512
  0x78,0x69,0x69,0x6c,0x63,0x64,0x6d,0x30,0xe2,0x81,0x84,0x33,0xe2,0x86,0x90,0xcc,0xb8,0xe2,0x86,0x92,0xcc,0xb8,0xe2,0x86,0x94,0xcc,0xb8,0xe2,0x87,0x90,0xcc,0xb8,
2513
  0xe2,0x87,0x94,0xcc,0xb8,0xe2,0x87,0x92,0xcc,0xb8,0xe2,0x88,0x83,0xcc,0xb8,0xe2,0x88,0x88,0xcc,0xb8,0xe2,0x88,0x8b,0xcc,0xb8,0xe2,0x88,0xa3,0xcc,0xb8,0xe2,0x88,
2514
  0xa5,0xcc,0xb8,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,0xae,0xe2,0x88,
2515
  0xae,0xe2,0x88,0xbc,0xcc,0xb8,0xe2,0x89,0x83,0xcc,0xb8,0xe2,0x89,0x85,0xcc,0xb8,0xe2,0x89,0x88,0xcc,0xb8,0x3d,0xcc,0xb8,0xe2,0x89,0xa1,0xcc,0xb8,0xe2,0x89,0x8d,
2516
  0xcc,0xb8,0x3c,0xcc,0xb8,0x3e,0xcc,0xb8,0xe2,0x89,0xa4,0xcc,0xb8,0xe2,0x89,0xa5,0xcc,0xb8,0xe2,0x89,0xb2,0xcc,0xb8,0xe2,0x89,0xb3,0xcc,0xb8,0xe2,0x89,0xb6,0xcc,
2517
  0xb8,0xe2,0x89,0xb7,0xcc,0xb8,0xe2,0x89,0xba,0xcc,0xb8,0xe2,0x89,0xbb,0xcc,0xb8,0xe2,0x8a,0x82,0xcc,0xb8,0xe2,0x8a,0x83,0xcc,0xb8,0xe2,0x8a,0x86,0xcc,0xb8,0xe2,
2518
  0x8a,0x87,0xcc,0xb8,0xe2,0x8a,0xa2,0xcc,0xb8,0xe2,0x8a,0xa8,0xcc,0xb8,0xe2,0x8a,0xa9,0xcc,0xb8,0xe2,0x8a,0xab,0xcc,0xb8,0xe2,0x89,0xbc,0xcc,0xb8,0xe2,0x89,0xbd,
2519
  0xcc,0xb8,0xe2,0x8a,0x91,0xcc,0xb8,0xe2,0x8a,0x92,0xcc,0xb8,0xe2,0x8a,0xb2,0xcc,0xb8,0xe2,0x8a,0xb3,0xcc,0xb8,0xe2,0x8a,0xb4,0xcc,0xb8,0xe2,0x8a,0xb5,0xcc,0xb8,
2520
  0xe3,0x80,0x88,0xe3,0x80,0x89,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x31,0x30,0x31,0x31,0x31,0x32,0x31,0x33,0x31,0x34,0x31,0x35,0x31,0x36,0x31,0x37,0x31,
2521
  0x38,0x31,0x39,0x32,0x30,0x28,0x31,0x29,0x28,0x32,0x29,0x28,0x33,0x29,0x28,0x34,0x29,0x28,0x35,0x29,0x28,0x36,0x29,0x28,0x37,0x29,0x28,0x38,0x29,0x28,0x39,0x29,
2522
  0x28,0x31,0x30,0x29,0x28,0x31,0x31,0x29,0x28,0x31,0x32,0x29,0x28,0x31,0x33,0x29,0x28,0x31,0x34,0x29,0x28,0x31,0x35,0x29,0x28,0x31,0x36,0x29,0x28,0x31,0x37,0x29,
2523
  0x28,0x31,0x38,0x29,0x28,0x31,0x39,0x29,0x28,0x32,0x30,0x29,0x31,0x2e,0x32,0x2e,0x33,0x2e,0x34,0x2e,0x35,0x2e,0x36,0x2e,0x37,0x2e,0x38,0x2e,0x39,0x2e,0x31,0x30,
2524
  0x2e,0x31,0x31,0x2e,0x31,0x32,0x2e,0x31,0x33,0x2e,0x31,0x34,0x2e,0x31,0x35,0x2e,0x31,0x36,0x2e,0x31,0x37,0x2e,0x31,0x38,0x2e,0x31,0x39,0x2e,0x32,0x30,0x2e,0x28,
2525
  0x61,0x29,0x28,0x62,0x29,0x28,0x63,0x29,0x28,0x64,0x29,0x28,0x65,0x29,0x28,0x66,0x29,0x28,0x67,0x29,0x28,0x68,0x29,0x28,0x69,0x29,0x28,0x6a,0x29,0x28,0x6b,0x29,
2526
  0x28,0x6c,0x29,0x28,0x6d,0x29,0x28,0x6e,0x29,0x28,0x6f,0x29,0x28,0x70,0x29,0x28,0x71,0x29,0x28,0x72,0x29,0x28,0x73,0x29,0x28,0x74,0x29,0x28,0x75,0x29,0x28,0x76,
2527
  0x29,0x28,0x77,0x29,0x28,0x78,0x29,0x28,0x79,0x29,0x28,0x7a,0x29,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,
2528
  0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,
2529
  0x7a,0x30,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0xe2,0x88,0xab,0x3a,0x3a,0x3d,0x3d,0x3d,0x3d,0x3d,0x3d,0xe2,0xab,0x9d,0xcc,0xb8,0x6a,0x56,0xe2,0xb5,0xa1,
2530
  0xe6,0xaf,0x8d,0xe9,0xbe,0x9f,0xe4,0xb8,0x80,0xe4,0xb8,0xa8,0xe4,0xb8,0xb6,0xe4,0xb8,0xbf,0xe4,0xb9,0x99,0xe4,0xba,0x85,0xe4,0xba,0x8c,0xe4,0xba,0xa0,0xe4,0xba,
2531
  0xba,0xe5,0x84,0xbf,0xe5,0x85,0xa5,0xe5,0x85,0xab,0xe5,0x86,0x82,0xe5,0x86,0x96,0xe5,0x86,0xab,0xe5,0x87,0xa0,0xe5,0x87,0xb5,0xe5,0x88,0x80,0xe5,0x8a,0x9b,0xe5,
2532
  0x8b,0xb9,0xe5,0x8c,0x95,0xe5,0x8c,0x9a,0xe5,0x8c,0xb8,0xe5,0x8d,0x81,0xe5,0x8d,0x9c,0xe5,0x8d,0xa9,0xe5,0x8e,0x82,0xe5,0x8e,0xb6,0xe5,0x8f,0x88,0xe5,0x8f,0xa3,
2533
  0xe5,0x9b,0x97,0xe5,0x9c,0x9f,0xe5,0xa3,0xab,0xe5,0xa4,0x82,0xe5,0xa4,0x8a,0xe5,0xa4,0x95,0xe5,0xa4,0xa7,0xe5,0xa5,0xb3,0xe5,0xad,0x90,0xe5,0xae,0x80,0xe5,0xaf,
2534
  0xb8,0xe5,0xb0,0x8f,0xe5,0xb0,0xa2,0xe5,0xb0,0xb8,0xe5,0xb1,0xae,0xe5,0xb1,0xb1,0xe5,0xb7,0x9b,0xe5,0xb7,0xa5,0xe5,0xb7,0xb1,0xe5,0xb7,0xbe,0xe5,0xb9,0xb2,0xe5,
2535
  0xb9,0xba,0xe5,0xb9,0xbf,0xe5,0xbb,0xb4,0xe5,0xbb,0xbe,0xe5,0xbc,0x8b,0xe5,0xbc,0x93,0xe5,0xbd,0x90,0xe5,0xbd,0xa1,0xe5,0xbd,0xb3,0xe5,0xbf,0x83,0xe6,0x88,0x88,
2536
  0xe6,0x88,0xb6,0xe6,0x89,0x8b,0xe6,0x94,0xaf,0xe6,0x94,0xb4,0xe6,0x96,0x87,0xe6,0x96,0x97,0xe6,0x96,0xa4,0xe6,0x96,0xb9,0xe6,0x97,0xa0,0xe6,0x97,0xa5,0xe6,0x9b,
2537
  0xb0,0xe6,0x9c,0x88,0xe6,0x9c,0xa8,0xe6,0xac,0xa0,0xe6,0xad,0xa2,0xe6,0xad,0xb9,0xe6,0xae,0xb3,0xe6,0xaf,0x8b,0xe6,0xaf,0x94,0xe6,0xaf,0x9b,0xe6,0xb0,0x8f,0xe6,
2538
  0xb0,0x94,0xe6,0xb0,0xb4,0xe7,0x81,0xab,0xe7,0x88,0xaa,0xe7,0x88,0xb6,0xe7,0x88,0xbb,0xe7,0x88,0xbf,0xe7,0x89,0x87,0xe7,0x89,0x99,0xe7,0x89,0x9b,0xe7,0x8a,0xac,
2539
  0xe7,0x8e,0x84,0xe7,0x8e,0x89,0xe7,0x93,0x9c,0xe7,0x93,0xa6,0xe7,0x94,0x98,0xe7,0x94,0x9f,0xe7,0x94,0xa8,0xe7,0x94,0xb0,0xe7,0x96,0x8b,0xe7,0x96,0x92,0xe7,0x99,
2540
  0xb6,0xe7,0x99,0xbd,0xe7,0x9a,0xae,0xe7,0x9a,0xbf,0xe7,0x9b,0xae,0xe7,0x9f,0x9b,0xe7,0x9f,0xa2,0xe7,0x9f,0xb3,0xe7,0xa4,0xba,0xe7,0xa6,0xb8,0xe7,0xa6,0xbe,0xe7,
2541
  0xa9,0xb4,0xe7,0xab,0x8b,0xe7,0xab,0xb9,0xe7,0xb1,0xb3,0xe7,0xb3,0xb8,0xe7,0xbc,0xb6,0xe7,0xbd,0x91,0xe7,0xbe,0x8a,0xe7,0xbe,0xbd,0xe8,0x80,0x81,0xe8,0x80,0x8c,
2542
  0xe8,0x80,0x92,0xe8,0x80,0xb3,0xe8,0x81,0xbf,0xe8,0x82,0x89,0xe8,0x87,0xa3,0xe8,0x87,0xaa,0xe8,0x87,0xb3,0xe8,0x87,0xbc,0xe8,0x88,0x8c,0xe8,0x88,0x9b,0xe8,0x88,
2543
  0x9f,0xe8,0x89,0xae,0xe8,0x89,0xb2,0xe8,0x89,0xb8,0xe8,0x99,0x8d,0xe8,0x99,0xab,0xe8,0xa1,0x80,0xe8,0xa1,0x8c,0xe8,0xa1,0xa3,0xe8,0xa5,0xbe,0xe8,0xa6,0x8b,0xe8,
2544
  0xa7,0x92,0xe8,0xa8,0x80,0xe8,0xb0,0xb7,0xe8,0xb1,0x86,0xe8,0xb1,0x95,0xe8,0xb1,0xb8,0xe8,0xb2,0x9d,0xe8,0xb5,0xa4,0xe8,0xb5,0xb0,0xe8,0xb6,0xb3,0xe8,0xba,0xab,
2545
  0xe8,0xbb,0x8a,0xe8,0xbe,0x9b,0xe8,0xbe,0xb0,0xe8,0xbe,0xb5,0xe9,0x82,0x91,0xe9,0x85,0x89,0xe9,0x87,0x86,0xe9,0x87,0x8c,0xe9,0x87,0x91,0xe9,0x95,0xb7,0xe9,0x96,
2546
  0x80,0xe9,0x98,0x9c,0xe9,0x9a,0xb6,0xe9,0x9a,0xb9,0xe9,0x9b,0xa8,0xe9,0x9d,0x91,0xe9,0x9d,0x9e,0xe9,0x9d,0xa2,0xe9,0x9d,0xa9,0xe9,0x9f,0x8b,0xe9,0x9f,0xad,0xe9,
2547
  0x9f,0xb3,0xe9,0xa0,0x81,0xe9,0xa2,0xa8,0xe9,0xa3,0x9b,0xe9,0xa3,0x9f,0xe9,0xa6,0x96,0xe9,0xa6,0x99,0xe9,0xa6,0xac,0xe9,0xaa,0xa8,0xe9,0xab,0x98,0xe9,0xab,0x9f,
2548
  0xe9,0xac,0xa5,0xe9,0xac,0xaf,0xe9,0xac,0xb2,0xe9,0xac,0xbc,0xe9,0xad,0x9a,0xe9,0xb3,0xa5,0xe9,0xb9,0xb5,0xe9,0xb9,0xbf,0xe9,0xba,0xa5,0xe9,0xba,0xbb,0xe9,0xbb,
2549
  0x83,0xe9,0xbb,0x8d,0xe9,0xbb,0x91,0xe9,0xbb,0xb9,0xe9,0xbb,0xbd,0xe9,0xbc,0x8e,0xe9,0xbc,0x93,0xe9,0xbc,0xa0,0xe9,0xbc,0xbb,0xe9,0xbd,0x8a,0xe9,0xbd,0x92,0xe9,
2550
  0xbe,0x8d,0xe9,0xbe,0x9c,0xe9,0xbe,0xa0,0x20,0xe3,0x80,0x92,0xe5,0x8d,0x81,0xe5,0x8d,0x84,0xe5,0x8d,0x85,0xe3,0x81,0x8b,0xe3,0x82,0x99,0xe3,0x81,0x8d,0xe3,0x82,
2551
  0x99,0xe3,0x81,0x8f,0xe3,0x82,0x99,0xe3,0x81,0x91,0xe3,0x82,0x99,0xe3,0x81,0x93,0xe3,0x82,0x99,0xe3,0x81,0x95,0xe3,0x82,0x99,0xe3,0x81,0x97,0xe3,0x82,0x99,0xe3,
2552
  0x81,0x99,0xe3,0x82,0x99,0xe3,0x81,0x9b,0xe3,0x82,0x99,0xe3,0x81,0x9d,0xe3,0x82,0x99,0xe3,0x81,0x9f,0xe3,0x82,0x99,0xe3,0x81,0xa1,0xe3,0x82,0x99,0xe3,0x81,0xa4,
2553
  0xe3,0x82,0x99,0xe3,0x81,0xa6,0xe3,0x82,0x99,0xe3,0x81,0xa8,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x99,0xe3,0x81,0xaf,0xe3,0x82,0x9a,0xe3,0x81,0xb2,0xe3,0x82,
2554
  0x99,0xe3,0x81,0xb2,0xe3,0x82,0x9a,0xe3,0x81,0xb5,0xe3,0x82,0x99,0xe3,0x81,0xb5,0xe3,0x82,0x9a,0xe3,0x81,0xb8,0xe3,0x82,0x99,0xe3,0x81,0xb8,0xe3,0x82,0x9a,0xe3,
2555
  0x81,0xbb,0xe3,0x82,0x99,0xe3,0x81,0xbb,0xe3,0x82,0x9a,0xe3,0x81,0x86,0xe3,0x82,0x99,0x20,0xe3,0x82,0x99,0x20,0xe3,0x82,0x9a,0xe3,0x82,0x9d,0xe3,0x82,0x99,0xe3,
2556
  0x82,0x88,0xe3,0x82,0x8a,0xe3,0x82,0xab,0xe3,0x82,0x99,0xe3,0x82,0xad,0xe3,0x82,0x99,0xe3,0x82,0xaf,0xe3,0x82,0x99,0xe3,0x82,0xb1,0xe3,0x82,0x99,0xe3,0x82,0xb3,
2557
  0xe3,0x82,0x99,0xe3,0x82,0xb5,0xe3,0x82,0x99,0xe3,0x82,0xb7,0xe3,0x82,0x99,0xe3,0x82,0xb9,0xe3,0x82,0x99,0xe3,0x82,0xbb,0xe3,0x82,0x99,0xe3,0x82,0xbd,0xe3,0x82,
2558
  0x99,0xe3,0x82,0xbf,0xe3,0x82,0x99,0xe3,0x83,0x81,0xe3,0x82,0x99,0xe3,0x83,0x84,0xe3,0x82,0x99,0xe3,0x83,0x86,0xe3,0x82,0x99,0xe3,0x83,0x88,0xe3,0x82,0x99,0xe3,
2559
  0x83,0x8f,0xe3,0x82,0x99,0xe3,0x83,0x8f,0xe3,0x82,0x9a,0xe3,0x83,0x92,0xe3,0x82,0x99,0xe3,0x83,0x92,0xe3,0x82,0x9a,0xe3,0x83,0x95,0xe3,0x82,0x99,0xe3,0x83,0x95,
2560
  0xe3,0x82,0x9a,0xe3,0x83,0x98,0xe3,0x82,0x99,0xe3,0x83,0x98,0xe3,0x82,0x9a,0xe3,0x83,0x9b,0xe3,0x82,0x99,0xe3,0x83,0x9b,0xe3,0x82,0x9a,0xe3,0x82,0xa6,0xe3,0x82,
2561
  0x99,0xe3,0x83,0xaf,0xe3,0x82,0x99,0xe3,0x83,0xb0,0xe3,0x82,0x99,0xe3,0x83,0xb1,0xe3,0x82,0x99,0xe3,0x83,0xb2,0xe3,0x82,0x99,0xe3,0x83,0xbd,0xe3,0x82,0x99,0xe3,
2562
  0x82,0xb3,0xe3,0x83,0x88,0xe1,0x84,0x80,0xe1,0x84,0x81,0xe1,0x86,0xaa,0xe1,0x84,0x82,0xe1,0x86,0xac,0xe1,0x86,0xad,0xe1,0x84,0x83,0xe1,0x84,0x84,0xe1,0x84,0x85,
2563
  0xe1,0x86,0xb0,0xe1,0x86,0xb1,0xe1,0x86,0xb2,0xe1,0x86,0xb3,0xe1,0x86,0xb4,0xe1,0x86,0xb5,0xe1,0x84,0x9a,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x88,0xe1,0x84,
2564
  0xa1,0xe1,0x84,0x89,0xe1,0x84,0x8a,0xe1,0x84,0x8b,0xe1,0x84,0x8c,0xe1,0x84,0x8d,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,
2565
  0x85,0xa1,0xe1,0x85,0xa2,0xe1,0x85,0xa3,0xe1,0x85,0xa4,0xe1,0x85,0xa5,0xe1,0x85,0xa6,0xe1,0x85,0xa7,0xe1,0x85,0xa8,0xe1,0x85,0xa9,0xe1,0x85,0xaa,0xe1,0x85,0xab,
2566
  0xe1,0x85,0xac,0xe1,0x85,0xad,0xe1,0x85,0xae,0xe1,0x85,0xaf,0xe1,0x85,0xb0,0xe1,0x85,0xb1,0xe1,0x85,0xb2,0xe1,0x85,0xb3,0xe1,0x85,0xb4,0xe1,0x85,0xb5,0xe1,0x85,
2567
  0xa0,0xe1,0x84,0x94,0xe1,0x84,0x95,0xe1,0x87,0x87,0xe1,0x87,0x88,0xe1,0x87,0x8c,0xe1,0x87,0x8e,0xe1,0x87,0x93,0xe1,0x87,0x97,0xe1,0x87,0x99,0xe1,0x84,0x9c,0xe1,
2568
  0x87,0x9d,0xe1,0x87,0x9f,0xe1,0x84,0x9d,0xe1,0x84,0x9e,0xe1,0x84,0xa0,0xe1,0x84,0xa2,0xe1,0x84,0xa3,0xe1,0x84,0xa7,0xe1,0x84,0xa9,0xe1,0x84,0xab,0xe1,0x84,0xac,
2569
  0xe1,0x84,0xad,0xe1,0x84,0xae,0xe1,0x84,0xaf,0xe1,0x84,0xb2,0xe1,0x84,0xb6,0xe1,0x85,0x80,0xe1,0x85,0x87,0xe1,0x85,0x8c,0xe1,0x87,0xb1,0xe1,0x87,0xb2,0xe1,0x85,
2570
  0x97,0xe1,0x85,0x98,0xe1,0x85,0x99,0xe1,0x86,0x84,0xe1,0x86,0x85,0xe1,0x86,0x88,0xe1,0x86,0x91,0xe1,0x86,0x92,0xe1,0x86,0x94,0xe1,0x86,0x9e,0xe1,0x86,0xa1,0xe4,
2571
  0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe7,0x94,0xb2,0xe4,0xb9,0x99,0xe4,0xb8,0x99,0xe4,0xb8,0x81,
2572
  0xe5,0xa4,0xa9,0xe5,0x9c,0xb0,0xe4,0xba,0xba,0x28,0xe1,0x84,0x80,0x29,0x28,0xe1,0x84,0x82,0x29,0x28,0xe1,0x84,0x83,0x29,0x28,0xe1,0x84,0x85,0x29,0x28,0xe1,0x84,
2573
  0x86,0x29,0x28,0xe1,0x84,0x87,0x29,0x28,0xe1,0x84,0x89,0x29,0x28,0xe1,0x84,0x8b,0x29,0x28,0xe1,0x84,0x8c,0x29,0x28,0xe1,0x84,0x8e,0x29,0x28,0xe1,0x84,0x8f,0x29,
2574
  0x28,0xe1,0x84,0x90,0x29,0x28,0xe1,0x84,0x91,0x29,0x28,0xe1,0x84,0x92,0x29,0x28,0xe1,0x84,0x80,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x82,0xe1,0x85,0xa1,0x29,0x28,
2575
  0xe1,0x84,0x83,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x85,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x86,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x87,0xe1,0x85,0xa1,0x29,0x28,
2576
  0xe1,0x84,0x89,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0x29,0x28,
2577
  0xe1,0x84,0x8f,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x90,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x91,0xe1,0x85,0xa1,0x29,0x28,0xe1,0x84,0x92,0xe1,0x85,0xa1,0x29,0x28,
2578
  0xe1,0x84,0x8c,0xe1,0x85,0xae,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xa5,0xe1,0x86,0xab,0x29,0x28,0xe1,0x84,0x8b,0xe1,0x85,0xa9,0xe1,
2579
  0x84,0x92,0xe1,0x85,0xae,0x29,0x28,0xe4,0xb8,0x80,0x29,0x28,0xe4,0xba,0x8c,0x29,0x28,0xe4,0xb8,0x89,0x29,0x28,0xe5,0x9b,0x9b,0x29,0x28,0xe4,0xba,0x94,0x29,0x28,
2580
  0xe5,0x85,0xad,0x29,0x28,0xe4,0xb8,0x83,0x29,0x28,0xe5,0x85,0xab,0x29,0x28,0xe4,0xb9,0x9d,0x29,0x28,0xe5,0x8d,0x81,0x29,0x28,0xe6,0x9c,0x88,0x29,0x28,0xe7,0x81,
2581
  0xab,0x29,0x28,0xe6,0xb0,0xb4,0x29,0x28,0xe6,0x9c,0xa8,0x29,0x28,0xe9,0x87,0x91,0x29,0x28,0xe5,0x9c,0x9f,0x29,0x28,0xe6,0x97,0xa5,0x29,0x28,0xe6,0xa0,0xaa,0x29,
2582
  0x28,0xe6,0x9c,0x89,0x29,0x28,0xe7,0xa4,0xbe,0x29,0x28,0xe5,0x90,0x8d,0x29,0x28,0xe7,0x89,0xb9,0x29,0x28,0xe8,0xb2,0xa1,0x29,0x28,0xe7,0xa5,0x9d,0x29,0x28,0xe5,
2583
  0x8a,0xb4,0x29,0x28,0xe4,0xbb,0xa3,0x29,0x28,0xe5,0x91,0xbc,0x29,0x28,0xe5,0xad,0xa6,0x29,0x28,0xe7,0x9b,0xa3,0x29,0x28,0xe4,0xbc,0x81,0x29,0x28,0xe8,0xb3,0x87,
2584
  0x29,0x28,0xe5,0x8d,0x94,0x29,0x28,0xe7,0xa5,0xad,0x29,0x28,0xe4,0xbc,0x91,0x29,0x28,0xe8,0x87,0xaa,0x29,0x28,0xe8,0x87,0xb3,0x29,0xe5,0x95,0x8f,0xe5,0xb9,0xbc,
2585
  0xe6,0x96,0x87,0xe7,0xae,0x8f,0x50,0x54,0x45,0x32,0x31,0x32,0x32,0x32,0x33,0x32,0x34,0x32,0x35,0x32,0x36,0x32,0x37,0x32,0x38,0x32,0x39,0x33,0x30,0x33,0x31,0x33,
2586
  0x32,0x33,0x33,0x33,0x34,0x33,0x35,0xe1,0x84,0x80,0xe1,0x84,0x82,0xe1,0x84,0x83,0xe1,0x84,0x85,0xe1,0x84,0x86,0xe1,0x84,0x87,0xe1,0x84,0x89,0xe1,0x84,0x8b,0xe1,
2587
  0x84,0x8c,0xe1,0x84,0x8e,0xe1,0x84,0x8f,0xe1,0x84,0x90,0xe1,0x84,0x91,0xe1,0x84,0x92,0xe1,0x84,0x80,0xe1,0x85,0xa1,0xe1,0x84,0x82,0xe1,0x85,0xa1,0xe1,0x84,0x83,
2588
  0xe1,0x85,0xa1,0xe1,0x84,0x85,0xe1,0x85,0xa1,0xe1,0x84,0x86,0xe1,0x85,0xa1,0xe1,0x84,0x87,0xe1,0x85,0xa1,0xe1,0x84,0x89,0xe1,0x85,0xa1,0xe1,0x84,0x8b,0xe1,0x85,
2589
  0xa1,0xe1,0x84,0x8c,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x84,0x8f,0xe1,0x85,0xa1,0xe1,0x84,0x90,0xe1,0x85,0xa1,0xe1,0x84,0x91,0xe1,0x85,0xa1,0xe1,
2590
  0x84,0x92,0xe1,0x85,0xa1,0xe1,0x84,0x8e,0xe1,0x85,0xa1,0xe1,0x86,0xb7,0xe1,0x84,0x80,0xe1,0x85,0xa9,0xe1,0x84,0x8c,0xe1,0x85,0xae,0xe1,0x84,0x8b,0xe1,0x85,0xb4,
2591
  0xe1,0x84,0x8b,0xe1,0x85,0xae,0xe4,0xb8,0x80,0xe4,0xba,0x8c,0xe4,0xb8,0x89,0xe5,0x9b,0x9b,0xe4,0xba,0x94,0xe5,0x85,0xad,0xe4,0xb8,0x83,0xe5,0x85,0xab,0xe4,0xb9,
2592
  0x9d,0xe5,0x8d,0x81,0xe6,0x9c,0x88,0xe7,0x81,0xab,0xe6,0xb0,0xb4,0xe6,0x9c,0xa8,0xe9,0x87,0x91,0xe5,0x9c,0x9f,0xe6,0x97,0xa5,0xe6,0xa0,0xaa,0xe6,0x9c,0x89,0xe7,
2593
  0xa4,0xbe,0xe5,0x90,0x8d,0xe7,0x89,0xb9,0xe8,0xb2,0xa1,0xe7,0xa5,0x9d,0xe5,0x8a,0xb4,0xe7,0xa7,0x98,0xe7,0x94,0xb7,0xe5,0xa5,0xb3,0xe9,0x81,0xa9,0xe5,0x84,0xaa,
2594
  0xe5,0x8d,0xb0,0xe6,0xb3,0xa8,0xe9,0xa0,0x85,0xe4,0xbc,0x91,0xe5,0x86,0x99,0xe6,0xad,0xa3,0xe4,0xb8,0x8a,0xe4,0xb8,0xad,0xe4,0xb8,0x8b,0xe5,0xb7,0xa6,0xe5,0x8f,
2595
  0xb3,0xe5,0x8c,0xbb,0xe5,0xae,0x97,0xe5,0xad,0xa6,0xe7,0x9b,0xa3,0xe4,0xbc,0x81,0xe8,0xb3,0x87,0xe5,0x8d,0x94,0xe5,0xa4,0x9c,0x33,0x36,0x33,0x37,0x33,0x38,0x33,
2596
  0x39,0x34,0x30,0x34,0x31,0x34,0x32,0x34,0x33,0x34,0x34,0x34,0x35,0x34,0x36,0x34,0x37,0x34,0x38,0x34,0x39,0x35,0x30,0x31,0xe6,0x9c,0x88,0x32,0xe6,0x9c,0x88,0x33,
2597
  0xe6,0x9c,0x88,0x34,0xe6,0x9c,0x88,0x35,0xe6,0x9c,0x88,0x36,0xe6,0x9c,0x88,0x37,0xe6,0x9c,0x88,0x38,0xe6,0x9c,0x88,0x39,0xe6,0x9c,0x88,0x31,0x30,0xe6,0x9c,0x88,
2598
  0x31,0x31,0xe6,0x9c,0x88,0x31,0x32,0xe6,0x9c,0x88,0x48,0x67,0x65,0x72,0x67,0x65,0x56,0x4c,0x54,0x44,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,
2599
  0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,
2600
  0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,
2601
  0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,
2602
  0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb0,0xe3,0x83,0xb1,0xe3,0x83,
2603
  0xb2,0xe4,0xbb,0xa4,0xe5,0x92,0x8c,0xe3,0x82,0xa2,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x82,0xa2,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,
2604
  0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0x9a,0xe3,0x82,0xa2,0xe3,0x82,0xa2,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x82,0xa4,0xe3,0x83,0x8b,0xe3,0x83,0xb3,0xe3,0x82,0xb0,
2605
  0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xa6,0xe3,0x82,0xa9,0xe3,0x83,0xb3,0xe3,0x82,0xa8,0xe3,0x82,0xb9,0xe3,0x82,0xaf,0xe3,0x83,0xbc,0xe3,0x83,
2606
  0x89,0xe3,0x82,0xa8,0xe3,0x83,0xbc,0xe3,0x82,0xab,0xe3,0x83,0xbc,0xe3,0x82,0xaa,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x82,0xaa,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,
2607
  0x82,0xab,0xe3,0x82,0xa4,0xe3,0x83,0xaa,0xe3,0x82,0xab,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xab,0xe3,0x83,0xad,0xe3,0x83,0xaa,0xe3,0x83,0xbc,
2608
  0xe3,0x82,0xac,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x82,0xac,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,0x82,0xae,0xe3,0x82,0xac,0xe3,0x82,0xae,0xe3,0x83,0x8b,0xe3,0x83,
2609
  0xbc,0xe3,0x82,0xad,0xe3,0x83,0xa5,0xe3,0x83,0xaa,0xe3,0x83,0xbc,0xe3,0x82,0xae,0xe3,0x83,0xab,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,
2610
  0x82,0xad,0xe3,0x83,0xad,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,
2611
  0xe3,0x82,0xad,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,0xa0,0xe3,0x82,0xb0,0xe3,0x83,0xa9,0xe3,0x83,
2612
  0xa0,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xbc,0xe3,0x82,0xa4,0xe3,0x83,0xad,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xbc,0xe3,
2613
  0x83,0x8d,0xe3,0x82,0xb1,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,0x82,0xb3,0xe3,0x83,0xab,0xe3,0x83,0x8a,0xe3,0x82,0xb3,0xe3,0x83,0xbc,0xe3,0x83,0x9d,0xe3,0x82,0xb5,
2614
  0xe3,0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xab,0xe3,0x82,0xb5,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x83,0xbc,0xe3,0x83,0xa0,0xe3,0x82,0xb7,0xe3,0x83,0xaa,0xe3,0x83,
2615
  0xb3,0xe3,0x82,0xb0,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x81,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x80,0xe3,0x83,0xbc,0xe3,0x82,0xb9,0xe3,
2616
  0x83,0x87,0xe3,0x82,0xb7,0xe3,0x83,0x89,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0x8a,0xe3,0x83,0x8e,0xe3,0x83,0x8e,0xe3,0x83,0x83,0xe3,0x83,0x88,
2617
  0xe3,0x83,0x8f,0xe3,0x82,0xa4,0xe3,0x83,0x84,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x82,0xbb,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x91,0xe3,0x83,0xbc,0xe3,0x83,
2618
  0x84,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xac,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xa2,0xe3,0x82,0xb9,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,
2619
  0x82,0xaf,0xe3,0x83,0xab,0xe3,0x83,0x94,0xe3,0x82,0xb3,0xe3,0x83,0x93,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x82,0xa1,0xe3,0x83,0xa9,0xe3,0x83,0x83,0xe3,0x83,0x89,
2620
  0xe3,0x83,0x95,0xe3,0x82,0xa3,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0x96,0xe3,0x83,0x83,0xe3,0x82,0xb7,0xe3,0x82,0xa7,0xe3,0x83,0xab,0xe3,0x83,0x95,0xe3,0x83,
2621
  0xa9,0xe3,0x83,0xb3,0xe3,0x83,0x98,0xe3,0x82,0xaf,0xe3,0x82,0xbf,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9a,0xe3,0x82,0xbd,0xe3,0x83,0x9a,0xe3,0x83,0x8b,0xe3,
2622
  0x83,0x92,0xe3,0x83,0x98,0xe3,0x83,0xab,0xe3,0x83,0x84,0xe3,0x83,0x9a,0xe3,0x83,0xb3,0xe3,0x82,0xb9,0xe3,0x83,0x9a,0xe3,0x83,0xbc,0xe3,0x82,0xb8,0xe3,0x83,0x99,
2623
  0xe3,0x83,0xbc,0xe3,0x82,0xbf,0xe3,0x83,0x9d,0xe3,0x82,0xa4,0xe3,0x83,0xb3,0xe3,0x83,0x88,0xe3,0x83,0x9c,0xe3,0x83,0xab,0xe3,0x83,0x88,0xe3,0x83,0x9b,0xe3,0x83,
2624
  0xb3,0xe3,0x83,0x9d,0xe3,0x83,0xb3,0xe3,0x83,0x89,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0x9b,0xe3,0x83,0xbc,0xe3,0x83,0xb3,0xe3,0x83,0x9e,0xe3,
2625
  0x82,0xa4,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0x9e,0xe3,0x82,0xa4,0xe3,0x83,0xab,0xe3,0x83,0x9e,0xe3,0x83,0x83,0xe3,0x83,0x8f,0xe3,0x83,0x9e,0xe3,0x83,0xab,
2626
  0xe3,0x82,0xaf,0xe3,0x83,0x9e,0xe3,0x83,0xb3,0xe3,0x82,0xb7,0xe3,0x83,0xa7,0xe3,0x83,0xb3,0xe3,0x83,0x9f,0xe3,0x82,0xaf,0xe3,0x83,0xad,0xe3,0x83,0xb3,0xe3,0x83,
2627
  0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x9f,0xe3,0x83,0xaa,0xe3,0x83,0x90,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,0x83,0xa1,0xe3,0x82,0xac,0xe3,
2628
  0x83,0x88,0xe3,0x83,0xb3,0xe3,0x83,0xa1,0xe3,0x83,0xbc,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xa4,0xe3,0x83,0xbc,0xe3,0x83,0x89,0xe3,0x83,0xa4,0xe3,0x83,0xbc,
2629
  0xe3,0x83,0xab,0xe3,0x83,0xa6,0xe3,0x82,0xa2,0xe3,0x83,0xb3,0xe3,0x83,0xaa,0xe3,0x83,0x83,0xe3,0x83,0x88,0xe3,0x83,0xab,0xe3,0x83,0xaa,0xe3,0x83,0xa9,0xe3,0x83,
2630
  0xab,0xe3,0x83,0x94,0xe3,0x83,0xbc,0xe3,0x83,0xab,0xe3,0x83,0xbc,0xe3,0x83,0x96,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xa0,0xe3,0x83,0xac,0xe3,0x83,0xb3,0xe3,
2631
  0x83,0x88,0xe3,0x82,0xb2,0xe3,0x83,0xb3,0xe3,0x83,0xaf,0xe3,0x83,0x83,0xe3,0x83,0x88,0x30,0xe7,0x82,0xb9,0x31,0xe7,0x82,0xb9,0x32,0xe7,0x82,0xb9,0x33,0xe7,0x82,
2632
  0xb9,0x34,0xe7,0x82,0xb9,0x35,0xe7,0x82,0xb9,0x36,0xe7,0x82,0xb9,0x37,0xe7,0x82,0xb9,0x38,0xe7,0x82,0xb9,0x39,0xe7,0x82,0xb9,0x31,0x30,0xe7,0x82,0xb9,0x31,0x31,
2633
  0xe7,0x82,0xb9,0x31,0x32,0xe7,0x82,0xb9,0x31,0x33,0xe7,0x82,0xb9,0x31,0x34,0xe7,0x82,0xb9,0x31,0x35,0xe7,0x82,0xb9,0x31,0x36,0xe7,0x82,0xb9,0x31,0x37,0xe7,0x82,
2634
  0xb9,0x31,0x38,0xe7,0x82,0xb9,0x31,0x39,0xe7,0x82,0xb9,0x32,0x30,0xe7,0x82,0xb9,0x32,0x31,0xe7,0x82,0xb9,0x32,0x32,0xe7,0x82,0xb9,0x32,0x33,0xe7,0x82,0xb9,0x32,
2635
  0x34,0xe7,0x82,0xb9,0x68,0x50,0x61,0x64,0x61,0x41,0x55,0x62,0x61,0x72,0x6f,0x56,0x70,0x63,0x64,0x6d,0x64,0x6d,0xc2,0xb2,0x64,0x6d,0xc2,0xb3,0x49,0x55,0xe5,0xb9,
2636
  0xb3,0xe6,0x88,0x90,0xe6,0x98,0xad,0xe5,0x92,0x8c,0xe5,0xa4,0xa7,0xe6,0xad,0xa3,0xe6,0x98,0x8e,0xe6,0xb2,0xbb,0xe6,0xa0,0xaa,0xe5,0xbc,0x8f,0xe4,0xbc,0x9a,0xe7,
2637
  0xa4,0xbe,0x70,0x41,0x6e,0x41,0xce,0xbc,0x41,0x6d,0x41,0x6b,0x41,0x4b,0x42,0x4d,0x42,0x47,0x42,0x63,0x61,0x6c,0x6b,0x63,0x61,0x6c,0x70,0x46,0x6e,0x46,0xce,0xbc,
2638
  0x46,0xce,0xbc,0x67,0x6d,0x67,0x6b,0x67,0x48,0x7a,0x6b,0x48,0x7a,0x4d,0x48,0x7a,0x47,0x48,0x7a,0x54,0x48,0x7a,0xce,0xbc,0xe2,0x84,0x93,0x6d,0xe2,0x84,0x93,0x64,
2639
  0xe2,0x84,0x93,0x6b,0xe2,0x84,0x93,0x66,0x6d,0x6e,0x6d,0xce,0xbc,0x6d,0x6d,0x6d,0x63,0x6d,0x6b,0x6d,0x6d,0x6d,0xc2,0xb2,0x63,0x6d,0xc2,0xb2,0x6d,0xc2,0xb2,0x6b,
2640
  0x6d,0xc2,0xb2,0x6d,0x6d,0xc2,0xb3,0x63,0x6d,0xc2,0xb3,0x6d,0xc2,0xb3,0x6b,0x6d,0xc2,0xb3,0x6d,0xe2,0x88,0x95,0x73,0x6d,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x50,0x61,
2641
  0x6b,0x50,0x61,0x4d,0x50,0x61,0x47,0x50,0x61,0x72,0x61,0x64,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0x72,0x61,0x64,0xe2,0x88,0x95,0x73,0xc2,0xb2,0x70,0x73,0x6e,0x73,
2642
  0xce,0xbc,0x73,0x6d,0x73,0x70,0x56,0x6e,0x56,0xce,0xbc,0x56,0x6d,0x56,0x6b,0x56,0x4d,0x56,0x70,0x57,0x6e,0x57,0xce,0xbc,0x57,0x6d,0x57,0x6b,0x57,0x4d,0x57,0x6b,
2643
  0xce,0xa9,0x4d,0xce,0xa9,0x61,0x2e,0x6d,0x2e,0x42,0x71,0x63,0x63,0x63,0x64,0x43,0xe2,0x88,0x95,0x6b,0x67,0x43,0x6f,0x2e,0x64,0x42,0x47,0x79,0x68,0x61,0x48,0x50,
2644
  0x69,0x6e,0x4b,0x4b,0x4b,0x4d,0x6b,0x74,0x6c,0x6d,0x6c,0x6e,0x6c,0x6f,0x67,0x6c,0x78,0x6d,0x62,0x6d,0x69,0x6c,0x6d,0x6f,0x6c,0x50,0x48,0x70,0x2e,0x6d,0x2e,0x50,
2645
  0x50,0x4d,0x50,0x52,0x73,0x72,0x53,0x76,0x57,0x62,0x56,0xe2,0x88,0x95,0x6d,0x41,0xe2,0x88,0x95,0x6d,0x31,0xe6,0x97,0xa5,0x32,0xe6,0x97,0xa5,0x33,0xe6,0x97,0xa5,
2646
  0x34,0xe6,0x97,0xa5,0x35,0xe6,0x97,0xa5,0x36,0xe6,0x97,0xa5,0x37,0xe6,0x97,0xa5,0x38,0xe6,0x97,0xa5,0x39,0xe6,0x97,0xa5,0x31,0x30,0xe6,0x97,0xa5,0x31,0x31,0xe6,
2647
  0x97,0xa5,0x31,0x32,0xe6,0x97,0xa5,0x31,0x33,0xe6,0x97,0xa5,0x31,0x34,0xe6,0x97,0xa5,0x31,0x35,0xe6,0x97,0xa5,0x31,0x36,0xe6,0x97,0xa5,0x31,0x37,0xe6,0x97,0xa5,
2648
  0x31,0x38,0xe6,0x97,0xa5,0x31,0x39,0xe6,0x97,0xa5,0x32,0x30,0xe6,0x97,0xa5,0x32,0x31,0xe6,0x97,0xa5,0x32,0x32,0xe6,0x97,0xa5,0x32,0x33,0xe6,0x97,0xa5,0x32,0x34,
2649
  0xe6,0x97,0xa5,0x32,0x35,0xe6,0x97,0xa5,0x32,0x36,0xe6,0x97,0xa5,0x32,0x37,0xe6,0x97,0xa5,0x32,0x38,0xe6,0x97,0xa5,0x32,0x39,0xe6,0x97,0xa5,0x33,0x30,0xe6,0x97,
2650
  0xa5,0x33,0x31,0xe6,0x97,0xa5,0x67,0x61,0x6c,0xd1,0x8a,0xd1,0x8c,0xea,0x9d,0xaf,0x43,0x46,0x51,0xc4,0xa6,0xc5,0x93,0xea,0x9c,0xa7,0xea,0xac,0xb7,0xc9,0xab,0xea,
2651
  0xad,0x92,0xca,0x8d,0xe8,0xb1,0x88,0xe6,0x9b,0xb4,0xe8,0xbb,0x8a,0xe8,0xb3,0x88,0xe6,0xbb,0x91,0xe4,0xb8,0xb2,0xe5,0x8f,0xa5,0xe9,0xbe,0x9c,0xe9,0xbe,0x9c,0xe5,
2652
  0xa5,0x91,0xe9,0x87,0x91,0xe5,0x96,0x87,0xe5,0xa5,0x88,0xe6,0x87,0xb6,0xe7,0x99,0xa9,0xe7,0xbe,0x85,0xe8,0x98,0xbf,0xe8,0x9e,0xba,0xe8,0xa3,0xb8,0xe9,0x82,0x8f,
2653
  0xe6,0xa8,0x82,0xe6,0xb4,0x9b,0xe7,0x83,0x99,0xe7,0x8f,0x9e,0xe8,0x90,0xbd,0xe9,0x85,0xaa,0xe9,0xa7,0xb1,0xe4,0xba,0x82,0xe5,0x8d,0xb5,0xe6,0xac,0x84,0xe7,0x88,
2654
  0x9b,0xe8,0x98,0xad,0xe9,0xb8,0x9e,0xe5,0xb5,0x90,0xe6,0xbf,0xab,0xe8,0x97,0x8d,0xe8,0xa5,0xa4,0xe6,0x8b,0x89,0xe8,0x87,0x98,0xe8,0xa0,0x9f,0xe5,0xbb,0x8a,0xe6,
2655
  0x9c,0x97,0xe6,0xb5,0xaa,0xe7,0x8b,0xbc,0xe9,0x83,0x8e,0xe4,0xbe,0x86,0xe5,0x86,0xb7,0xe5,0x8b,0x9e,0xe6,0x93,0x84,0xe6,0xab,0x93,0xe7,0x88,0x90,0xe7,0x9b,0xa7,
2656
  0xe8,0x80,0x81,0xe8,0x98,0x86,0xe8,0x99,0x9c,0xe8,0xb7,0xaf,0xe9,0x9c,0xb2,0xe9,0xad,0xaf,0xe9,0xb7,0xba,0xe7,0xa2,0x8c,0xe7,0xa5,0xbf,0xe7,0xb6,0xa0,0xe8,0x8f,
2657
  0x89,0xe9,0x8c,0x84,0xe9,0xb9,0xbf,0xe8,0xab,0x96,0xe5,0xa3,0x9f,0xe5,0xbc,0x84,0xe7,0xb1,0xa0,0xe8,0x81,0xbe,0xe7,0x89,0xa2,0xe7,0xa3,0x8a,0xe8,0xb3,0x82,0xe9,
2658
  0x9b,0xb7,0xe5,0xa3,0x98,0xe5,0xb1,0xa2,0xe6,0xa8,0x93,0xe6,0xb7,0x9a,0xe6,0xbc,0x8f,0xe7,0xb4,0xaf,0xe7,0xb8,0xb7,0xe9,0x99,0x8b,0xe5,0x8b,0x92,0xe8,0x82,0x8b,
2659
  0xe5,0x87,0x9c,0xe5,0x87,0x8c,0xe7,0xa8,0x9c,0xe7,0xb6,0xbe,0xe8,0x8f,0xb1,0xe9,0x99,0xb5,0xe8,0xae,0x80,0xe6,0x8b,0x8f,0xe6,0xa8,0x82,0xe8,0xab,0xbe,0xe4,0xb8,
2660
  0xb9,0xe5,0xaf,0xa7,0xe6,0x80,0x92,0xe7,0x8e,0x87,0xe7,0x95,0xb0,0xe5,0x8c,0x97,0xe7,0xa3,0xbb,0xe4,0xbe,0xbf,0xe5,0xbe,0xa9,0xe4,0xb8,0x8d,0xe6,0xb3,0x8c,0xe6,
2661
  0x95,0xb8,0xe7,0xb4,0xa2,0xe5,0x8f,0x83,0xe5,0xa1,0x9e,0xe7,0x9c,0x81,0xe8,0x91,0x89,0xe8,0xaa,0xaa,0xe6,0xae,0xba,0xe8,0xbe,0xb0,0xe6,0xb2,0x88,0xe6,0x8b,0xbe,
2662
  0xe8,0x8b,0xa5,0xe6,0x8e,0xa0,0xe7,0x95,0xa5,0xe4,0xba,0xae,0xe5,0x85,0xa9,0xe5,0x87,0x89,0xe6,0xa2,0x81,0xe7,0xb3,0xa7,0xe8,0x89,0xaf,0xe8,0xab,0x92,0xe9,0x87,
2663
  0x8f,0xe5,0x8b,0xb5,0xe5,0x91,0x82,0xe5,0xa5,0xb3,0xe5,0xbb,0xac,0xe6,0x97,0x85,0xe6,0xbf,0xbe,0xe7,0xa4,0xaa,0xe9,0x96,0xad,0xe9,0xa9,0xaa,0xe9,0xba,0x97,0xe9,
2664
  0xbb,0x8e,0xe5,0x8a,0x9b,0xe6,0x9b,0x86,0xe6,0xad,0xb7,0xe8,0xbd,0xa2,0xe5,0xb9,0xb4,0xe6,0x86,0x90,0xe6,0x88,0x80,0xe6,0x92,0x9a,0xe6,0xbc,0xa3,0xe7,0x85,0x89,
2665
  0xe7,0x92,0x89,0xe7,0xa7,0x8a,0xe7,0xb7,0xb4,0xe8,0x81,0xaf,0xe8,0xbc,0xa6,0xe8,0x93,0xae,0xe9,0x80,0xa3,0xe9,0x8d,0x8a,0xe5,0x88,0x97,0xe5,0x8a,0xa3,0xe5,0x92,
2666
  0xbd,0xe7,0x83,0x88,0xe8,0xa3,0x82,0xe8,0xaa,0xaa,0xe5,0xbb,0x89,0xe5,0xbf,0xb5,0xe6,0x8d,0xbb,0xe6,0xae,0xae,0xe7,0xb0,0xbe,0xe7,0x8d,0xb5,0xe4,0xbb,0xa4,0xe5,
2667
  0x9b,0xb9,0xe5,0xaf,0xa7,0xe5,0xb6,0xba,0xe6,0x80,0x9c,0xe7,0x8e,0xb2,0xe7,0x91,0xa9,0xe7,0xbe,0x9a,0xe8,0x81,0x86,0xe9,0x88,0xb4,0xe9,0x9b,0xb6,0xe9,0x9d,0x88,
2668
  0xe9,0xa0,0x98,0xe4,0xbe,0x8b,0xe7,0xa6,0xae,0xe9,0x86,0xb4,0xe9,0x9a,0xb8,0xe6,0x83,0xa1,0xe4,0xba,0x86,0xe5,0x83,0x9a,0xe5,0xaf,0xae,0xe5,0xb0,0xbf,0xe6,0x96,
2669
  0x99,0xe6,0xa8,0x82,0xe7,0x87,0x8e,0xe7,0x99,0x82,0xe8,0x93,0xbc,0xe9,0x81,0xbc,0xe9,0xbe,0x8d,0xe6,0x9a,0x88,0xe9,0x98,0xae,0xe5,0x8a,0x89,0xe6,0x9d,0xbb,0xe6,
2670
  0x9f,0xb3,0xe6,0xb5,0x81,0xe6,0xba,0x9c,0xe7,0x90,0x89,0xe7,0x95,0x99,0xe7,0xa1,0xab,0xe7,0xb4,0x90,0xe9,0xa1,0x9e,0xe5,0x85,0xad,0xe6,0x88,0xae,0xe9,0x99,0xb8,
2671
  0xe5,0x80,0xab,0xe5,0xb4,0x99,0xe6,0xb7,0xaa,0xe8,0xbc,0xaa,0xe5,0xbe,0x8b,0xe6,0x85,0x84,0xe6,0xa0,0x97,0xe7,0x8e,0x87,0xe9,0x9a,0x86,0xe5,0x88,0xa9,0xe5,0x90,
2672
  0x8f,0xe5,0xb1,0xa5,0xe6,0x98,0x93,0xe6,0x9d,0x8e,0xe6,0xa2,0xa8,0xe6,0xb3,0xa5,0xe7,0x90,0x86,0xe7,0x97,0xa2,0xe7,0xbd,0xb9,0xe8,0xa3,0x8f,0xe8,0xa3,0xa1,0xe9,
2673
  0x87,0x8c,0xe9,0x9b,0xa2,0xe5,0x8c,0xbf,0xe6,0xba,0xba,0xe5,0x90,0x9d,0xe7,0x87,0x90,0xe7,0x92,0x98,0xe8,0x97,0xba,0xe9,0x9a,0xa3,0xe9,0xb1,0x97,0xe9,0xba,0x9f,
2674
  0xe6,0x9e,0x97,0xe6,0xb7,0x8b,0xe8,0x87,0xa8,0xe7,0xab,0x8b,0xe7,0xac,0xa0,0xe7,0xb2,0x92,0xe7,0x8b,0x80,0xe7,0x82,0x99,0xe8,0xad,0x98,0xe4,0xbb,0x80,0xe8,0x8c,
2675
  0xb6,0xe5,0x88,0xba,0xe5,0x88,0x87,0xe5,0xba,0xa6,0xe6,0x8b,0x93,0xe7,0xb3,0x96,0xe5,0xae,0x85,0xe6,0xb4,0x9e,0xe6,0x9a,0xb4,0xe8,0xbc,0xbb,0xe8,0xa1,0x8c,0xe9,
2676
  0x99,0x8d,0xe8,0xa6,0x8b,0xe5,0xbb,0x93,0xe5,0x85,0x80,0xe5,0x97,0x80,0xe5,0xa1,0x9a,0xe6,0x99,0xb4,0xe5,0x87,0x9e,0xe7,0x8c,0xaa,0xe7,0x9b,0x8a,0xe7,0xa4,0xbc,
2677
  0xe7,0xa5,0x9e,0xe7,0xa5,0xa5,0xe7,0xa6,0x8f,0xe9,0x9d,0x96,0xe7,0xb2,0xbe,0xe7,0xbe,0xbd,0xe8,0x98,0x92,0xe8,0xab,0xb8,0xe9,0x80,0xb8,0xe9,0x83,0xbd,0xe9,0xa3,
2678
  0xaf,0xe9,0xa3,0xbc,0xe9,0xa4,0xa8,0xe9,0xb6,0xb4,0xe9,0x83,0x9e,0xe9,0x9a,0xb7,0xe4,0xbe,0xae,0xe5,0x83,0xa7,0xe5,0x85,0x8d,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,
2679
  0x8d,0x91,0xe5,0x96,0x9d,0xe5,0x98,0x86,0xe5,0x99,0xa8,0xe5,0xa1,0x80,0xe5,0xa2,0xa8,0xe5,0xb1,0xa4,0xe5,0xb1,0xae,0xe6,0x82,0x94,0xe6,0x85,0xa8,0xe6,0x86,0x8e,
2680
  0xe6,0x87,0xb2,0xe6,0x95,0x8f,0xe6,0x97,0xa2,0xe6,0x9a,0x91,0xe6,0xa2,0x85,0xe6,0xb5,0xb7,0xe6,0xb8,0x9a,0xe6,0xbc,0xa2,0xe7,0x85,0xae,0xe7,0x88,0xab,0xe7,0x90,
2681
  0xa2,0xe7,0xa2,0x91,0xe7,0xa4,0xbe,0xe7,0xa5,0x89,0xe7,0xa5,0x88,0xe7,0xa5,0x90,0xe7,0xa5,0x96,0xe7,0xa5,0x9d,0xe7,0xa6,0x8d,0xe7,0xa6,0x8e,0xe7,0xa9,0x80,0xe7,
2682
  0xaa,0x81,0xe7,0xaf,0x80,0xe7,0xb7,0xb4,0xe7,0xb8,0x89,0xe7,0xb9,0x81,0xe7,0xbd,0xb2,0xe8,0x80,0x85,0xe8,0x87,0xad,0xe8,0x89,0xb9,0xe8,0x89,0xb9,0xe8,0x91,0x97,
2683
  0xe8,0xa4,0x90,0xe8,0xa6,0x96,0xe8,0xac,0x81,0xe8,0xac,0xb9,0xe8,0xb3,0x93,0xe8,0xb4,0x88,0xe8,0xbe,0xb6,0xe9,0x80,0xb8,0xe9,0x9b,0xa3,0xe9,0x9f,0xbf,0xe9,0xa0,
2684
  0xbb,0xe6,0x81,0xb5,0xf0,0xa4,0x8b,0xae,0xe8,0x88,0x98,0xe4,0xb8,0xa6,0xe5,0x86,0xb5,0xe5,0x85,0xa8,0xe4,0xbe,0x80,0xe5,0x85,0x85,0xe5,0x86,0x80,0xe5,0x8b,0x87,
2685
  0xe5,0x8b,0xba,0xe5,0x96,0x9d,0xe5,0x95,0x95,0xe5,0x96,0x99,0xe5,0x97,0xa2,0xe5,0xa1,0x9a,0xe5,0xa2,0xb3,0xe5,0xa5,0x84,0xe5,0xa5,0x94,0xe5,0xa9,0xa2,0xe5,0xac,
2686
  0xa8,0xe5,0xbb,0x92,0xe5,0xbb,0x99,0xe5,0xbd,0xa9,0xe5,0xbe,0xad,0xe6,0x83,0x98,0xe6,0x85,0x8e,0xe6,0x84,0x88,0xe6,0x86,0x8e,0xe6,0x85,0xa0,0xe6,0x87,0xb2,0xe6,
2687
  0x88,0xb4,0xe6,0x8f,0x84,0xe6,0x90,0x9c,0xe6,0x91,0x92,0xe6,0x95,0x96,0xe6,0x99,0xb4,0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9d,0x96,0xe6,0xad,0xb9,0xe6,0xae,0xba,
2688
  0xe6,0xb5,0x81,0xe6,0xbb,0x9b,0xe6,0xbb,0x8b,0xe6,0xbc,0xa2,0xe7,0x80,0x9e,0xe7,0x85,0xae,0xe7,0x9e,0xa7,0xe7,0x88,0xb5,0xe7,0x8a,0xaf,0xe7,0x8c,0xaa,0xe7,0x91,
2689
  0xb1,0xe7,0x94,0x86,0xe7,0x94,0xbb,0xe7,0x98,0x9d,0xe7,0x98,0x9f,0xe7,0x9b,0x8a,0xe7,0x9b,0x9b,0xe7,0x9b,0xb4,0xe7,0x9d,0x8a,0xe7,0x9d,0x80,0xe7,0xa3,0x8c,0xe7,
2690
  0xaa,0xb1,0xe7,0xaf,0x80,0xe7,0xb1,0xbb,0xe7,0xb5,0x9b,0xe7,0xb7,0xb4,0xe7,0xbc,0xbe,0xe8,0x80,0x85,0xe8,0x8d,0x92,0xe8,0x8f,0xaf,0xe8,0x9d,0xb9,0xe8,0xa5,0x81,
2691
  0xe8,0xa6,0x86,0xe8,0xa6,0x96,0xe8,0xaa,0xbf,0xe8,0xab,0xb8,0xe8,0xab,0x8b,0xe8,0xac,0x81,0xe8,0xab,0xbe,0xe8,0xab,0xad,0xe8,0xac,0xb9,0xe8,0xae,0x8a,0xe8,0xb4,
2692
  0x88,0xe8,0xbc,0xb8,0xe9,0x81,0xb2,0xe9,0x86,0x99,0xe9,0x89,0xb6,0xe9,0x99,0xbc,0xe9,0x9b,0xa3,0xe9,0x9d,0x96,0xe9,0x9f,0x9b,0xe9,0x9f,0xbf,0xe9,0xa0,0x8b,0xe9,
2693
  0xa0,0xbb,0xe9,0xac,0x92,0xe9,0xbe,0x9c,0xf0,0xa2,0xa1,0x8a,0xf0,0xa2,0xa1,0x84,0xf0,0xa3,0x8f,0x95,0xe3,0xae,0x9d,0xe4,0x80,0x98,0xe4,0x80,0xb9,0xf0,0xa5,0x89,
2694
  0x89,0xf0,0xa5,0xb3,0x90,0xf0,0xa7,0xbb,0x93,0xe9,0xbd,0x83,0xe9,0xbe,0x8e,0x66,0x66,0x66,0x69,0x66,0x6c,0x66,0x66,0x69,0x66,0x66,0x6c,0xc5,0xbf,0x74,0x73,0x74,
2695
  0xd5,0xb4,0xd5,0xb6,0xd5,0xb4,0xd5,0xa5,0xd5,0xb4,0xd5,0xab,0xd5,0xbe,0xd5,0xb6,0xd5,0xb4,0xd5,0xad,0xd7,0x99,0xd6,0xb4,0xd7,0xb2,0xd6,0xb7,0xd7,0xa2,0xd7,0x90,
2696
  0xd7,0x93,0xd7,0x94,0xd7,0x9b,0xd7,0x9c,0xd7,0x9d,0xd7,0xa8,0xd7,0xaa,0x2b,0xd7,0xa9,0xd7,0x81,0xd7,0xa9,0xd7,0x82,0xef,0xad,0x89,0xd7,0x81,0xef,0xad,0x89,0xd7,
2697
  0x82,0xd7,0x90,0xd6,0xb7,0xd7,0x90,0xd6,0xb8,0xd7,0x90,0xd6,0xbc,0xd7,0x91,0xd6,0xbc,0xd7,0x92,0xd6,0xbc,0xd7,0x93,0xd6,0xbc,0xd7,0x94,0xd6,0xbc,0xd7,0x95,0xd6,
2698
  0xbc,0xd7,0x96,0xd6,0xbc,0xd7,0x98,0xd6,0xbc,0xd7,0x99,0xd6,0xbc,0xd7,0x9a,0xd6,0xbc,0xd7,0x9b,0xd6,0xbc,0xd7,0x9c,0xd6,0xbc,0xd7,0x9e,0xd6,0xbc,0xd7,0xa0,0xd6,
2699
  0xbc,0xd7,0xa1,0xd6,0xbc,0xd7,0xa3,0xd6,0xbc,0xd7,0xa4,0xd6,0xbc,0xd7,0xa6,0xd6,0xbc,0xd7,0xa7,0xd6,0xbc,0xd7,0xa8,0xd6,0xbc,0xd7,0xa9,0xd6,0xbc,0xd7,0xaa,0xd6,
2700
  0xbc,0xd7,0x95,0xd6,0xb9,0xd7,0x91,0xd6,0xbf,0xd7,0x9b,0xd6,0xbf,0xd7,0xa4,0xd6,0xbf,0xd7,0x90,0xd7,0x9c,0xd9,0xb1,0xd9,0xb1,0xd9,0xbb,0xd9,0xbb,0xd9,0xbb,0xd9,
2701
  0xbb,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xd9,0xbe,0xda,0x80,0xda,0x80,0xda,0x80,0xda,0x80,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xba,0xd9,0xbf,0xd9,0xbf,0xd9,0xbf,0xd9,
2702
  0xbf,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xd9,0xb9,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa4,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0xa6,0xda,0x84,0xda,0x84,0xda,0x84,0xda,
2703
  0x84,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x83,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x86,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x87,0xda,0x8d,0xda,0x8d,0xda,0x8c,0xda,
2704
  0x8c,0xda,0x8e,0xda,0x8e,0xda,0x88,0xda,0x88,0xda,0x98,0xda,0x98,0xda,0x91,0xda,0x91,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xa9,0xda,0xaf,0xda,0xaf,0xda,0xaf,0xda,
2705
  0xaf,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb3,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xb1,0xda,0xba,0xda,0xba,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xda,0xbb,0xdb,0x80,0xdb,
2706
  0x80,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xdb,0x81,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xda,0xbe,0xdb,0x92,0xdb,0x92,0xdb,0x93,0xdb,0x93,0xda,0xad,0xda,0xad,0xda,0xad,0xda,
2707
  0xad,0xdb,0x87,0xdb,0x87,0xdb,0x86,0xdb,0x86,0xdb,0x88,0xdb,0x88,0xd9,0xb7,0xdb,0x8b,0xdb,0x8b,0xdb,0x85,0xdb,0x85,0xdb,0x89,0xdb,0x89,0xdb,0x90,0xdb,0x90,0xdb,
2708
  0x90,0xdb,0x90,0xd9,0x89,0xd9,0x89,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xd8,0xa7,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xdb,0x95,0xd8,0xa6,0xd9,0x88,0xd8,0xa6,0xd9,0x88,0xd8,
2709
  0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x87,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x86,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x88,0xd8,0xa6,0xdb,0x90,0xd8,0xa6,0xdb,0x90,0xd8,
2710
  0xa6,0xdb,0x90,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x89,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xdb,0x8c,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,0xad,0xd8,
2711
  0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x89,0xd8,
2712
  0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xac,0xd8,
2713
  0xab,0xd9,0x85,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,
2714
  0xae,0xd8,0xad,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd9,0x85,0xd8,
2715
  0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,
2716
  0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,0xae,0xd9,0x81,0xd9,0x85,0xd9,0x81,0xd9,0x89,0xd9,
2717
  0x81,0xd9,0x8a,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,0xa7,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,
2718
  0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,
2719
  0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x89,0xd9,
2720
  0x85,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x87,0xd8,0xac,0xd9,
2721
  0x87,0xd9,0x85,0xd9,0x87,0xd9,0x89,0xd9,0x87,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x89,0xd9,
2722
  0x8a,0xd9,0x8a,0xd8,0xb0,0xd9,0xb0,0xd8,0xb1,0xd9,0xb0,0xd9,0x89,0xd9,0xb0,0x20,0xd9,0x8c,0xd9,0x91,0x20,0xd9,0x8d,0xd9,0x91,0x20,0xd9,0x8e,0xd9,0x91,0x20,0xd9,
2723
  0x8f,0xd9,0x91,0x20,0xd9,0x90,0xd9,0x91,0x20,0xd9,0x91,0xd9,0xb0,0xd8,0xa6,0xd8,0xb1,0xd8,0xa6,0xd8,0xb2,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x86,0xd8,0xa6,0xd9,
2724
  0x89,0xd8,0xa6,0xd9,0x8a,0xd8,0xa8,0xd8,0xb1,0xd8,0xa8,0xd8,0xb2,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x86,0xd8,0xa8,0xd9,0x89,0xd8,0xa8,0xd9,0x8a,0xd8,0xaa,0xd8,
2725
  0xb1,0xd8,0xaa,0xd8,0xb2,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x86,0xd8,0xaa,0xd9,0x89,0xd8,0xaa,0xd9,0x8a,0xd8,0xab,0xd8,0xb1,0xd8,0xab,0xd8,0xb2,0xd8,0xab,0xd9,
2726
  0x85,0xd8,0xab,0xd9,0x86,0xd8,0xab,0xd9,0x89,0xd8,0xab,0xd9,0x8a,0xd9,0x81,0xd9,0x89,0xd9,0x81,0xd9,0x8a,0xd9,0x82,0xd9,0x89,0xd9,0x82,0xd9,0x8a,0xd9,0x83,0xd8,
2727
  0xa7,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x83,0xd9,0x89,0xd9,0x83,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x89,0xd9,0x84,0xd9,0x8a,0xd9,0x85,0xd8,
2728
  0xa7,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xb1,0xd9,0x86,0xd8,0xb2,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x89,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,
2729
  0xb0,0xd9,0x8a,0xd8,0xb1,0xd9,0x8a,0xd8,0xb2,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x8a,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd8,0xa6,0xd8,0xac,0xd8,0xa6,0xd8,
2730
  0xad,0xd8,0xa6,0xd8,0xae,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,0x87,0xd8,0xa8,0xd8,0xac,0xd8,0xa8,0xd8,0xad,0xd8,0xa8,0xd8,0xae,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,
2731
  0x87,0xd8,0xaa,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xaa,0xd8,0xae,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd8,0xac,0xd9,
2732
  0x85,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd8,0xae,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,0xb3,0xd9,
2733
  0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xb5,0xd8,0xae,0xd8,0xb5,0xd9,0x85,0xd8,0xb6,0xd8,0xac,0xd8,0xb6,0xd8,0xad,0xd8,0xb6,0xd8,0xae,0xd8,0xb6,0xd9,0x85,0xd8,0xb7,0xd8,
2734
  0xad,0xd8,0xb8,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd8,0xb9,0xd9,0x85,0xd8,0xba,0xd8,0xac,0xd8,0xba,0xd9,0x85,0xd9,0x81,0xd8,0xac,0xd9,0x81,0xd8,0xad,0xd9,0x81,0xd8,
2735
  0xae,0xd9,0x81,0xd9,0x85,0xd9,0x82,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x83,0xd8,0xac,0xd9,0x83,0xd8,0xad,0xd9,0x83,0xd8,0xae,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,
2736
  0x85,0xd9,0x84,0xd8,0xac,0xd9,0x84,0xd8,0xad,0xd9,0x84,0xd8,0xae,0xd9,0x84,0xd9,0x85,0xd9,0x84,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,
2737
  0xae,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x86,0xd8,0xad,0xd9,0x86,0xd8,0xae,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x87,0xd8,0xac,0xd9,0x87,0xd9,
2738
  0x85,0xd9,0x87,0xd9,0xb0,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd8,0xae,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x87,0xd8,0xa6,0xd9,0x85,0xd8,0xa6,0xd9,
2739
  0x87,0xd8,0xa8,0xd9,0x85,0xd8,0xa8,0xd9,0x87,0xd8,0xaa,0xd9,0x85,0xd8,0xaa,0xd9,0x87,0xd8,0xab,0xd9,0x85,0xd8,0xab,0xd9,0x87,0xd8,0xb3,0xd9,0x85,0xd8,0xb3,0xd9,
2740
  0x87,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd9,0x87,0xd9,0x83,0xd9,0x84,0xd9,0x83,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd9,0x85,0xd9,0x86,0xd9,0x87,0xd9,0x8a,0xd9,
2741
  0x85,0xd9,0x8a,0xd9,0x87,0xd9,0x80,0xd9,0x8e,0xd9,0x91,0xd9,0x80,0xd9,0x8f,0xd9,0x91,0xd9,0x80,0xd9,0x90,0xd9,0x91,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,
2742
  0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,
2743
  0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,
2744
  0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,
2745
  0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb7,0xd9,0x89,0xd8,0xb7,0xd9,0x8a,0xd8,0xb9,0xd9,0x89,0xd8,0xb9,0xd9,0x8a,0xd8,0xba,0xd9,0x89,0xd8,0xba,0xd9,0x8a,0xd8,
2746
  0xb3,0xd9,0x89,0xd8,0xb3,0xd9,0x8a,0xd8,0xb4,0xd9,0x89,0xd8,0xb4,0xd9,0x8a,0xd8,0xad,0xd9,0x89,0xd8,0xad,0xd9,0x8a,0xd8,0xac,0xd9,0x89,0xd8,0xac,0xd9,0x8a,0xd8,
2747
  0xae,0xd9,0x89,0xd8,0xae,0xd9,0x8a,0xd8,0xb5,0xd9,0x89,0xd8,0xb5,0xd9,0x8a,0xd8,0xb6,0xd9,0x89,0xd8,0xb6,0xd9,0x8a,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,
2748
  0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb4,0xd8,0xb1,0xd8,0xb3,0xd8,0xb1,0xd8,0xb5,0xd8,0xb1,0xd8,0xb6,0xd8,0xb1,0xd8,0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,
2749
  0xb4,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd8,0xb3,0xd9,0x87,0xd8,0xb4,0xd9,0x87,0xd8,0xb7,0xd9,0x85,0xd8,0xb3,0xd8,0xac,0xd8,0xb3,0xd8,0xad,0xd8,0xb3,0xd8,0xae,0xd8,
2750
  0xb4,0xd8,0xac,0xd8,0xb4,0xd8,0xad,0xd8,0xb4,0xd8,0xae,0xd8,0xb7,0xd9,0x85,0xd8,0xb8,0xd9,0x85,0xd8,0xa7,0xd9,0x8b,0xd8,0xa7,0xd9,0x8b,0xd8,0xaa,0xd8,0xac,0xd9,
2751
  0x85,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd8,0xac,0xd8,0xaa,0xd8,0xad,0xd9,0x85,0xd8,0xaa,0xd8,0xae,0xd9,0x85,0xd8,0xaa,0xd9,0x85,0xd8,0xac,0xd8,
2752
  0xaa,0xd9,0x85,0xd8,0xad,0xd8,0xaa,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd8,0xad,0xd9,0x85,0xd9,0x8a,0xd8,0xad,0xd9,
2753
  0x85,0xd9,0x89,0xd8,0xb3,0xd8,0xad,0xd8,0xac,0xd8,0xb3,0xd8,0xac,0xd8,0xad,0xd8,0xb3,0xd8,0xac,0xd9,0x89,0xd8,0xb3,0xd9,0x85,0xd8,0xad,0xd8,0xb3,0xd9,0x85,0xd8,
2754
  0xad,0xd8,0xb3,0xd9,0x85,0xd8,0xac,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd9,0x85,0xd9,0x85,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,0xb5,0xd8,0xad,0xd8,0xad,0xd8,
2755
  0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xad,0xd9,0x85,0xd8,0xb4,0xd8,0xac,0xd9,0x8a,0xd8,0xb4,0xd9,0x85,0xd8,0xae,0xd8,0xb4,0xd9,
2756
  0x85,0xd8,0xae,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb4,0xd9,0x85,0xd9,0x85,0xd8,0xb6,0xd8,0xad,0xd9,0x89,0xd8,0xb6,0xd8,0xae,0xd9,0x85,0xd8,0xb6,0xd8,0xae,0xd9,
2757
  0x85,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd8,0xad,0xd8,0xb7,0xd9,0x85,0xd9,0x85,0xd8,0xb7,0xd9,0x85,0xd9,0x8a,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,
2758
  0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x89,0xd8,0xba,0xd9,0x85,0xd9,0x85,0xd8,0xba,0xd9,0x85,0xd9,0x8a,0xd8,0xba,0xd9,
2759
  0x85,0xd9,0x89,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x81,0xd8,0xae,0xd9,0x85,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x82,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xad,0xd9,
2760
  0x85,0xd9,0x84,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xad,0xd9,0x89,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xac,0xd8,0xac,0xd9,0x84,0xd8,0xae,0xd9,0x85,0xd9,
2761
  0x84,0xd8,0xae,0xd9,0x85,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd8,0xad,0xd8,0xac,0xd9,0x85,0xd8,0xad,0xd9,0x85,0xd9,0x85,0xd8,
2762
  0xad,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xac,0xd9,0x85,0xd9,0x85,0xd8,0xae,0xd8,0xac,0xd9,0x85,0xd8,0xae,0xd9,0x85,0xd9,0x85,0xd8,0xac,0xd8,
2763
  0xae,0xd9,0x87,0xd9,0x85,0xd8,0xac,0xd9,0x87,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x85,0xd9,0x86,0xd8,0xad,0xd9,0x89,0xd9,0x86,0xd8,0xac,0xd9,0x85,0xd9,
2764
  0x86,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,0xac,0xd9,0x89,0xd9,0x86,0xd9,0x85,0xd9,0x8a,0xd9,0x86,0xd9,0x85,0xd9,0x89,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,
2765
  0x85,0xd9,0x85,0xd8,0xa8,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x8a,0xd8,0xaa,0xd8,0xac,0xd9,0x89,0xd8,0xaa,0xd8,0xae,0xd9,0x8a,0xd8,0xaa,0xd8,0xae,0xd9,
2766
  0x89,0xd8,0xaa,0xd9,0x85,0xd9,0x8a,0xd8,0xaa,0xd9,0x85,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x8a,0xd8,0xac,0xd8,0xad,0xd9,0x89,0xd8,0xac,0xd9,0x85,0xd9,0x89,0xd8,
2767
  0xb3,0xd8,0xae,0xd9,0x89,0xd8,0xb5,0xd8,0xad,0xd9,0x8a,0xd8,0xb4,0xd8,0xad,0xd9,0x8a,0xd8,0xb6,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x8a,0xd9,0x84,0xd9,
2768
  0x85,0xd9,0x8a,0xd9,0x8a,0xd8,0xad,0xd9,0x8a,0xd9,0x8a,0xd8,0xac,0xd9,0x8a,0xd9,0x8a,0xd9,0x85,0xd9,0x8a,0xd9,0x85,0xd9,0x85,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd9,
2769
  0x8a,0xd9,0x86,0xd8,0xad,0xd9,0x8a,0xd9,0x82,0xd9,0x85,0xd8,0xad,0xd9,0x84,0xd8,0xad,0xd9,0x85,0xd8,0xb9,0xd9,0x85,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x8a,0xd9,
2770
  0x86,0xd8,0xac,0xd8,0xad,0xd9,0x85,0xd8,0xae,0xd9,0x8a,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd9,0x84,0xd8,0xac,0xd9,0x85,0xd9,0x86,0xd8,
2771
  0xac,0xd8,0xad,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd8,0xad,0xd8,0xac,0xd9,0x8a,0xd9,0x85,0xd8,0xac,0xd9,0x8a,0xd9,0x81,0xd9,0x85,0xd9,0x8a,0xd8,0xa8,0xd8,0xad,0xd9,
2772
  0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x85,0xd8,0xb9,0xd8,0xac,0xd9,0x85,0xd8,0xb5,0xd9,0x85,0xd9,0x85,0xd8,0xb3,0xd8,0xae,0xd9,0x8a,0xd9,0x86,0xd8,0xac,0xd9,0x8a,0xd8,
2773
  0xb5,0xd9,0x84,0xdb,0x92,0xd9,0x82,0xd9,0x84,0xdb,0x92,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0xd8,0xa7,0xd9,0x83,0xd8,0xa8,0xd8,0xb1,0xd9,0x85,0xd8,0xad,0xd9,
2774
  0x85,0xd8,0xaf,0xd8,0xb5,0xd9,0x84,0xd8,0xb9,0xd9,0x85,0xd8,0xb1,0xd8,0xb3,0xd9,0x88,0xd9,0x84,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,0x87,0xd9,0x88,0xd8,0xb3,0xd9,
2775
  0x84,0xd9,0x85,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0xd8,0xb5,0xd9,0x84,0xd9,0x89,0x20,0xd8,0xa7,0xd9,0x84,0xd9,0x84,0xd9,0x87,0x20,0xd8,0xb9,0xd9,0x84,0xd9,0x8a,0xd9,
2776
  0x87,0x20,0xd9,0x88,0xd8,0xb3,0xd9,0x84,0xd9,0x85,0xd8,0xac,0xd9,0x84,0x20,0xd8,0xac,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd9,0x87,0xd8,0xb1,0xdb,0x8c,0xd8,0xa7,0xd9,
2777
  0x84,0x2c,0xe3,0x80,0x81,0xe3,0x80,0x82,0x3a,0x3b,0x21,0x3f,0xe3,0x80,0x96,0xe3,0x80,0x97,0xe2,0x80,0xa6,0xe2,0x80,0xa5,0xe2,0x80,0x94,0xe2,0x80,0x93,0x5f,0x5f,
2778
  0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0xe3,0x80,0x90,0xe3,0x80,0x91,0xe3,0x80,0x8a,0xe3,0x80,0x8b,0xe3,0x80,0x88,0xe3,0x80,0x89,0xe3,0x80,0x8c,0xe3,
2779
  0x80,0x8d,0xe3,0x80,0x8e,0xe3,0x80,0x8f,0x5b,0x5d,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0xe2,0x80,0xbe,0x5f,0x5f,0x5f,0x2c,0xe3,0x80,0x81,0x2e,0x3b,0x3a,
2780
  0x3f,0x21,0xe2,0x80,0x94,0x28,0x29,0x7b,0x7d,0xe3,0x80,0x94,0xe3,0x80,0x95,0x23,0x26,0x2a,0x2b,0x2d,0x3c,0x3e,0x3d,0x5c,0x24,0x25,0x40,0x20,0xd9,0x8b,0xd9,0x80,
2781
  0xd9,0x8b,0x20,0xd9,0x8c,0x20,0xd9,0x8d,0x20,0xd9,0x8e,0xd9,0x80,0xd9,0x8e,0x20,0xd9,0x8f,0xd9,0x80,0xd9,0x8f,0x20,0xd9,0x90,0xd9,0x80,0xd9,0x90,0x20,0xd9,0x91,
2782
  0xd9,0x80,0xd9,0x91,0x20,0xd9,0x92,0xd9,0x80,0xd9,0x92,0xd8,0xa1,0xd8,0xa2,0xd8,0xa2,0xd8,0xa3,0xd8,0xa3,0xd8,0xa4,0xd8,0xa4,0xd8,0xa5,0xd8,0xa5,0xd8,0xa6,0xd8,
2783
  0xa6,0xd8,0xa6,0xd8,0xa6,0xd8,0xa7,0xd8,0xa7,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa8,0xd8,0xa9,0xd8,0xa9,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xaa,0xd8,0xab,0xd8,
2784
  0xab,0xd8,0xab,0xd8,0xab,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xac,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xad,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xae,0xd8,0xaf,0xd8,
2785
  0xaf,0xd8,0xb0,0xd8,0xb0,0xd8,0xb1,0xd8,0xb1,0xd8,0xb2,0xd8,0xb2,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb3,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb4,0xd8,0xb5,0xd8,
2786
  0xb5,0xd8,0xb5,0xd8,0xb5,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb6,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb7,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb8,0xd8,0xb9,0xd8,
2787
  0xb9,0xd8,0xb9,0xd8,0xb9,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd8,0xba,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x81,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x82,0xd9,0x83,0xd9,
2788
  0x83,0xd9,0x83,0xd9,0x83,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x84,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x85,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x86,0xd9,0x87,0xd9,
2789
  0x87,0xd9,0x87,0xd9,0x87,0xd9,0x88,0xd9,0x88,0xd9,0x89,0xd9,0x89,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x8a,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,0xa2,0xd9,0x84,0xd8,
2790
  0xa3,0xd9,0x84,0xd8,0xa3,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa5,0xd9,0x84,0xd8,0xa7,0xd9,0x84,0xd8,0xa7,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,
2791
  0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,
2792
  0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x5b,0x5c,0x5d,0x5e,0x5f,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,
2793
  0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x7b,0x7c,0x7d,0x7e,0xe2,0xa6,0x85,0xe2,0xa6,0x86,0xe3,0x80,0x82,0xe3,0x80,0x8c,0xe3,
2794
  0x80,0x8d,0xe3,0x80,0x81,0xe3,0x83,0xbb,0xe3,0x83,0xb2,0xe3,0x82,0xa1,0xe3,0x82,0xa3,0xe3,0x82,0xa5,0xe3,0x82,0xa7,0xe3,0x82,0xa9,0xe3,0x83,0xa3,0xe3,0x83,0xa5,
2795
  0xe3,0x83,0xa7,0xe3,0x83,0x83,0xe3,0x83,0xbc,0xe3,0x82,0xa2,0xe3,0x82,0xa4,0xe3,0x82,0xa6,0xe3,0x82,0xa8,0xe3,0x82,0xaa,0xe3,0x82,0xab,0xe3,0x82,0xad,0xe3,0x82,
2796
  0xaf,0xe3,0x82,0xb1,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe3,0x82,0xb7,0xe3,0x82,0xb9,0xe3,0x82,0xbb,0xe3,0x82,0xbd,0xe3,0x82,0xbf,0xe3,0x83,0x81,0xe3,0x83,0x84,0xe3,
2797
  0x83,0x86,0xe3,0x83,0x88,0xe3,0x83,0x8a,0xe3,0x83,0x8b,0xe3,0x83,0x8c,0xe3,0x83,0x8d,0xe3,0x83,0x8e,0xe3,0x83,0x8f,0xe3,0x83,0x92,0xe3,0x83,0x95,0xe3,0x83,0x98,
2798
  0xe3,0x83,0x9b,0xe3,0x83,0x9e,0xe3,0x83,0x9f,0xe3,0x83,0xa0,0xe3,0x83,0xa1,0xe3,0x83,0xa2,0xe3,0x83,0xa4,0xe3,0x83,0xa6,0xe3,0x83,0xa8,0xe3,0x83,0xa9,0xe3,0x83,
2799
  0xaa,0xe3,0x83,0xab,0xe3,0x83,0xac,0xe3,0x83,0xad,0xe3,0x83,0xaf,0xe3,0x83,0xb3,0xe3,0x82,0x99,0xe3,0x82,0x9a,0xe3,0x85,0xa4,0xe3,0x84,0xb1,0xe3,0x84,0xb2,0xe3,
2800
  0x84,0xb3,0xe3,0x84,0xb4,0xe3,0x84,0xb5,0xe3,0x84,0xb6,0xe3,0x84,0xb7,0xe3,0x84,0xb8,0xe3,0x84,0xb9,0xe3,0x84,0xba,0xe3,0x84,0xbb,0xe3,0x84,0xbc,0xe3,0x84,0xbd,
2801
  0xe3,0x84,0xbe,0xe3,0x84,0xbf,0xe3,0x85,0x80,0xe3,0x85,0x81,0xe3,0x85,0x82,0xe3,0x85,0x83,0xe3,0x85,0x84,0xe3,0x85,0x85,0xe3,0x85,0x86,0xe3,0x85,0x87,0xe3,0x85,
2802
  0x88,0xe3,0x85,0x89,0xe3,0x85,0x8a,0xe3,0x85,0x8b,0xe3,0x85,0x8c,0xe3,0x85,0x8d,0xe3,0x85,0x8e,0xe3,0x85,0x8f,0xe3,0x85,0x90,0xe3,0x85,0x91,0xe3,0x85,0x92,0xe3,
2803
  0x85,0x93,0xe3,0x85,0x94,0xe3,0x85,0x95,0xe3,0x85,0x96,0xe3,0x85,0x97,0xe3,0x85,0x98,0xe3,0x85,0x99,0xe3,0x85,0x9a,0xe3,0x85,0x9b,0xe3,0x85,0x9c,0xe3,0x85,0x9d,
2804
  0xe3,0x85,0x9e,0xe3,0x85,0x9f,0xe3,0x85,0xa0,0xe3,0x85,0xa1,0xe3,0x85,0xa2,0xe3,0x85,0xa3,0xc2,0xa2,0xc2,0xa3,0xc2,0xac,0xc2,0xaf,0xc2,0xa6,0xc2,0xa5,0xe2,0x82,
2805
  0xa9,0xe2,0x94,0x82,0xe2,0x86,0x90,0xe2,0x86,0x91,0xe2,0x86,0x92,0xe2,0x86,0x93,0xe2,0x96,0xa0,0xe2,0x97,0x8b,
2806
};
2807
129M
#define mxDecompositionCount0 7778
2808
static const txU2 gxDecompositionIndex0[mxDecompositionCount0] ICACHE_XS6RO_ATTR = {
2809
  0x00A0,0x8000,0x00A8,0x8001,0x00AA,0x8004,0x00AF,0x8005,0x00B2,0x8008,0x00B3,0x8009,0x00B4,0x800A,0x00B5,0x800D,0x00B8,0x800F,0x00B9,0x8012,0x00BA,0x8013,0x00BC,0x8014,0x00BD,0x8019,0x00BE,0x801E,0x00C0,0x0023,0x00C1,0x0026,
2810
  0x00C2,0x0029,0x00C3,0x002C,0x00C4,0x002F,0x00C5,0x0032,0x00C7,0x0035,0x00C8,0x0038,0x00C9,0x003B,0x00CA,0x003E,0x00CB,0x0041,0x00CC,0x0044,0x00CD,0x0047,0x00CE,0x004A,0x00CF,0x004D,0x00D1,0x0050,0x00D2,0x0053,0x00D3,0x0056,
2811
  0x00D4,0x0059,0x00D5,0x005C,0x00D6,0x005F,0x00D9,0x0062,0x00DA,0x0065,0x00DB,0x0068,0x00DC,0x006B,0x00DD,0x006E,0x00E0,0x0071,0x00E1,0x0074,0x00E2,0x0077,0x00E3,0x007A,0x00E4,0x007D,0x00E5,0x0080,0x00E7,0x0083,0x00E8,0x0086,
2812
  0x00E9,0x0089,0x00EA,0x008C,0x00EB,0x008F,0x00EC,0x0092,0x00ED,0x0095,0x00EE,0x0098,0x00EF,0x009B,0x00F1,0x009E,0x00F2,0x00A1,0x00F3,0x00A4,0x00F4,0x00A7,0x00F5,0x00AA,0x00F6,0x00AD,0x00F9,0x00B0,0x00FA,0x00B3,0x00FB,0x00B6,
2813
  0x00FC,0x00B9,0x00FD,0x00BC,0x00FF,0x00BF,0x0100,0x00C2,0x0101,0x00C5,0x0102,0x00C8,0x0103,0x00CB,0x0104,0x00CE,0x0105,0x00D1,0x0106,0x00D4,0x0107,0x00D7,0x0108,0x00DA,0x0109,0x00DD,0x010A,0x00E0,0x010B,0x00E3,0x010C,0x00E6,
2814
  0x010D,0x00E9,0x010E,0x00EC,0x010F,0x00EF,0x0112,0x00F2,0x0113,0x00F5,0x0114,0x00F8,0x0115,0x00FB,0x0116,0x00FE,0x0117,0x0101,0x0118,0x0104,0x0119,0x0107,0x011A,0x010A,0x011B,0x010D,0x011C,0x0110,0x011D,0x0113,0x011E,0x0116,
2815
  0x011F,0x0119,0x0120,0x011C,0x0121,0x011F,0x0122,0x0122,0x0123,0x0125,0x0124,0x0128,0x0125,0x012B,0x0128,0x012E,0x0129,0x0131,0x012A,0x0134,0x012B,0x0137,0x012C,0x013A,0x012D,0x013D,0x012E,0x0140,0x012F,0x0143,0x0130,0x0146,
2816
  0x0132,0x8149,0x0133,0x814B,0x0134,0x014D,0x0135,0x0150,0x0136,0x0153,0x0137,0x0156,0x0139,0x0159,0x013A,0x015C,0x013B,0x015F,0x013C,0x0162,0x013D,0x0165,0x013E,0x0168,0x013F,0x816B,0x0140,0x816E,0x0143,0x0171,0x0144,0x0174,
2817
  0x0145,0x0177,0x0146,0x017A,0x0147,0x017D,0x0148,0x0180,0x0149,0x8183,0x014C,0x0186,0x014D,0x0189,0x014E,0x018C,0x014F,0x018F,0x0150,0x0192,0x0151,0x0195,0x0154,0x0198,0x0155,0x019B,0x0156,0x019E,0x0157,0x01A1,0x0158,0x01A4,
2818
  0x0159,0x01A7,0x015A,0x01AA,0x015B,0x01AD,0x015C,0x01B0,0x015D,0x01B3,0x015E,0x01B6,0x015F,0x01B9,0x0160,0x01BC,0x0161,0x01BF,0x0162,0x01C2,0x0163,0x01C5,0x0164,0x01C8,0x0165,0x01CB,0x0168,0x01CE,0x0169,0x01D1,0x016A,0x01D4,
2819
  0x016B,0x01D7,0x016C,0x01DA,0x016D,0x01DD,0x016E,0x01E0,0x016F,0x01E3,0x0170,0x01E6,0x0171,0x01E9,0x0172,0x01EC,0x0173,0x01EF,0x0174,0x01F2,0x0175,0x01F5,0x0176,0x01F8,0x0177,0x01FB,0x0178,0x01FE,0x0179,0x0201,0x017A,0x0204,
2820
  0x017B,0x0207,0x017C,0x020A,0x017D,0x020D,0x017E,0x0210,0x017F,0x8213,0x01A0,0x0214,0x01A1,0x0217,0x01AF,0x021A,0x01B0,0x021D,0x01C4,0x8220,0x01C5,0x8223,0x01C6,0x8226,0x01C7,0x8229,0x01C8,0x822B,0x01C9,0x822D,0x01CA,0x822F,
2821
  0x01CB,0x8231,0x01CC,0x8233,0x01CD,0x0235,0x01CE,0x0238,0x01CF,0x023B,0x01D0,0x023E,0x01D1,0x0241,0x01D2,0x0244,0x01D3,0x0247,0x01D4,0x024A,0x01D5,0x024D,0x01D6,0x0251,0x01D7,0x0255,0x01D8,0x0259,0x01D9,0x025D,0x01DA,0x0261,
2822
  0x01DB,0x0265,0x01DC,0x0269,0x01DE,0x026D,0x01DF,0x0271,0x01E0,0x0275,0x01E1,0x0279,0x01E2,0x027D,0x01E3,0x0281,0x01E6,0x0285,0x01E7,0x0288,0x01E8,0x028B,0x01E9,0x028E,0x01EA,0x0291,0x01EB,0x0294,0x01EC,0x0297,0x01ED,0x029B,
2823
  0x01EE,0x029F,0x01EF,0x02A3,0x01F0,0x02A7,0x01F1,0x82AA,0x01F2,0x82AC,0x01F3,0x82AE,0x01F4,0x02B0,0x01F5,0x02B3,0x01F8,0x02B6,0x01F9,0x02B9,0x01FA,0x02BC,0x01FB,0x02C0,0x01FC,0x02C4,0x01FD,0x02C8,0x01FE,0x02CC,0x01FF,0x02D0,
2824
  0x0200,0x02D4,0x0201,0x02D7,0x0202,0x02DA,0x0203,0x02DD,0x0204,0x02E0,0x0205,0x02E3,0x0206,0x02E6,0x0207,0x02E9,0x0208,0x02EC,0x0209,0x02EF,0x020A,0x02F2,0x020B,0x02F5,0x020C,0x02F8,0x020D,0x02FB,0x020E,0x02FE,0x020F,0x0301,
2825
  0x0210,0x0304,0x0211,0x0307,0x0212,0x030A,0x0213,0x030D,0x0214,0x0310,0x0215,0x0313,0x0216,0x0316,0x0217,0x0319,0x0218,0x031C,0x0219,0x031F,0x021A,0x0322,0x021B,0x0325,0x021E,0x0328,0x021F,0x032B,0x0226,0x032E,0x0227,0x0331,
2826
  0x0228,0x0334,0x0229,0x0337,0x022A,0x033A,0x022B,0x033E,0x022C,0x0342,0x022D,0x0346,0x022E,0x034A,0x022F,0x034D,0x0230,0x0350,0x0231,0x0354,0x0232,0x0358,0x0233,0x035B,0x02B0,0x835E,0x02B1,0x835F,0x02B2,0x8361,0x02B3,0x8362,
2827
  0x02B4,0x8363,0x02B5,0x8365,0x02B6,0x8367,0x02B7,0x8369,0x02B8,0x836A,0x02D8,0x836B,0x02D9,0x836E,0x02DA,0x8371,0x02DB,0x8374,0x02DC,0x8377,0x02DD,0x837A,0x02E0,0x837D,0x02E1,0x837F,0x02E2,0x8380,0x02E3,0x8381,0x02E4,0x8382,
2828
  0x0340,0x0384,0x0341,0x0386,0x0343,0x0388,0x0344,0x038A,0x0374,0x038E,0x037A,0x8390,0x037E,0x0393,0x0384,0x8394,0x0385,0x0397,0x0386,0x039B,0x0387,0x039F,0x0388,0x03A1,0x0389,0x03A5,0x038A,0x03A9,0x038C,0x03AD,0x038E,0x03B1,
2829
  0x038F,0x03B5,0x0390,0x03B9,0x03AA,0x03BD,0x03AB,0x03C1,0x03AC,0x03C5,0x03AD,0x03C9,0x03AE,0x03CD,0x03AF,0x03D1,0x03B0,0x03D5,0x03CA,0x03D9,0x03CB,0x03DD,0x03CC,0x03E1,0x03CD,0x03E5,0x03CE,0x03E9,0x03D0,0x83ED,0x03D1,0x83EF,
2830
  0x03D2,0x83F1,0x03D3,0x03F3,0x03D4,0x03F7,0x03D5,0x83FB,0x03D6,0x83FD,0x03F0,0x83FF,0x03F1,0x8401,0x03F2,0x8403,0x03F4,0x8405,0x03F5,0x8407,0x03F9,0x8409,0x0400,0x040B,0x0401,0x040F,0x0403,0x0413,0x0407,0x0417,0x040C,0x041B,
2831
  0x040D,0x041F,0x040E,0x0423,0x0419,0x0427,0x0439,0x042B,0x0450,0x042F,0x0451,0x0433,0x0453,0x0437,0x0457,0x043B,0x045C,0x043F,0x045D,0x0443,0x045E,0x0447,0x0476,0x044B,0x0477,0x044F,0x04C1,0x0453,0x04C2,0x0457,0x04D0,0x045B,
2832
  0x04D1,0x045F,0x04D2,0x0463,0x04D3,0x0467,0x04D6,0x046B,0x04D7,0x046F,0x04DA,0x0473,0x04DB,0x0477,0x04DC,0x047B,0x04DD,0x047F,0x04DE,0x0483,0x04DF,0x0487,0x04E2,0x048B,0x04E3,0x048F,0x04E4,0x0493,0x04E5,0x0497,0x04E6,0x049B,
2833
  0x04E7,0x049F,0x04EA,0x04A3,0x04EB,0x04A7,0x04EC,0x04AB,0x04ED,0x04AF,0x04EE,0x04B3,0x04EF,0x04B7,0x04F0,0x04BB,0x04F1,0x04BF,0x04F2,0x04C3,0x04F3,0x04C7,0x04F4,0x04CB,0x04F5,0x04CF,0x04F8,0x04D3,0x04F9,0x04D7,0x0587,0x84DB,
2834
  0x0622,0x04DF,0x0623,0x04E3,0x0624,0x04E7,0x0625,0x04EB,0x0626,0x04EF,0x0675,0x84F3,0x0676,0x84F7,0x0677,0x84FB,0x0678,0x84FF,0x06C0,0x0503,0x06C2,0x0507,0x06D3,0x050B,0x0929,0x050F,0x0931,0x0515,0x0934,0x051B,0x0958,0x0521,
2835
  0x0959,0x0527,0x095A,0x052D,0x095B,0x0533,0x095C,0x0539,0x095D,0x053F,0x095E,0x0545,0x095F,0x054B,0x09CB,0x0551,0x09CC,0x0557,0x09DC,0x055D,0x09DD,0x0563,0x09DF,0x0569,0x0A33,0x056F,0x0A36,0x0575,0x0A59,0x057B,0x0A5A,0x0581,
2836
  0x0A5B,0x0587,0x0A5E,0x058D,0x0B48,0x0593,0x0B4B,0x0599,0x0B4C,0x059F,0x0B5C,0x05A5,0x0B5D,0x05AB,0x0B94,0x05B1,0x0BCA,0x05B7,0x0BCB,0x05BD,0x0BCC,0x05C3,0x0C48,0x05C9,0x0CC0,0x05CF,0x0CC7,0x05D5,0x0CC8,0x05DB,0x0CCA,0x05E1,
2837
  0x0CCB,0x05E7,0x0D4A,0x05ED,0x0D4B,0x05F3,0x0D4C,0x05F9,0x0DDA,0x05FF,0x0DDC,0x0605,0x0DDD,0x060B,0x0DDE,0x0611,0x0E33,0x8617,0x0EB3,0x861D,0x0EDC,0x8623,0x0EDD,0x8629,0x0F0C,0x862F,0x0F43,0x0632,0x0F4D,0x0638,0x0F52,0x063E,
2838
  0x0F57,0x0644,0x0F5C,0x064A,0x0F69,0x0650,0x0F73,0x0656,0x0F75,0x065C,0x0F76,0x0662,0x0F77,0x8668,0x0F78,0x066E,0x0F79,0x8674,0x0F81,0x067A,0x0F93,0x0680,0x0F9D,0x0686,0x0FA2,0x068C,0x0FA7,0x0692,0x0FAC,0x0698,0x0FB9,0x069E,
2839
  0x1026,0x06A4,0x10FC,0x86AA,0x1B06,0x06AD,0x1B08,0x06B3,0x1B0A,0x06B9,0x1B0C,0x06BF,0x1B0E,0x06C5,0x1B12,0x06CB,0x1B3B,0x06D1,0x1B3D,0x06D7,0x1B40,0x06DD,0x1B41,0x06E3,0x1B43,0x06E9,0x1D2C,0x86EF,0x1D2D,0x86F0,0x1D2E,0x86F2,
2840
  0x1D30,0x86F3,0x1D31,0x86F4,0x1D32,0x86F5,0x1D33,0x86F7,0x1D34,0x86F8,0x1D35,0x86F9,0x1D36,0x86FA,0x1D37,0x86FB,0x1D38,0x86FC,0x1D39,0x86FD,0x1D3A,0x86FE,0x1D3C,0x86FF,0x1D3D,0x8700,0x1D3E,0x8702,0x1D3F,0x8703,0x1D40,0x8704,
2841
  0x1D41,0x8705,0x1D42,0x8706,0x1D43,0x8707,0x1D44,0x8708,0x1D45,0x870A,0x1D46,0x870C,0x1D47,0x870F,0x1D48,0x8710,0x1D49,0x8711,0x1D4A,0x8712,0x1D4B,0x8714,0x1D4C,0x8716,0x1D4D,0x8718,0x1D4F,0x8719,0x1D50,0x871A,0x1D51,0x871B,
2842
  0x1D52,0x871D,0x1D53,0x871E,0x1D54,0x8720,0x1D55,0x8723,0x1D56,0x8726,0x1D57,0x8727,0x1D58,0x8728,0x1D59,0x8729,0x1D5A,0x872C,0x1D5B,0x872E,0x1D5C,0x872F,0x1D5D,0x8732,0x1D5E,0x8734,0x1D5F,0x8736,0x1D60,0x8738,0x1D61,0x873A,
2843
  0x1D62,0x873C,0x1D63,0x873D,0x1D64,0x873E,0x1D65,0x873F,0x1D66,0x8740,0x1D67,0x8742,0x1D68,0x8744,0x1D69,0x8746,0x1D6A,0x8748,0x1D78,0x874A,0x1D9B,0x874C,0x1D9C,0x874E,0x1D9D,0x874F,0x1D9E,0x8751,0x1D9F,0x8753,0x1DA0,0x8755,
2844
  0x1DA1,0x8756,0x1DA2,0x8758,0x1DA3,0x875A,0x1DA4,0x875C,0x1DA5,0x875E,0x1DA6,0x8760,0x1DA7,0x8762,0x1DA8,0x8765,0x1DA9,0x8767,0x1DAA,0x8769,0x1DAB,0x876C,0x1DAC,0x876E,0x1DAD,0x8770,0x1DAE,0x8772,0x1DAF,0x8774,0x1DB0,0x8776,
2845
  0x1DB1,0x8778,0x1DB2,0x877A,0x1DB3,0x877C,0x1DB4,0x877E,0x1DB5,0x8780,0x1DB6,0x8782,0x1DB7,0x8784,0x1DB8,0x8786,0x1DB9,0x8789,0x1DBA,0x878B,0x1DBB,0x878D,0x1DBC,0x878E,0x1DBD,0x8790,0x1DBE,0x8792,0x1DBF,0x8794,0x1E00,0x0796,
2846
  0x1E01,0x0799,0x1E02,0x079C,0x1E03,0x079F,0x1E04,0x07A2,0x1E05,0x07A5,0x1E06,0x07A8,0x1E07,0x07AB,0x1E08,0x07AE,0x1E09,0x07B2,0x1E0A,0x07B6,0x1E0B,0x07B9,0x1E0C,0x07BC,0x1E0D,0x07BF,0x1E0E,0x07C2,0x1E0F,0x07C5,0x1E10,0x07C8,
2847
  0x1E11,0x07CB,0x1E12,0x07CE,0x1E13,0x07D1,0x1E14,0x07D4,0x1E15,0x07D8,0x1E16,0x07DC,0x1E17,0x07E0,0x1E18,0x07E4,0x1E19,0x07E7,0x1E1A,0x07EA,0x1E1B,0x07ED,0x1E1C,0x07F0,0x1E1D,0x07F4,0x1E1E,0x07F8,0x1E1F,0x07FB,0x1E20,0x07FE,
2848
  0x1E21,0x0801,0x1E22,0x0804,0x1E23,0x0807,0x1E24,0x080A,0x1E25,0x080D,0x1E26,0x0810,0x1E27,0x0813,0x1E28,0x0816,0x1E29,0x0819,0x1E2A,0x081C,0x1E2B,0x081F,0x1E2C,0x0822,0x1E2D,0x0825,0x1E2E,0x0828,0x1E2F,0x082C,0x1E30,0x0830,
2849
  0x1E31,0x0833,0x1E32,0x0836,0x1E33,0x0839,0x1E34,0x083C,0x1E35,0x083F,0x1E36,0x0842,0x1E37,0x0845,0x1E38,0x0848,0x1E39,0x084D,0x1E3A,0x0852,0x1E3B,0x0855,0x1E3C,0x0858,0x1E3D,0x085B,0x1E3E,0x085E,0x1E3F,0x0861,0x1E40,0x0864,
2850
  0x1E41,0x0867,0x1E42,0x086A,0x1E43,0x086D,0x1E44,0x0870,0x1E45,0x0873,0x1E46,0x0876,0x1E47,0x0879,0x1E48,0x087C,0x1E49,0x087F,0x1E4A,0x0882,0x1E4B,0x0885,0x1E4C,0x0888,0x1E4D,0x088C,0x1E4E,0x0890,0x1E4F,0x0894,0x1E50,0x0898,
2851
  0x1E51,0x089C,0x1E52,0x08A0,0x1E53,0x08A4,0x1E54,0x08A8,0x1E55,0x08AB,0x1E56,0x08AE,0x1E57,0x08B1,0x1E58,0x08B4,0x1E59,0x08B7,0x1E5A,0x08BA,0x1E5B,0x08BD,0x1E5C,0x08C0,0x1E5D,0x08C5,0x1E5E,0x08CA,0x1E5F,0x08CD,0x1E60,0x08D0,
2852
  0x1E61,0x08D3,0x1E62,0x08D6,0x1E63,0x08D9,0x1E64,0x08DC,0x1E65,0x08E0,0x1E66,0x08E4,0x1E67,0x08E8,0x1E68,0x08EC,0x1E69,0x08F1,0x1E6A,0x08F6,0x1E6B,0x08F9,0x1E6C,0x08FC,0x1E6D,0x08FF,0x1E6E,0x0902,0x1E6F,0x0905,0x1E70,0x0908,
2853
  0x1E71,0x090B,0x1E72,0x090E,0x1E73,0x0911,0x1E74,0x0914,0x1E75,0x0917,0x1E76,0x091A,0x1E77,0x091D,0x1E78,0x0920,0x1E79,0x0924,0x1E7A,0x0928,0x1E7B,0x092C,0x1E7C,0x0930,0x1E7D,0x0933,0x1E7E,0x0936,0x1E7F,0x0939,0x1E80,0x093C,
2854
  0x1E81,0x093F,0x1E82,0x0942,0x1E83,0x0945,0x1E84,0x0948,0x1E85,0x094B,0x1E86,0x094E,0x1E87,0x0951,0x1E88,0x0954,0x1E89,0x0957,0x1E8A,0x095A,0x1E8B,0x095D,0x1E8C,0x0960,0x1E8D,0x0963,0x1E8E,0x0966,0x1E8F,0x0969,0x1E90,0x096C,
2855
  0x1E91,0x096F,0x1E92,0x0972,0x1E93,0x0975,0x1E94,0x0978,0x1E95,0x097B,0x1E96,0x097E,0x1E97,0x0981,0x1E98,0x0984,0x1E99,0x0987,0x1E9A,0x898A,0x1E9B,0x098D,0x1EA0,0x0991,0x1EA1,0x0994,0x1EA2,0x0997,0x1EA3,0x099A,0x1EA4,0x099D,
2856
  0x1EA5,0x09A1,0x1EA6,0x09A5,0x1EA7,0x09A9,0x1EA8,0x09AD,0x1EA9,0x09B1,0x1EAA,0x09B5,0x1EAB,0x09B9,0x1EAC,0x09BD,0x1EAD,0x09C2,0x1EAE,0x09C7,0x1EAF,0x09CB,0x1EB0,0x09CF,0x1EB1,0x09D3,0x1EB2,0x09D7,0x1EB3,0x09DB,0x1EB4,0x09DF,
2857
  0x1EB5,0x09E3,0x1EB6,0x09E7,0x1EB7,0x09EC,0x1EB8,0x09F1,0x1EB9,0x09F4,0x1EBA,0x09F7,0x1EBB,0x09FA,0x1EBC,0x09FD,0x1EBD,0x0A00,0x1EBE,0x0A03,0x1EBF,0x0A07,0x1EC0,0x0A0B,0x1EC1,0x0A0F,0x1EC2,0x0A13,0x1EC3,0x0A17,0x1EC4,0x0A1B,
2858
  0x1EC5,0x0A1F,0x1EC6,0x0A23,0x1EC7,0x0A28,0x1EC8,0x0A2D,0x1EC9,0x0A30,0x1ECA,0x0A33,0x1ECB,0x0A36,0x1ECC,0x0A39,0x1ECD,0x0A3C,0x1ECE,0x0A3F,0x1ECF,0x0A42,0x1ED0,0x0A45,0x1ED1,0x0A49,0x1ED2,0x0A4D,0x1ED3,0x0A51,0x1ED4,0x0A55,
2859
  0x1ED5,0x0A59,0x1ED6,0x0A5D,0x1ED7,0x0A61,0x1ED8,0x0A65,0x1ED9,0x0A6A,0x1EDA,0x0A6F,0x1EDB,0x0A73,0x1EDC,0x0A77,0x1EDD,0x0A7B,0x1EDE,0x0A7F,0x1EDF,0x0A83,0x1EE0,0x0A87,0x1EE1,0x0A8B,0x1EE2,0x0A8F,0x1EE3,0x0A93,0x1EE4,0x0A97,
2860
  0x1EE5,0x0A9A,0x1EE6,0x0A9D,0x1EE7,0x0AA0,0x1EE8,0x0AA3,0x1EE9,0x0AA7,0x1EEA,0x0AAB,0x1EEB,0x0AAF,0x1EEC,0x0AB3,0x1EED,0x0AB7,0x1EEE,0x0ABB,0x1EEF,0x0ABF,0x1EF0,0x0AC3,0x1EF1,0x0AC7,0x1EF2,0x0ACB,0x1EF3,0x0ACE,0x1EF4,0x0AD1,
2861
  0x1EF5,0x0AD4,0x1EF6,0x0AD7,0x1EF7,0x0ADA,0x1EF8,0x0ADD,0x1EF9,0x0AE0,0x1F00,0x0AE3,0x1F01,0x0AE7,0x1F02,0x0AEB,0x1F03,0x0AF0,0x1F04,0x0AF5,0x1F05,0x0AFA,0x1F06,0x0AFF,0x1F07,0x0B04,0x1F08,0x0B09,0x1F09,0x0B0D,0x1F0A,0x0B11,
2862
  0x1F0B,0x0B16,0x1F0C,0x0B1B,0x1F0D,0x0B20,0x1F0E,0x0B25,0x1F0F,0x0B2A,0x1F10,0x0B2F,0x1F11,0x0B33,0x1F12,0x0B37,0x1F13,0x0B3C,0x1F14,0x0B41,0x1F15,0x0B46,0x1F18,0x0B4B,0x1F19,0x0B4F,0x1F1A,0x0B53,0x1F1B,0x0B58,0x1F1C,0x0B5D,
2863
  0x1F1D,0x0B62,0x1F20,0x0B67,0x1F21,0x0B6B,0x1F22,0x0B6F,0x1F23,0x0B74,0x1F24,0x0B79,0x1F25,0x0B7E,0x1F26,0x0B83,0x1F27,0x0B88,0x1F28,0x0B8D,0x1F29,0x0B91,0x1F2A,0x0B95,0x1F2B,0x0B9A,0x1F2C,0x0B9F,0x1F2D,0x0BA4,0x1F2E,0x0BA9,
2864
  0x1F2F,0x0BAE,0x1F30,0x0BB3,0x1F31,0x0BB7,0x1F32,0x0BBB,0x1F33,0x0BC0,0x1F34,0x0BC5,0x1F35,0x0BCA,0x1F36,0x0BCF,0x1F37,0x0BD4,0x1F38,0x0BD9,0x1F39,0x0BDD,0x1F3A,0x0BE1,0x1F3B,0x0BE6,0x1F3C,0x0BEB,0x1F3D,0x0BF0,0x1F3E,0x0BF5,
2865
  0x1F3F,0x0BFA,0x1F40,0x0BFF,0x1F41,0x0C03,0x1F42,0x0C07,0x1F43,0x0C0C,0x1F44,0x0C11,0x1F45,0x0C16,0x1F48,0x0C1B,0x1F49,0x0C1F,0x1F4A,0x0C23,0x1F4B,0x0C28,0x1F4C,0x0C2D,0x1F4D,0x0C32,0x1F50,0x0C37,0x1F51,0x0C3B,0x1F52,0x0C3F,
2866
  0x1F53,0x0C44,0x1F54,0x0C49,0x1F55,0x0C4E,0x1F56,0x0C53,0x1F57,0x0C58,0x1F59,0x0C5D,0x1F5B,0x0C61,0x1F5D,0x0C66,0x1F5F,0x0C6B,0x1F60,0x0C70,0x1F61,0x0C74,0x1F62,0x0C78,0x1F63,0x0C7D,0x1F64,0x0C82,0x1F65,0x0C87,0x1F66,0x0C8C,
2867
  0x1F67,0x0C91,0x1F68,0x0C96,0x1F69,0x0C9A,0x1F6A,0x0C9E,0x1F6B,0x0CA3,0x1F6C,0x0CA8,0x1F6D,0x0CAD,0x1F6E,0x0CB2,0x1F6F,0x0CB7,0x1F70,0x0CBC,0x1F71,0x0CC0,0x1F72,0x0CC2,0x1F73,0x0CC6,0x1F74,0x0CC8,0x1F75,0x0CCC,0x1F76,0x0CCE,
2868
  0x1F77,0x0CD2,0x1F78,0x0CD4,0x1F79,0x0CD8,0x1F7A,0x0CDA,0x1F7B,0x0CDE,0x1F7C,0x0CE0,0x1F7D,0x0CE4,0x1F80,0x0CE6,0x1F81,0x0CEB,0x1F82,0x0CF0,0x1F83,0x0CF5,0x1F84,0x0CFA,0x1F85,0x0CFF,0x1F86,0x0D04,0x1F87,0x0D09,0x1F88,0x0D0E,
2869
  0x1F89,0x0D13,0x1F8A,0x0D18,0x1F8B,0x0D1D,0x1F8C,0x0D22,0x1F8D,0x0D27,0x1F8E,0x0D2C,0x1F8F,0x0D31,0x1F90,0x0D36,0x1F91,0x0D3B,0x1F92,0x0D40,0x1F93,0x0D45,0x1F94,0x0D4A,0x1F95,0x0D4F,0x1F96,0x0D54,0x1F97,0x0D59,0x1F98,0x0D5E,
2870
  0x1F99,0x0D63,0x1F9A,0x0D68,0x1F9B,0x0D6D,0x1F9C,0x0D72,0x1F9D,0x0D77,0x1F9E,0x0D7C,0x1F9F,0x0D81,0x1FA0,0x0D86,0x1FA1,0x0D8B,0x1FA2,0x0D90,0x1FA3,0x0D95,0x1FA4,0x0D9A,0x1FA5,0x0D9F,0x1FA6,0x0DA4,0x1FA7,0x0DA9,0x1FA8,0x0DAE,
2871
  0x1FA9,0x0DB3,0x1FAA,0x0DB8,0x1FAB,0x0DBD,0x1FAC,0x0DC2,0x1FAD,0x0DC7,0x1FAE,0x0DCC,0x1FAF,0x0DD1,0x1FB0,0x0DD6,0x1FB1,0x0DDA,0x1FB2,0x0DDE,0x1FB3,0x0DE3,0x1FB4,0x0DE7,0x1FB6,0x0DEB,0x1FB7,0x0DEF,0x1FB8,0x0DF4,0x1FB9,0x0DF8,
2872
  0x1FBA,0x0DFC,0x1FBB,0x0E00,0x1FBC,0x0E02,0x1FBD,0x8E06,0x1FBE,0x0E09,0x1FBF,0x8E0B,0x1FC0,0x8E0E,0x1FC1,0x0E11,0x1FC2,0x0E15,0x1FC3,0x0E1A,0x1FC4,0x0E1E,0x1FC6,0x0E22,0x1FC7,0x0E26,0x1FC8,0x0E2B,0x1FC9,0x0E2F,0x1FCA,0x0E31,
2873
  0x1FCB,0x0E35,0x1FCC,0x0E37,0x1FCD,0x0E3B,0x1FCE,0x0E40,0x1FCF,0x0E45,0x1FD0,0x0E4A,0x1FD1,0x0E4E,0x1FD2,0x0E52,0x1FD3,0x0E56,0x1FD6,0x0E58,0x1FD7,0x0E5C,0x1FD8,0x0E60,0x1FD9,0x0E64,0x1FDA,0x0E68,0x1FDB,0x0E6C,0x1FDD,0x0E6E,
2874
  0x1FDE,0x0E73,0x1FDF,0x0E78,0x1FE0,0x0E7D,0x1FE1,0x0E81,0x1FE2,0x0E85,0x1FE3,0x0E89,0x1FE4,0x0E8B,0x1FE5,0x0E8F,0x1FE6,0x0E93,0x1FE7,0x0E97,0x1FE8,0x0E9B,0x1FE9,0x0E9F,0x1FEA,0x0EA3,0x1FEB,0x0EA7,0x1FEC,0x0EA9,0x1FED,0x0EAD,
2875
  0x1FEE,0x0EB1,0x1FEF,0x0EB3,0x1FF2,0x0EB4,0x1FF3,0x0EB9,0x1FF4,0x0EBD,0x1FF6,0x0EC1,0x1FF7,0x0EC5,0x1FF8,0x0ECA,0x1FF9,0x0ECE,0x1FFA,0x0ED0,0x1FFB,0x0ED4,0x1FFC,0x0ED6,0x1FFD,0x0EDA,0x1FFE,0x8EDC,0x2000,0x0EDF,0x2001,0x0EE2,
2876
  0x2002,0x8EE5,0x2003,0x8EE6,0x2004,0x8EE7,0x2005,0x8EE8,0x2006,0x8EE9,0x2007,0x8EEA,0x2008,0x8EEB,0x2009,0x8EEC,0x200A,0x8EED,0x2011,0x8EEE,0x2017,0x8EF1,0x2024,0x8EF4,0x2025,0x8EF5,0x2026,0x8EF7,0x202F,0x8EFA,0x2033,0x8EFB,
2877
  0x2034,0x8F01,0x2036,0x8F0A,0x2037,0x8F10,0x203C,0x8F19,0x203E,0x8F1B,0x2047,0x8F1E,0x2048,0x8F20,0x2049,0x8F22,0x2057,0x8F24,0x205F,0x8F30,0x2070,0x8F31,0x2071,0x8F32,0x2074,0x8F33,0x2075,0x8F34,0x2076,0x8F35,0x2077,0x8F36,
2878
  0x2078,0x8F37,0x2079,0x8F38,0x207A,0x8F39,0x207B,0x8F3A,0x207C,0x8F3D,0x207D,0x8F3E,0x207E,0x8F3F,0x207F,0x8F40,0x2080,0x8F41,0x2081,0x8F42,0x2082,0x8F43,0x2083,0x8F44,0x2084,0x8F45,0x2085,0x8F46,0x2086,0x8F47,0x2087,0x8F48,
2879
  0x2088,0x8F49,0x2089,0x8F4A,0x208A,0x8F4B,0x208B,0x8F4C,0x208C,0x8F4F,0x208D,0x8F50,0x208E,0x8F51,0x2090,0x8F52,0x2091,0x8F53,0x2092,0x8F54,0x2093,0x8F55,0x2094,0x8F56,0x2095,0x8F58,0x2096,0x8F59,0x2097,0x8F5A,0x2098,0x8F5B,
2880
  0x2099,0x8F5C,0x209A,0x8F5D,0x209B,0x8F5E,0x209C,0x8F5F,0x20A8,0x8F60,0x2100,0x8F62,0x2101,0x8F65,0x2102,0x8F68,0x2103,0x8F69,0x2105,0x8F6C,0x2106,0x8F6F,0x2107,0x8F72,0x2109,0x8F74,0x210A,0x8F77,0x210B,0x8F78,0x210C,0x8F79,
2881
  0x210D,0x8F7A,0x210E,0x8F7B,0x210F,0x8F7C,0x2110,0x8F7E,0x2111,0x8F7F,0x2112,0x8F80,0x2113,0x8F81,0x2115,0x8F82,0x2116,0x8F83,0x2119,0x8F85,0x211A,0x8F86,0x211B,0x8F87,0x211C,0x8F88,0x211D,0x8F89,0x2120,0x8F8A,0x2121,0x8F8C,
2882
  0x2122,0x8F8F,0x2124,0x8F91,0x2126,0x0F92,0x2128,0x8F94,0x212A,0x0F95,0x212B,0x0F96,0x212C,0x8F98,0x212D,0x8F99,0x212F,0x8F9A,0x2130,0x8F9B,0x2131,0x8F9C,0x2133,0x8F9D,0x2134,0x8F9E,0x2135,0x8F9F,0x2136,0x8FA1,0x2137,0x8FA3,
2883
  0x2138,0x8FA5,0x2139,0x8FA7,0x213B,0x8FA8,0x213C,0x8FAB,0x213D,0x8FAD,0x213E,0x8FAF,0x213F,0x8FB1,0x2140,0x8FB3,0x2145,0x8FB6,0x2146,0x8FB7,0x2147,0x8FB8,0x2148,0x8FB9,0x2149,0x8FBA,0x2150,0x8FBB,0x2151,0x8FC0,0x2152,0x8FC5,
2884
  0x2153,0x8FCB,0x2154,0x8FD0,0x2155,0x8FD5,0x2156,0x8FDA,0x2157,0x8FDF,0x2158,0x8FE4,0x2159,0x8FE9,0x215A,0x8FEE,0x215B,0x8FF3,0x215C,0x8FF8,0x215D,0x8FFD,0x215E,0x9002,0x215F,0x9007,0x2160,0x900B,0x2161,0x900C,0x2162,0x900E,
2885
  0x2163,0x9011,0x2164,0x9013,0x2165,0x9014,0x2166,0x9016,0x2167,0x9019,0x2168,0x901D,0x2169,0x901F,0x216A,0x9020,0x216B,0x9022,0x216C,0x9025,0x216D,0x9026,0x216E,0x9027,0x216F,0x9028,0x2170,0x9029,0x2171,0x902A,0x2172,0x902C,
2886
  0x2173,0x902F,0x2174,0x9031,0x2175,0x9032,0x2176,0x9034,0x2177,0x9037,0x2178,0x903B,0x2179,0x903D,0x217A,0x903E,0x217B,0x9040,0x217C,0x9043,0x217D,0x9044,0x217E,0x9045,0x217F,0x9046,0x2189,0x9047,0x219A,0x104C,0x219B,0x1051,
2887
  0x21AE,0x1056,0x21CD,0x105B,0x21CE,0x1060,0x21CF,0x1065,0x2204,0x106A,0x2209,0x106F,0x220C,0x1074,0x2224,0x1079,0x2226,0x107E,0x222C,0x9083,0x222D,0x9089,0x222F,0x9092,0x2230,0x9098,0x2241,0x10A1,0x2244,0x10A6,0x2247,0x10AB,
2888
  0x2249,0x10B0,0x2260,0x10B5,0x2262,0x10B8,0x226D,0x10BD,0x226E,0x10C2,0x226F,0x10C5,0x2270,0x10C8,0x2271,0x10CD,0x2274,0x10D2,0x2275,0x10D7,0x2278,0x10DC,0x2279,0x10E1,0x2280,0x10E6,0x2281,0x10EB,0x2284,0x10F0,0x2285,0x10F5,
2889
  0x2288,0x10FA,0x2289,0x10FF,0x22AC,0x1104,0x22AD,0x1109,0x22AE,0x110E,0x22AF,0x1113,0x22E0,0x1118,0x22E1,0x111D,0x22E2,0x1122,0x22E3,0x1127,0x22EA,0x112C,0x22EB,0x1131,0x22EC,0x1136,0x22ED,0x113B,0x2329,0x1140,0x232A,0x1143,
2890
  0x2460,0x9146,0x2461,0x9147,0x2462,0x9148,0x2463,0x9149,0x2464,0x914A,0x2465,0x914B,0x2466,0x914C,0x2467,0x914D,0x2468,0x914E,0x2469,0x914F,0x246A,0x9151,0x246B,0x9153,0x246C,0x9155,0x246D,0x9157,0x246E,0x9159,0x246F,0x915B,
2891
  0x2470,0x915D,0x2471,0x915F,0x2472,0x9161,0x2473,0x9163,0x2474,0x9165,0x2475,0x9168,0x2476,0x916B,0x2477,0x916E,0x2478,0x9171,0x2479,0x9174,0x247A,0x9177,0x247B,0x917A,0x247C,0x917D,0x247D,0x9180,0x247E,0x9184,0x247F,0x9188,
2892
  0x2480,0x918C,0x2481,0x9190,0x2482,0x9194,0x2483,0x9198,0x2484,0x919C,0x2485,0x91A0,0x2486,0x91A4,0x2487,0x91A8,0x2488,0x91AC,0x2489,0x91AE,0x248A,0x91B0,0x248B,0x91B2,0x248C,0x91B4,0x248D,0x91B6,0x248E,0x91B8,0x248F,0x91BA,
2893
  0x2490,0x91BC,0x2491,0x91BE,0x2492,0x91C1,0x2493,0x91C4,0x2494,0x91C7,0x2495,0x91CA,0x2496,0x91CD,0x2497,0x91D0,0x2498,0x91D3,0x2499,0x91D6,0x249A,0x91D9,0x249B,0x91DC,0x249C,0x91DF,0x249D,0x91E2,0x249E,0x91E5,0x249F,0x91E8,
2894
  0x24A0,0x91EB,0x24A1,0x91EE,0x24A2,0x91F1,0x24A3,0x91F4,0x24A4,0x91F7,0x24A5,0x91FA,0x24A6,0x91FD,0x24A7,0x9200,0x24A8,0x9203,0x24A9,0x9206,0x24AA,0x9209,0x24AB,0x920C,0x24AC,0x920F,0x24AD,0x9212,0x24AE,0x9215,0x24AF,0x9218,
2895
  0x24B0,0x921B,0x24B1,0x921E,0x24B2,0x9221,0x24B3,0x9224,0x24B4,0x9227,0x24B5,0x922A,0x24B6,0x922D,0x24B7,0x922E,0x24B8,0x922F,0x24B9,0x9230,0x24BA,0x9231,0x24BB,0x9232,0x24BC,0x9233,0x24BD,0x9234,0x24BE,0x9235,0x24BF,0x9236,
2896
  0x24C0,0x9237,0x24C1,0x9238,0x24C2,0x9239,0x24C3,0x923A,0x24C4,0x923B,0x24C5,0x923C,0x24C6,0x923D,0x24C7,0x923E,0x24C8,0x923F,0x24C9,0x9240,0x24CA,0x9241,0x24CB,0x9242,0x24CC,0x9243,0x24CD,0x9244,0x24CE,0x9245,0x24CF,0x9246,
2897
  0x24D0,0x9247,0x24D1,0x9248,0x24D2,0x9249,0x24D3,0x924A,0x24D4,0x924B,0x24D5,0x924C,0x24D6,0x924D,0x24D7,0x924E,0x24D8,0x924F,0x24D9,0x9250,0x24DA,0x9251,0x24DB,0x9252,0x24DC,0x9253,0x24DD,0x9254,0x24DE,0x9255,0x24DF,0x9256,
2898
  0x24E0,0x9257,0x24E1,0x9258,0x24E2,0x9259,0x24E3,0x925A,0x24E4,0x925B,0x24E5,0x925C,0x24E6,0x925D,0x24E7,0x925E,0x24E8,0x925F,0x24E9,0x9260,0x24EA,0x9261,0x2A0C,0x9262,0x2A74,0x926E,0x2A75,0x9271,0x2A76,0x9273,0x2ADC,0x1276,
2899
  0x2C7C,0x927B,0x2C7D,0x927C,0x2D6F,0x927D,0x2E9F,0x9280,0x2EF3,0x9283,0x2F00,0x9286,0x2F01,0x9289,0x2F02,0x928C,0x2F03,0x928F,0x2F04,0x9292,0x2F05,0x9295,0x2F06,0x9298,0x2F07,0x929B,0x2F08,0x929E,0x2F09,0x92A1,0x2F0A,0x92A4,
2900
  0x2F0B,0x92A7,0x2F0C,0x92AA,0x2F0D,0x92AD,0x2F0E,0x92B0,0x2F0F,0x92B3,0x2F10,0x92B6,0x2F11,0x92B9,0x2F12,0x92BC,0x2F13,0x92BF,0x2F14,0x92C2,0x2F15,0x92C5,0x2F16,0x92C8,0x2F17,0x92CB,0x2F18,0x92CE,0x2F19,0x92D1,0x2F1A,0x92D4,
2901
  0x2F1B,0x92D7,0x2F1C,0x92DA,0x2F1D,0x92DD,0x2F1E,0x92E0,0x2F1F,0x92E3,0x2F20,0x92E6,0x2F21,0x92E9,0x2F22,0x92EC,0x2F23,0x92EF,0x2F24,0x92F2,0x2F25,0x92F5,0x2F26,0x92F8,0x2F27,0x92FB,0x2F28,0x92FE,0x2F29,0x9301,0x2F2A,0x9304,
2902
  0x2F2B,0x9307,0x2F2C,0x930A,0x2F2D,0x930D,0x2F2E,0x9310,0x2F2F,0x9313,0x2F30,0x9316,0x2F31,0x9319,0x2F32,0x931C,0x2F33,0x931F,0x2F34,0x9322,0x2F35,0x9325,0x2F36,0x9328,0x2F37,0x932B,0x2F38,0x932E,0x2F39,0x9331,0x2F3A,0x9334,
2903
  0x2F3B,0x9337,0x2F3C,0x933A,0x2F3D,0x933D,0x2F3E,0x9340,0x2F3F,0x9343,0x2F40,0x9346,0x2F41,0x9349,0x2F42,0x934C,0x2F43,0x934F,0x2F44,0x9352,0x2F45,0x9355,0x2F46,0x9358,0x2F47,0x935B,0x2F48,0x935E,0x2F49,0x9361,0x2F4A,0x9364,
2904
  0x2F4B,0x9367,0x2F4C,0x936A,0x2F4D,0x936D,0x2F4E,0x9370,0x2F4F,0x9373,0x2F50,0x9376,0x2F51,0x9379,0x2F52,0x937C,0x2F53,0x937F,0x2F54,0x9382,0x2F55,0x9385,0x2F56,0x9388,0x2F57,0x938B,0x2F58,0x938E,0x2F59,0x9391,0x2F5A,0x9394,
2905
  0x2F5B,0x9397,0x2F5C,0x939A,0x2F5D,0x939D,0x2F5E,0x93A0,0x2F5F,0x93A3,0x2F60,0x93A6,0x2F61,0x93A9,0x2F62,0x93AC,0x2F63,0x93AF,0x2F64,0x93B2,0x2F65,0x93B5,0x2F66,0x93B8,0x2F67,0x93BB,0x2F68,0x93BE,0x2F69,0x93C1,0x2F6A,0x93C4,
2906
  0x2F6B,0x93C7,0x2F6C,0x93CA,0x2F6D,0x93CD,0x2F6E,0x93D0,0x2F6F,0x93D3,0x2F70,0x93D6,0x2F71,0x93D9,0x2F72,0x93DC,0x2F73,0x93DF,0x2F74,0x93E2,0x2F75,0x93E5,0x2F76,0x93E8,0x2F77,0x93EB,0x2F78,0x93EE,0x2F79,0x93F1,0x2F7A,0x93F4,
2907
  0x2F7B,0x93F7,0x2F7C,0x93FA,0x2F7D,0x93FD,0x2F7E,0x9400,0x2F7F,0x9403,0x2F80,0x9406,0x2F81,0x9409,0x2F82,0x940C,0x2F83,0x940F,0x2F84,0x9412,0x2F85,0x9415,0x2F86,0x9418,0x2F87,0x941B,0x2F88,0x941E,0x2F89,0x9421,0x2F8A,0x9424,
2908
  0x2F8B,0x9427,0x2F8C,0x942A,0x2F8D,0x942D,0x2F8E,0x9430,0x2F8F,0x9433,0x2F90,0x9436,0x2F91,0x9439,0x2F92,0x943C,0x2F93,0x943F,0x2F94,0x9442,0x2F95,0x9445,0x2F96,0x9448,0x2F97,0x944B,0x2F98,0x944E,0x2F99,0x9451,0x2F9A,0x9454,
2909
  0x2F9B,0x9457,0x2F9C,0x945A,0x2F9D,0x945D,0x2F9E,0x9460,0x2F9F,0x9463,0x2FA0,0x9466,0x2FA1,0x9469,0x2FA2,0x946C,0x2FA3,0x946F,0x2FA4,0x9472,0x2FA5,0x9475,0x2FA6,0x9478,0x2FA7,0x947B,0x2FA8,0x947E,0x2FA9,0x9481,0x2FAA,0x9484,
2910
  0x2FAB,0x9487,0x2FAC,0x948A,0x2FAD,0x948D,0x2FAE,0x9490,0x2FAF,0x9493,0x2FB0,0x9496,0x2FB1,0x9499,0x2FB2,0x949C,0x2FB3,0x949F,0x2FB4,0x94A2,0x2FB5,0x94A5,0x2FB6,0x94A8,0x2FB7,0x94AB,0x2FB8,0x94AE,0x2FB9,0x94B1,0x2FBA,0x94B4,
2911
  0x2FBB,0x94B7,0x2FBC,0x94BA,0x2FBD,0x94BD,0x2FBE,0x94C0,0x2FBF,0x94C3,0x2FC0,0x94C6,0x2FC1,0x94C9,0x2FC2,0x94CC,0x2FC3,0x94CF,0x2FC4,0x94D2,0x2FC5,0x94D5,0x2FC6,0x94D8,0x2FC7,0x94DB,0x2FC8,0x94DE,0x2FC9,0x94E1,0x2FCA,0x94E4,
2912
  0x2FCB,0x94E7,0x2FCC,0x94EA,0x2FCD,0x94ED,0x2FCE,0x94F0,0x2FCF,0x94F3,0x2FD0,0x94F6,0x2FD1,0x94F9,0x2FD2,0x94FC,0x2FD3,0x94FF,0x2FD4,0x9502,0x2FD5,0x9505,0x3000,0x9508,0x3036,0x9509,0x3038,0x950C,0x3039,0x950F,0x303A,0x9512,
2913
  0x304C,0x1515,0x304E,0x151B,0x3050,0x1521,0x3052,0x1527,0x3054,0x152D,0x3056,0x1533,0x3058,0x1539,0x305A,0x153F,0x305C,0x1545,0x305E,0x154B,0x3060,0x1551,0x3062,0x1557,0x3065,0x155D,0x3067,0x1563,0x3069,0x1569,0x3070,0x156F,
2914
  0x3071,0x1575,0x3073,0x157B,0x3074,0x1581,0x3076,0x1587,0x3077,0x158D,0x3079,0x1593,0x307A,0x1599,0x307C,0x159F,0x307D,0x15A5,0x3094,0x15AB,0x309B,0x95B1,0x309C,0x95B5,0x309E,0x15B9,0x309F,0x95BF,0x30AC,0x15C5,0x30AE,0x15CB,
2915
  0x30B0,0x15D1,0x30B2,0x15D7,0x30B4,0x15DD,0x30B6,0x15E3,0x30B8,0x15E9,0x30BA,0x15EF,0x30BC,0x15F5,0x30BE,0x15FB,0x30C0,0x1601,0x30C2,0x1607,0x30C5,0x160D,0x30C7,0x1613,0x30C9,0x1619,0x30D0,0x161F,0x30D1,0x1625,0x30D3,0x162B,
2916
  0x30D4,0x1631,0x30D6,0x1637,0x30D7,0x163D,0x30D9,0x1643,0x30DA,0x1649,0x30DC,0x164F,0x30DD,0x1655,0x30F4,0x165B,0x30F7,0x1661,0x30F8,0x1667,0x30F9,0x166D,0x30FA,0x1673,0x30FE,0x1679,0x30FF,0x967F,0x3131,0x9685,0x3132,0x9688,
2917
  0x3133,0x968B,0x3134,0x968E,0x3135,0x9691,0x3136,0x9694,0x3137,0x9697,0x3138,0x969A,0x3139,0x969D,0x313A,0x96A0,0x313B,0x96A3,0x313C,0x96A6,0x313D,0x96A9,0x313E,0x96AC,0x313F,0x96AF,0x3140,0x96B2,0x3141,0x96B5,0x3142,0x96B8,
2918
  0x3143,0x96BB,0x3144,0x96BE,0x3145,0x96C1,0x3146,0x96C4,0x3147,0x96C7,0x3148,0x96CA,0x3149,0x96CD,0x314A,0x96D0,0x314B,0x96D3,0x314C,0x96D6,0x314D,0x96D9,0x314E,0x96DC,0x314F,0x96DF,0x3150,0x96E2,0x3151,0x96E5,0x3152,0x96E8,
2919
  0x3153,0x96EB,0x3154,0x96EE,0x3155,0x96F1,0x3156,0x96F4,0x3157,0x96F7,0x3158,0x96FA,0x3159,0x96FD,0x315A,0x9700,0x315B,0x9703,0x315C,0x9706,0x315D,0x9709,0x315E,0x970C,0x315F,0x970F,0x3160,0x9712,0x3161,0x9715,0x3162,0x9718,
2920
  0x3163,0x971B,0x3164,0x971E,0x3165,0x9721,0x3166,0x9724,0x3167,0x9727,0x3168,0x972A,0x3169,0x972D,0x316A,0x9730,0x316B,0x9733,0x316C,0x9736,0x316D,0x9739,0x316E,0x973C,0x316F,0x973F,0x3170,0x9742,0x3171,0x9745,0x3172,0x9748,
2921
  0x3173,0x974B,0x3174,0x974E,0x3175,0x9751,0x3176,0x9754,0x3177,0x9757,0x3178,0x975A,0x3179,0x975D,0x317A,0x9760,0x317B,0x9763,0x317C,0x9766,0x317D,0x9769,0x317E,0x976C,0x317F,0x976F,0x3180,0x9772,0x3181,0x9775,0x3182,0x9778,
2922
  0x3183,0x977B,0x3184,0x977E,0x3185,0x9781,0x3186,0x9784,0x3187,0x9787,0x3188,0x978A,0x3189,0x978D,0x318A,0x9790,0x318B,0x9793,0x318C,0x9796,0x318D,0x9799,0x318E,0x979C,0x3192,0x979F,0x3193,0x97A2,0x3194,0x97A5,0x3195,0x97A8,
2923
  0x3196,0x97AB,0x3197,0x97AE,0x3198,0x97B1,0x3199,0x97B4,0x319A,0x97B7,0x319B,0x97BA,0x319C,0x97BD,0x319D,0x97C0,0x319E,0x97C3,0x319F,0x97C6,0x3200,0x97C9,0x3201,0x97CE,0x3202,0x97D3,0x3203,0x97D8,0x3204,0x97DD,0x3205,0x97E2,
2924
  0x3206,0x97E7,0x3207,0x97EC,0x3208,0x97F1,0x3209,0x97F6,0x320A,0x97FB,0x320B,0x9800,0x320C,0x9805,0x320D,0x980A,0x320E,0x980F,0x320F,0x9817,0x3210,0x981F,0x3211,0x9827,0x3212,0x982F,0x3213,0x9837,0x3214,0x983F,0x3215,0x9847,
2925
  0x3216,0x984F,0x3217,0x9857,0x3218,0x985F,0x3219,0x9867,0x321A,0x986F,0x321B,0x9877,0x321C,0x987F,0x321D,0x9887,0x321E,0x9898,0x3220,0x98A6,0x3221,0x98AB,0x3222,0x98B0,0x3223,0x98B5,0x3224,0x98BA,0x3225,0x98BF,0x3226,0x98C4,
2926
  0x3227,0x98C9,0x3228,0x98CE,0x3229,0x98D3,0x322A,0x98D8,0x322B,0x98DD,0x322C,0x98E2,0x322D,0x98E7,0x322E,0x98EC,0x322F,0x98F1,0x3230,0x98F6,0x3231,0x98FB,0x3232,0x9900,0x3233,0x9905,0x3234,0x990A,0x3235,0x990F,0x3236,0x9914,
2927
  0x3237,0x9919,0x3238,0x991E,0x3239,0x9923,0x323A,0x9928,0x323B,0x992D,0x323C,0x9932,0x323D,0x9937,0x323E,0x993C,0x323F,0x9941,0x3240,0x9946,0x3241,0x994B,0x3242,0x9950,0x3243,0x9955,0x3244,0x995A,0x3245,0x995D,0x3246,0x9960,
2928
  0x3247,0x9963,0x3250,0x9966,0x3251,0x9969,0x3252,0x996B,0x3253,0x996D,0x3254,0x996F,0x3255,0x9971,0x3256,0x9973,0x3257,0x9975,0x3258,0x9977,0x3259,0x9979,0x325A,0x997B,0x325B,0x997D,0x325C,0x997F,0x325D,0x9981,0x325E,0x9983,
2929
  0x325F,0x9985,0x3260,0x9987,0x3261,0x998A,0x3262,0x998D,0x3263,0x9990,0x3264,0x9993,0x3265,0x9996,0x3266,0x9999,0x3267,0x999C,0x3268,0x999F,0x3269,0x99A2,0x326A,0x99A5,0x326B,0x99A8,0x326C,0x99AB,0x326D,0x99AE,0x326E,0x99B1,
2930
  0x326F,0x99B7,0x3270,0x99BD,0x3271,0x99C3,0x3272,0x99C9,0x3273,0x99CF,0x3274,0x99D5,0x3275,0x99DB,0x3276,0x99E1,0x3277,0x99E7,0x3278,0x99ED,0x3279,0x99F3,0x327A,0x99F9,0x327B,0x99FF,0x327C,0x9A05,0x327D,0x9A14,0x327E,0x9A20,
2931
  0x3280,0x9A26,0x3281,0x9A29,0x3282,0x9A2C,0x3283,0x9A2F,0x3284,0x9A32,0x3285,0x9A35,0x3286,0x9A38,0x3287,0x9A3B,0x3288,0x9A3E,0x3289,0x9A41,0x328A,0x9A44,0x328B,0x9A47,0x328C,0x9A4A,0x328D,0x9A4D,0x328E,0x9A50,0x328F,0x9A53,
2932
  0x3290,0x9A56,0x3291,0x9A59,0x3292,0x9A5C,0x3293,0x9A5F,0x3294,0x9A62,0x3295,0x9A65,0x3296,0x9A68,0x3297,0x9A6B,0x3298,0x9A6E,0x3299,0x9A71,0x329A,0x9A74,0x329B,0x9A77,0x329C,0x9A7A,0x329D,0x9A7D,0x329E,0x9A80,0x329F,0x9A83,
2933
  0x32A0,0x9A86,0x32A1,0x9A89,0x32A2,0x9A8C,0x32A3,0x9A8F,0x32A4,0x9A92,0x32A5,0x9A95,0x32A6,0x9A98,0x32A7,0x9A9B,0x32A8,0x9A9E,0x32A9,0x9AA1,0x32AA,0x9AA4,0x32AB,0x9AA7,0x32AC,0x9AAA,0x32AD,0x9AAD,0x32AE,0x9AB0,0x32AF,0x9AB3,
2934
  0x32B0,0x9AB6,0x32B1,0x9AB9,0x32B2,0x9ABB,0x32B3,0x9ABD,0x32B4,0x9ABF,0x32B5,0x9AC1,0x32B6,0x9AC3,0x32B7,0x9AC5,0x32B8,0x9AC7,0x32B9,0x9AC9,0x32BA,0x9ACB,0x32BB,0x9ACD,0x32BC,0x9ACF,0x32BD,0x9AD1,0x32BE,0x9AD3,0x32BF,0x9AD5,
2935
  0x32C0,0x9AD7,0x32C1,0x9ADB,0x32C2,0x9ADF,0x32C3,0x9AE3,0x32C4,0x9AE7,0x32C5,0x9AEB,0x32C6,0x9AEF,0x32C7,0x9AF3,0x32C8,0x9AF7,0x32C9,0x9AFB,0x32CA,0x9B00,0x32CB,0x9B05,0x32CC,0x9B0A,0x32CD,0x9B0C,0x32CE,0x9B0F,0x32CF,0x9B11,
2936
  0x32D0,0x9B14,0x32D1,0x9B17,0x32D2,0x9B1A,0x32D3,0x9B1D,0x32D4,0x9B20,0x32D5,0x9B23,0x32D6,0x9B26,0x32D7,0x9B29,0x32D8,0x9B2C,0x32D9,0x9B2F,0x32DA,0x9B32,0x32DB,0x9B35,0x32DC,0x9B38,0x32DD,0x9B3B,0x32DE,0x9B3E,0x32DF,0x9B41,
2937
  0x32E0,0x9B44,0x32E1,0x9B47,0x32E2,0x9B4A,0x32E3,0x9B4D,0x32E4,0x9B50,0x32E5,0x9B53,0x32E6,0x9B56,0x32E7,0x9B59,0x32E8,0x9B5C,0x32E9,0x9B5F,0x32EA,0x9B62,0x32EB,0x9B65,0x32EC,0x9B68,0x32ED,0x9B6B,0x32EE,0x9B6E,0x32EF,0x9B71,
2938
  0x32F0,0x9B74,0x32F1,0x9B77,0x32F2,0x9B7A,0x32F3,0x9B7D,0x32F4,0x9B80,0x32F5,0x9B83,0x32F6,0x9B86,0x32F7,0x9B89,0x32F8,0x9B8C,0x32F9,0x9B8F,0x32FA,0x9B92,0x32FB,0x9B95,0x32FC,0x9B98,0x32FD,0x9B9B,0x32FE,0x9B9E,0x32FF,0x9BA1,
2939
  0x3300,0x9BA7,0x3301,0x9BB3,0x3302,0x9BBF,0x3303,0x9BCB,0x3304,0x9BD4,0x3305,0x9BE0,0x3306,0x9BE9,0x3307,0x9BF2,0x3308,0x9C01,0x3309,0x9C0D,0x330A,0x9C16,0x330B,0x9C1F,0x330C,0x9C28,0x330D,0x9C34,0x330E,0x9C40,0x330F,0x9C49,
2940
  0x3310,0x9C52,0x3311,0x9C58,0x3312,0x9C61,0x3313,0x9C6D,0x3314,0x9C79,0x3315,0x9C7F,0x3316,0x9C8E,0x3317,0x9CA0,0x3318,0x9CAF,0x3319,0x9CB8,0x331A,0x9CC7,0x331B,0x9CD6,0x331C,0x9CE2,0x331D,0x9CEB,0x331E,0x9CF4,0x331F,0x9CFD,
2941
  0x3320,0x9D09,0x3321,0x9D18,0x3322,0x9D24,0x3323,0x9D2D,0x3324,0x9D36,0x3325,0x9D3F,0x3326,0x9D45,0x3327,0x9D4B,0x3328,0x9D51,0x3329,0x9D57,0x332A,0x9D60,0x332B,0x9D69,0x332C,0x9D78,0x332D,0x9D81,0x332E,0x9D8D,0x332F,0x9D9C,
2942
  0x3330,0x9DA5,0x3331,0x9DAB,0x3332,0x9DB1,0x3333,0x9DC0,0x3334,0x9DCC,0x3335,0x9DDB,0x3336,0x9DE4,0x3337,0x9DF3,0x3338,0x9DF9,0x3339,0x9E02,0x333A,0x9E0B,0x333B,0x9E14,0x333C,0x9E1D,0x333D,0x9E26,0x333E,0x9E32,0x333F,0x9E3B,
2943
  0x3340,0x9E41,0x3341,0x9E4A,0x3342,0x9E53,0x3343,0x9E5C,0x3344,0x9E68,0x3345,0x9E71,0x3346,0x9E7A,0x3347,0x9E83,0x3348,0x9E92,0x3349,0x9E9E,0x334A,0x9EA4,0x334B,0x9EB3,0x334C,0x9EB9,0x334D,0x9EC5,0x334E,0x9ED1,0x334F,0x9EDA,
2944
  0x3350,0x9EE3,0x3351,0x9EEC,0x3352,0x9EF8,0x3353,0x9EFE,0x3354,0x9F07,0x3355,0x9F13,0x3356,0x9F19,0x3357,0x9F28,0x3358,0x9F31,0x3359,0x9F35,0x335A,0x9F39,0x335B,0x9F3D,0x335C,0x9F41,0x335D,0x9F45,0x335E,0x9F49,0x335F,0x9F4D,
2945
  0x3360,0x9F51,0x3361,0x9F55,0x3362,0x9F59,0x3363,0x9F5E,0x3364,0x9F63,0x3365,0x9F68,0x3366,0x9F6D,0x3367,0x9F72,0x3368,0x9F77,0x3369,0x9F7C,0x336A,0x9F81,0x336B,0x9F86,0x336C,0x9F8B,0x336D,0x9F90,0x336E,0x9F95,0x336F,0x9F9A,
2946
  0x3370,0x9F9F,0x3371,0x9FA4,0x3372,0x9FA7,0x3373,0x9FA9,0x3374,0x9FAB,0x3375,0x9FAE,0x3376,0x9FB0,0x3377,0x9FB2,0x3378,0x9FB4,0x3379,0x9FB8,0x337A,0x9FBC,0x337B,0x9FBE,0x337C,0x9FC4,0x337D,0x9FCA,0x337E,0x9FD0,0x337F,0x9FD6,
2947
  0x3380,0x9FE2,0x3381,0x9FE4,0x3382,0x9FE6,0x3383,0x9FE9,0x3384,0x9FEB,0x3385,0x9FED,0x3386,0x9FEF,0x3387,0x9FF1,0x3388,0x9FF3,0x3389,0x9FF6,0x338A,0x9FFA,0x338B,0x9FFC,0x338C,0x9FFE,0x338D,0xA001,0x338E,0xA004,0x338F,0xA006,
2948
  0x3390,0xA008,0x3391,0xA00A,0x3392,0xA00D,0x3393,0xA010,0x3394,0xA013,0x3395,0xA016,0x3396,0xA01B,0x3397,0xA01F,0x3398,0xA023,0x3399,0xA027,0x339A,0xA029,0x339B,0xA02B,0x339C,0xA02E,0x339D,0xA030,0x339E,0xA032,0x339F,0xA034,
2949
  0x33A0,0xA038,0x33A1,0xA03C,0x33A2,0xA03F,0x33A3,0xA043,0x33A4,0xA047,0x33A5,0xA04B,0x33A6,0xA04E,0x33A7,0xA052,0x33A8,0xA057,0x33A9,0xA05E,0x33AA,0xA060,0x33AB,0xA063,0x33AC,0xA066,0x33AD,0xA069,0x33AE,0xA06C,0x33AF,0xA073,
2950
  0x33B0,0xA07C,0x33B1,0xA07E,0x33B2,0xA080,0x33B3,0xA083,0x33B4,0xA085,0x33B5,0xA087,0x33B6,0xA089,0x33B7,0xA08C,0x33B8,0xA08E,0x33B9,0xA090,0x33BA,0xA092,0x33BB,0xA094,0x33BC,0xA096,0x33BD,0xA099,0x33BE,0xA09B,0x33BF,0xA09D,
2951
  0x33C0,0xA09F,0x33C1,0xA0A2,0x33C2,0xA0A5,0x33C3,0xA0A9,0x33C4,0xA0AB,0x33C5,0xA0AD,0x33C6,0xA0AF,0x33C7,0xA0B5,0x33C8,0xA0B8,0x33C9,0xA0BA,0x33CA,0xA0BC,0x33CB,0xA0BE,0x33CC,0xA0C0,0x33CD,0xA0C2,0x33CE,0xA0C4,0x33CF,0xA0C6,
2952
  0x33D0,0xA0C8,0x33D1,0xA0CA,0x33D2,0xA0CC,0x33D3,0xA0CF,0x33D4,0xA0D1,0x33D5,0xA0D3,0x33D6,0xA0D6,0x33D7,0xA0D9,0x33D8,0xA0DB,0x33D9,0xA0DF,0x33DA,0xA0E2,0x33DB,0xA0E4,0x33DC,0xA0E6,0x33DD,0xA0E8,0x33DE,0xA0EA,0x33DF,0xA0EF,
2953
  0x33E0,0xA0F4,0x33E1,0xA0F8,0x33E2,0xA0FC,0x33E3,0xA100,0x33E4,0xA104,0x33E5,0xA108,0x33E6,0xA10C,0x33E7,0xA110,0x33E8,0xA114,0x33E9,0xA118,0x33EA,0xA11D,0x33EB,0xA122,0x33EC,0xA127,0x33ED,0xA12C,0x33EE,0xA131,0x33EF,0xA136,
2954
  0x33F0,0xA13B,0x33F1,0xA140,0x33F2,0xA145,0x33F3,0xA14A,0x33F4,0xA14F,0x33F5,0xA154,0x33F6,0xA159,0x33F7,0xA15E,0x33F8,0xA163,0x33F9,0xA168,0x33FA,0xA16D,0x33FB,0xA172,0x33FC,0xA177,0x33FD,0xA17C,0x33FE,0xA181,0x33FF,0xA186,
2955
  0xA69C,0xA189,0xA69D,0xA18B,0xA770,0xA18D,0xA7F2,0xA190,0xA7F3,0xA191,0xA7F4,0xA192,0xA7F8,0xA193,0xA7F9,0xA195,0xAB5C,0xA197,0xAB5D,0xA19A,0xAB5E,0xA19D,0xAB5F,0xA19F,0xAB69,0xA1A2,0xF900,0x21A4,0xF901,0x21A7,0xF902,0x21AA,
2956
  0xF903,0x21AD,0xF904,0x21B0,0xF905,0x21B3,0xF906,0x21B6,0xF907,0x21B9,0xF908,0x21BC,0xF909,0x21BF,0xF90A,0x21C2,0xF90B,0x21C5,0xF90C,0x21C8,0xF90D,0x21CB,0xF90E,0x21CE,0xF90F,0x21D1,0xF910,0x21D4,0xF911,0x21D7,0xF912,0x21DA,
2957
  0xF913,0x21DD,0xF914,0x21E0,0xF915,0x21E3,0xF916,0x21E6,0xF917,0x21E9,0xF918,0x21EC,0xF919,0x21EF,0xF91A,0x21F2,0xF91B,0x21F5,0xF91C,0x21F8,0xF91D,0x21FB,0xF91E,0x21FE,0xF91F,0x2201,0xF920,0x2204,0xF921,0x2207,0xF922,0x220A,
2958
  0xF923,0x220D,0xF924,0x2210,0xF925,0x2213,0xF926,0x2216,0xF927,0x2219,0xF928,0x221C,0xF929,0x221F,0xF92A,0x2222,0xF92B,0x2225,0xF92C,0x2228,0xF92D,0x222B,0xF92E,0x222E,0xF92F,0x2231,0xF930,0x2234,0xF931,0x2237,0xF932,0x223A,
2959
  0xF933,0x223D,0xF934,0x2240,0xF935,0x2243,0xF936,0x2246,0xF937,0x2249,0xF938,0x224C,0xF939,0x224F,0xF93A,0x2252,0xF93B,0x2255,0xF93C,0x2258,0xF93D,0x225B,0xF93E,0x225E,0xF93F,0x2261,0xF940,0x2264,0xF941,0x2267,0xF942,0x226A,
2960
  0xF943,0x226D,0xF944,0x2270,0xF945,0x2273,0xF946,0x2276,0xF947,0x2279,0xF948,0x227C,0xF949,0x227F,0xF94A,0x2282,0xF94B,0x2285,0xF94C,0x2288,0xF94D,0x228B,0xF94E,0x228E,0xF94F,0x2291,0xF950,0x2294,0xF951,0x2297,0xF952,0x229A,
2961
  0xF953,0x229D,0xF954,0x22A0,0xF955,0x22A3,0xF956,0x22A6,0xF957,0x22A9,0xF958,0x22AC,0xF959,0x22AF,0xF95A,0x22B2,0xF95B,0x22B5,0xF95C,0x22B8,0xF95D,0x22BB,0xF95E,0x22BE,0xF95F,0x22C1,0xF960,0x22C4,0xF961,0x22C7,0xF962,0x22CA,
2962
  0xF963,0x22CD,0xF964,0x22D0,0xF965,0x22D3,0xF966,0x22D6,0xF967,0x22D9,0xF968,0x22DC,0xF969,0x22DF,0xF96A,0x22E2,0xF96B,0x22E5,0xF96C,0x22E8,0xF96D,0x22EB,0xF96E,0x22EE,0xF96F,0x22F1,0xF970,0x22F4,0xF971,0x22F7,0xF972,0x22FA,
2963
  0xF973,0x22FD,0xF974,0x2300,0xF975,0x2303,0xF976,0x2306,0xF977,0x2309,0xF978,0x230C,0xF979,0x230F,0xF97A,0x2312,0xF97B,0x2315,0xF97C,0x2318,0xF97D,0x231B,0xF97E,0x231E,0xF97F,0x2321,0xF980,0x2324,0xF981,0x2327,0xF982,0x232A,
2964
  0xF983,0x232D,0xF984,0x2330,0xF985,0x2333,0xF986,0x2336,0xF987,0x2339,0xF988,0x233C,0xF989,0x233F,0xF98A,0x2342,0xF98B,0x2345,0xF98C,0x2348,0xF98D,0x234B,0xF98E,0x234E,0xF98F,0x2351,0xF990,0x2354,0xF991,0x2357,0xF992,0x235A,
2965
  0xF993,0x235D,0xF994,0x2360,0xF995,0x2363,0xF996,0x2366,0xF997,0x2369,0xF998,0x236C,0xF999,0x236F,0xF99A,0x2372,0xF99B,0x2375,0xF99C,0x2378,0xF99D,0x237B,0xF99E,0x237E,0xF99F,0x2381,0xF9A0,0x2384,0xF9A1,0x2387,0xF9A2,0x238A,
2966
  0xF9A3,0x238D,0xF9A4,0x2390,0xF9A5,0x2393,0xF9A6,0x2396,0xF9A7,0x2399,0xF9A8,0x239C,0xF9A9,0x239F,0xF9AA,0x23A2,0xF9AB,0x23A5,0xF9AC,0x23A8,0xF9AD,0x23AB,0xF9AE,0x23AE,0xF9AF,0x23B1,0xF9B0,0x23B4,0xF9B1,0x23B7,0xF9B2,0x23BA,
2967
  0xF9B3,0x23BD,0xF9B4,0x23C0,0xF9B5,0x23C3,0xF9B6,0x23C6,0xF9B7,0x23C9,0xF9B8,0x23CC,0xF9B9,0x23CF,0xF9BA,0x23D2,0xF9BB,0x23D5,0xF9BC,0x23D8,0xF9BD,0x23DB,0xF9BE,0x23DE,0xF9BF,0x23E1,0xF9C0,0x23E4,0xF9C1,0x23E7,0xF9C2,0x23EA,
2968
  0xF9C3,0x23ED,0xF9C4,0x23F0,0xF9C5,0x23F3,0xF9C6,0x23F6,0xF9C7,0x23F9,0xF9C8,0x23FC,0xF9C9,0x23FF,0xF9CA,0x2402,0xF9CB,0x2405,0xF9CC,0x2408,0xF9CD,0x240B,0xF9CE,0x240E,0xF9CF,0x2411,0xF9D0,0x2414,0xF9D1,0x2417,0xF9D2,0x241A,
2969
  0xF9D3,0x241D,0xF9D4,0x2420,0xF9D5,0x2423,0xF9D6,0x2426,0xF9D7,0x2429,0xF9D8,0x242C,0xF9D9,0x242F,0xF9DA,0x2432,0xF9DB,0x2435,0xF9DC,0x2438,0xF9DD,0x243B,0xF9DE,0x243E,0xF9DF,0x2441,0xF9E0,0x2444,0xF9E1,0x2447,0xF9E2,0x244A,
2970
  0xF9E3,0x244D,0xF9E4,0x2450,0xF9E5,0x2453,0xF9E6,0x2456,0xF9E7,0x2459,0xF9E8,0x245C,0xF9E9,0x245F,0xF9EA,0x2462,0xF9EB,0x2465,0xF9EC,0x2468,0xF9ED,0x246B,0xF9EE,0x246E,0xF9EF,0x2471,0xF9F0,0x2474,0xF9F1,0x2477,0xF9F2,0x247A,
2971
  0xF9F3,0x247D,0xF9F4,0x2480,0xF9F5,0x2483,0xF9F6,0x2486,0xF9F7,0x2489,0xF9F8,0x248C,0xF9F9,0x248F,0xF9FA,0x2492,0xF9FB,0x2495,0xF9FC,0x2498,0xF9FD,0x249B,0xF9FE,0x249E,0xF9FF,0x24A1,0xFA00,0x24A4,0xFA01,0x24A7,0xFA02,0x24AA,
2972
  0xFA03,0x24AD,0xFA04,0x24B0,0xFA05,0x24B3,0xFA06,0x24B6,0xFA07,0x24B9,0xFA08,0x24BC,0xFA09,0x24BF,0xFA0A,0x24C2,0xFA0B,0x24C5,0xFA0C,0x24C8,0xFA0D,0x24CB,0xFA10,0x24CE,0xFA12,0x24D1,0xFA15,0x24D4,0xFA16,0x24D7,0xFA17,0x24DA,
2973
  0xFA18,0x24DD,0xFA19,0x24E0,0xFA1A,0x24E3,0xFA1B,0x24E6,0xFA1C,0x24E9,0xFA1D,0x24EC,0xFA1E,0x24EF,0xFA20,0x24F2,0xFA22,0x24F5,0xFA25,0x24F8,0xFA26,0x24FB,0xFA2A,0x24FE,0xFA2B,0x2501,0xFA2C,0x2504,0xFA2D,0x2507,0xFA2E,0x250A,
2974
  0xFA2F,0x250D,0xFA30,0x2510,0xFA31,0x2513,0xFA32,0x2516,0xFA33,0x2519,0xFA34,0x251C,0xFA35,0x251F,0xFA36,0x2522,0xFA37,0x2525,0xFA38,0x2528,0xFA39,0x252B,0xFA3A,0x252E,0xFA3B,0x2531,0xFA3C,0x2534,0xFA3D,0x2537,0xFA3E,0x253A,
2975
  0xFA3F,0x253D,0xFA40,0x2540,0xFA41,0x2543,0xFA42,0x2546,0xFA43,0x2549,0xFA44,0x254C,0xFA45,0x254F,0xFA46,0x2552,0xFA47,0x2555,0xFA48,0x2558,0xFA49,0x255B,0xFA4A,0x255E,0xFA4B,0x2561,0xFA4C,0x2564,0xFA4D,0x2567,0xFA4E,0x256A,
2976
  0xFA4F,0x256D,0xFA50,0x2570,0xFA51,0x2573,0xFA52,0x2576,0xFA53,0x2579,0xFA54,0x257C,0xFA55,0x257F,0xFA56,0x2582,0xFA57,0x2585,0xFA58,0x2588,0xFA59,0x258B,0xFA5A,0x258E,0xFA5B,0x2591,0xFA5C,0x2594,0xFA5D,0x2597,0xFA5E,0x259A,
2977
  0xFA5F,0x259D,0xFA60,0x25A0,0xFA61,0x25A3,0xFA62,0x25A6,0xFA63,0x25A9,0xFA64,0x25AC,0xFA65,0x25AF,0xFA66,0x25B2,0xFA67,0x25B5,0xFA68,0x25B8,0xFA69,0x25BB,0xFA6A,0x25BE,0xFA6B,0x25C1,0xFA6C,0x25C4,0xFA6D,0x25C8,0xFA70,0x25CB,
2978
  0xFA71,0x25CE,0xFA72,0x25D1,0xFA73,0x25D4,0xFA74,0x25D7,0xFA75,0x25DA,0xFA76,0x25DD,0xFA77,0x25E0,0xFA78,0x25E3,0xFA79,0x25E6,0xFA7A,0x25E9,0xFA7B,0x25EC,0xFA7C,0x25EF,0xFA7D,0x25F2,0xFA7E,0x25F5,0xFA7F,0x25F8,0xFA80,0x25FB,
2979
  0xFA81,0x25FE,0xFA82,0x2601,0xFA83,0x2604,0xFA84,0x2607,0xFA85,0x260A,0xFA86,0x260D,0xFA87,0x2610,0xFA88,0x2613,0xFA89,0x2616,0xFA8A,0x2619,0xFA8B,0x261C,0xFA8C,0x261F,0xFA8D,0x2622,0xFA8E,0x2625,0xFA8F,0x2628,0xFA90,0x262B,
2980
  0xFA91,0x262E,0xFA92,0x2631,0xFA93,0x2634,0xFA94,0x2637,0xFA95,0x263A,0xFA96,0x263D,0xFA97,0x2640,0xFA98,0x2643,0xFA99,0x2646,0xFA9A,0x2649,0xFA9B,0x264C,0xFA9C,0x264F,0xFA9D,0x2652,0xFA9E,0x2655,0xFA9F,0x2658,0xFAA0,0x265B,
2981
  0xFAA1,0x265E,0xFAA2,0x2661,0xFAA3,0x2664,0xFAA4,0x2667,0xFAA5,0x266A,0xFAA6,0x266D,0xFAA7,0x2670,0xFAA8,0x2673,0xFAA9,0x2676,0xFAAA,0x2679,0xFAAB,0x267C,0xFAAC,0x267F,0xFAAD,0x2682,0xFAAE,0x2685,0xFAAF,0x2688,0xFAB0,0x268B,
2982
  0xFAB1,0x268E,0xFAB2,0x2691,0xFAB3,0x2694,0xFAB4,0x2697,0xFAB5,0x269A,0xFAB6,0x269D,0xFAB7,0x26A0,0xFAB8,0x26A3,0xFAB9,0x26A6,0xFABA,0x26A9,0xFABB,0x26AC,0xFABC,0x26AF,0xFABD,0x26B2,0xFABE,0x26B5,0xFABF,0x26B8,0xFAC0,0x26BB,
2983
  0xFAC1,0x26BE,0xFAC2,0x26C1,0xFAC3,0x26C4,0xFAC4,0x26C7,0xFAC5,0x26CA,0xFAC6,0x26CD,0xFAC7,0x26D0,0xFAC8,0x26D3,0xFAC9,0x26D6,0xFACA,0x26D9,0xFACB,0x26DC,0xFACC,0x26DF,0xFACD,0x26E2,0xFACE,0x26E5,0xFACF,0x26E8,0xFAD0,0x26EC,
2984
  0xFAD1,0x26F0,0xFAD2,0x26F4,0xFAD3,0x26F7,0xFAD4,0x26FA,0xFAD5,0x26FD,0xFAD6,0x2701,0xFAD7,0x2705,0xFAD8,0x2709,0xFAD9,0x270C,0xFB00,0xA70F,0xFB01,0xA711,0xFB02,0xA713,0xFB03,0xA715,0xFB04,0xA718,0xFB05,0xA71B,0xFB06,0xA71E,
2985
  0xFB13,0xA720,0xFB14,0xA724,0xFB15,0xA728,0xFB16,0xA72C,0xFB17,0xA730,0xFB1D,0x2734,0xFB1F,0x2738,0xFB20,0xA73C,0xFB21,0xA73E,0xFB22,0xA740,0xFB23,0xA742,0xFB24,0xA744,0xFB25,0xA746,0xFB26,0xA748,0xFB27,0xA74A,0xFB28,0xA74C,
2986
  0xFB29,0xA74E,0xFB2A,0x274F,0xFB2B,0x2753,0xFB2C,0x2757,0xFB2D,0x275C,0xFB2E,0x2761,0xFB2F,0x2765,0xFB30,0x2769,0xFB31,0x276D,0xFB32,0x2771,0xFB33,0x2775,0xFB34,0x2779,0xFB35,0x277D,0xFB36,0x2781,0xFB38,0x2785,0xFB39,0x2789,
2987
  0xFB3A,0x278D,0xFB3B,0x2791,0xFB3C,0x2795,0xFB3E,0x2799,0xFB40,0x279D,0xFB41,0x27A1,0xFB43,0x27A5,0xFB44,0x27A9,0xFB46,0x27AD,0xFB47,0x27B1,0xFB48,0x27B5,0xFB49,0x27B9,0xFB4A,0x27BD,0xFB4B,0x27C1,0xFB4C,0x27C5,0xFB4D,0x27C9,
2988
  0xFB4E,0x27CD,0xFB4F,0xA7D1,0xFB50,0xA7D5,0xFB51,0xA7D7,0xFB52,0xA7D9,0xFB53,0xA7DB,0xFB54,0xA7DD,0xFB55,0xA7DF,0xFB56,0xA7E1,0xFB57,0xA7E3,0xFB58,0xA7E5,0xFB59,0xA7E7,0xFB5A,0xA7E9,0xFB5B,0xA7EB,0xFB5C,0xA7ED,0xFB5D,0xA7EF,
2989
  0xFB5E,0xA7F1,0xFB5F,0xA7F3,0xFB60,0xA7F5,0xFB61,0xA7F7,0xFB62,0xA7F9,0xFB63,0xA7FB,0xFB64,0xA7FD,0xFB65,0xA7FF,0xFB66,0xA801,0xFB67,0xA803,0xFB68,0xA805,0xFB69,0xA807,0xFB6A,0xA809,0xFB6B,0xA80B,0xFB6C,0xA80D,0xFB6D,0xA80F,
2990
  0xFB6E,0xA811,0xFB6F,0xA813,0xFB70,0xA815,0xFB71,0xA817,0xFB72,0xA819,0xFB73,0xA81B,0xFB74,0xA81D,0xFB75,0xA81F,0xFB76,0xA821,0xFB77,0xA823,0xFB78,0xA825,0xFB79,0xA827,0xFB7A,0xA829,0xFB7B,0xA82B,0xFB7C,0xA82D,0xFB7D,0xA82F,
2991
  0xFB7E,0xA831,0xFB7F,0xA833,0xFB80,0xA835,0xFB81,0xA837,0xFB82,0xA839,0xFB83,0xA83B,0xFB84,0xA83D,0xFB85,0xA83F,0xFB86,0xA841,0xFB87,0xA843,0xFB88,0xA845,0xFB89,0xA847,0xFB8A,0xA849,0xFB8B,0xA84B,0xFB8C,0xA84D,0xFB8D,0xA84F,
2992
  0xFB8E,0xA851,0xFB8F,0xA853,0xFB90,0xA855,0xFB91,0xA857,0xFB92,0xA859,0xFB93,0xA85B,0xFB94,0xA85D,0xFB95,0xA85F,0xFB96,0xA861,0xFB97,0xA863,0xFB98,0xA865,0xFB99,0xA867,0xFB9A,0xA869,0xFB9B,0xA86B,0xFB9C,0xA86D,0xFB9D,0xA86F,
2993
  0xFB9E,0xA871,0xFB9F,0xA873,0xFBA0,0xA875,0xFBA1,0xA877,0xFBA2,0xA879,0xFBA3,0xA87B,0xFBA4,0xA87D,0xFBA5,0xA87F,0xFBA6,0xA881,0xFBA7,0xA883,0xFBA8,0xA885,0xFBA9,0xA887,0xFBAA,0xA889,0xFBAB,0xA88B,0xFBAC,0xA88D,0xFBAD,0xA88F,
2994
  0xFBAE,0xA891,0xFBAF,0xA893,0xFBB0,0xA895,0xFBB1,0xA897,0xFBD3,0xA899,0xFBD4,0xA89B,0xFBD5,0xA89D,0xFBD6,0xA89F,0xFBD7,0xA8A1,0xFBD8,0xA8A3,0xFBD9,0xA8A5,0xFBDA,0xA8A7,0xFBDB,0xA8A9,0xFBDC,0xA8AB,0xFBDD,0xA8AD,0xFBDE,0xA8AF,
2995
  0xFBDF,0xA8B1,0xFBE0,0xA8B3,0xFBE1,0xA8B5,0xFBE2,0xA8B7,0xFBE3,0xA8B9,0xFBE4,0xA8BB,0xFBE5,0xA8BD,0xFBE6,0xA8BF,0xFBE7,0xA8C1,0xFBE8,0xA8C3,0xFBE9,0xA8C5,0xFBEA,0xA8C7,0xFBEB,0xA8CB,0xFBEC,0xA8CF,0xFBED,0xA8D3,0xFBEE,0xA8D7,
2996
  0xFBEF,0xA8DB,0xFBF0,0xA8DF,0xFBF1,0xA8E3,0xFBF2,0xA8E7,0xFBF3,0xA8EB,0xFBF4,0xA8EF,0xFBF5,0xA8F3,0xFBF6,0xA8F7,0xFBF7,0xA8FB,0xFBF8,0xA8FF,0xFBF9,0xA903,0xFBFA,0xA907,0xFBFB,0xA90B,0xFBFC,0xA90F,0xFBFD,0xA911,0xFBFE,0xA913,
2997
  0xFBFF,0xA915,0xFC00,0xA917,0xFC01,0xA91B,0xFC02,0xA91F,0xFC03,0xA923,0xFC04,0xA927,0xFC05,0xA92B,0xFC06,0xA92F,0xFC07,0xA933,0xFC08,0xA937,0xFC09,0xA93B,0xFC0A,0xA93F,0xFC0B,0xA943,0xFC0C,0xA947,0xFC0D,0xA94B,0xFC0E,0xA94F,
2998
  0xFC0F,0xA953,0xFC10,0xA957,0xFC11,0xA95B,0xFC12,0xA95F,0xFC13,0xA963,0xFC14,0xA967,0xFC15,0xA96B,0xFC16,0xA96F,0xFC17,0xA973,0xFC18,0xA977,0xFC19,0xA97B,0xFC1A,0xA97F,0xFC1B,0xA983,0xFC1C,0xA987,0xFC1D,0xA98B,0xFC1E,0xA98F,
2999
  0xFC1F,0xA993,0xFC20,0xA997,0xFC21,0xA99B,0xFC22,0xA99F,0xFC23,0xA9A3,0xFC24,0xA9A7,0xFC25,0xA9AB,0xFC26,0xA9AF,0xFC27,0xA9B3,0xFC28,0xA9B7,0xFC29,0xA9BB,0xFC2A,0xA9BF,0xFC2B,0xA9C3,0xFC2C,0xA9C7,0xFC2D,0xA9CB,0xFC2E,0xA9CF,
3000
  0xFC2F,0xA9D3,0xFC30,0xA9D7,0xFC31,0xA9DB,0xFC32,0xA9DF,0xFC33,0xA9E3,0xFC34,0xA9E7,0xFC35,0xA9EB,0xFC36,0xA9EF,0xFC37,0xA9F3,0xFC38,0xA9F7,0xFC39,0xA9FB,0xFC3A,0xA9FF,0xFC3B,0xAA03,0xFC3C,0xAA07,0xFC3D,0xAA0B,0xFC3E,0xAA0F,
3001
  0xFC3F,0xAA13,0xFC40,0xAA17,0xFC41,0xAA1B,0xFC42,0xAA1F,0xFC43,0xAA23,0xFC44,0xAA27,0xFC45,0xAA2B,0xFC46,0xAA2F,0xFC47,0xAA33,0xFC48,0xAA37,0xFC49,0xAA3B,0xFC4A,0xAA3F,0xFC4B,0xAA43,0xFC4C,0xAA47,0xFC4D,0xAA4B,0xFC4E,0xAA4F,
3002
  0xFC4F,0xAA53,0xFC50,0xAA57,0xFC51,0xAA5B,0xFC52,0xAA5F,0xFC53,0xAA63,0xFC54,0xAA67,0xFC55,0xAA6B,0xFC56,0xAA6F,0xFC57,0xAA73,0xFC58,0xAA77,0xFC59,0xAA7B,0xFC5A,0xAA7F,0xFC5B,0xAA83,0xFC5C,0xAA87,0xFC5D,0xAA8B,0xFC5E,0xAA8F,
3003
  0xFC5F,0xAA94,0xFC60,0xAA99,0xFC61,0xAA9E,0xFC62,0xAAA3,0xFC63,0xAAA8,0xFC64,0xAAAD,0xFC65,0xAAB1,0xFC66,0xAAB5,0xFC67,0xAAB9,0xFC68,0xAABD,0xFC69,0xAAC1,0xFC6A,0xAAC5,0xFC6B,0xAAC9,0xFC6C,0xAACD,0xFC6D,0xAAD1,0xFC6E,0xAAD5,
3004
  0xFC6F,0xAAD9,0xFC70,0xAADD,0xFC71,0xAAE1,0xFC72,0xAAE5,0xFC73,0xAAE9,0xFC74,0xAAED,0xFC75,0xAAF1,0xFC76,0xAAF5,0xFC77,0xAAF9,0xFC78,0xAAFD,0xFC79,0xAB01,0xFC7A,0xAB05,0xFC7B,0xAB09,0xFC7C,0xAB0D,0xFC7D,0xAB11,0xFC7E,0xAB15,
3005
  0xFC7F,0xAB19,0xFC80,0xAB1D,0xFC81,0xAB21,0xFC82,0xAB25,0xFC83,0xAB29,0xFC84,0xAB2D,0xFC85,0xAB31,0xFC86,0xAB35,0xFC87,0xAB39,0xFC88,0xAB3D,0xFC89,0xAB41,0xFC8A,0xAB45,0xFC8B,0xAB49,0xFC8C,0xAB4D,0xFC8D,0xAB51,0xFC8E,0xAB55,
3006
  0xFC8F,0xAB59,0xFC90,0xAB5D,0xFC91,0xAB61,0xFC92,0xAB65,0xFC93,0xAB69,0xFC94,0xAB6D,0xFC95,0xAB71,0xFC96,0xAB75,0xFC97,0xAB79,0xFC98,0xAB7D,0xFC99,0xAB81,0xFC9A,0xAB85,0xFC9B,0xAB89,0xFC9C,0xAB8D,0xFC9D,0xAB91,0xFC9E,0xAB95,
3007
  0xFC9F,0xAB99,0xFCA0,0xAB9D,0xFCA1,0xABA1,0xFCA2,0xABA5,0xFCA3,0xABA9,0xFCA4,0xABAD,0xFCA5,0xABB1,0xFCA6,0xABB5,0xFCA7,0xABB9,0xFCA8,0xABBD,0xFCA9,0xABC1,0xFCAA,0xABC5,0xFCAB,0xABC9,0xFCAC,0xABCD,0xFCAD,0xABD1,0xFCAE,0xABD5,
3008
  0xFCAF,0xABD9,0xFCB0,0xABDD,0xFCB1,0xABE1,0xFCB2,0xABE5,0xFCB3,0xABE9,0xFCB4,0xABED,0xFCB5,0xABF1,0xFCB6,0xABF5,0xFCB7,0xABF9,0xFCB8,0xABFD,0xFCB9,0xAC01,0xFCBA,0xAC05,0xFCBB,0xAC09,0xFCBC,0xAC0D,0xFCBD,0xAC11,0xFCBE,0xAC15,
3009
  0xFCBF,0xAC19,0xFCC0,0xAC1D,0xFCC1,0xAC21,0xFCC2,0xAC25,0xFCC3,0xAC29,0xFCC4,0xAC2D,0xFCC5,0xAC31,0xFCC6,0xAC35,0xFCC7,0xAC39,0xFCC8,0xAC3D,0xFCC9,0xAC41,0xFCCA,0xAC45,0xFCCB,0xAC49,0xFCCC,0xAC4D,0xFCCD,0xAC51,0xFCCE,0xAC55,
3010
  0xFCCF,0xAC59,0xFCD0,0xAC5D,0xFCD1,0xAC61,0xFCD2,0xAC65,0xFCD3,0xAC69,0xFCD4,0xAC6D,0xFCD5,0xAC71,0xFCD6,0xAC75,0xFCD7,0xAC79,0xFCD8,0xAC7D,0xFCD9,0xAC81,0xFCDA,0xAC85,0xFCDB,0xAC89,0xFCDC,0xAC8D,0xFCDD,0xAC91,0xFCDE,0xAC95,
3011
  0xFCDF,0xAC99,0xFCE0,0xAC9D,0xFCE1,0xACA1,0xFCE2,0xACA5,0xFCE3,0xACA9,0xFCE4,0xACAD,0xFCE5,0xACB1,0xFCE6,0xACB5,0xFCE7,0xACB9,0xFCE8,0xACBD,0xFCE9,0xACC1,0xFCEA,0xACC5,0xFCEB,0xACC9,0xFCEC,0xACCD,0xFCED,0xACD1,0xFCEE,0xACD5,
3012
  0xFCEF,0xACD9,0xFCF0,0xACDD,0xFCF1,0xACE1,0xFCF2,0xACE5,0xFCF3,0xACEB,0xFCF4,0xACF1,0xFCF5,0xACF7,0xFCF6,0xACFB,0xFCF7,0xACFF,0xFCF8,0xAD03,0xFCF9,0xAD07,0xFCFA,0xAD0B,0xFCFB,0xAD0F,0xFCFC,0xAD13,0xFCFD,0xAD17,0xFCFE,0xAD1B,
3013
  0xFCFF,0xAD1F,0xFD00,0xAD23,0xFD01,0xAD27,0xFD02,0xAD2B,0xFD03,0xAD2F,0xFD04,0xAD33,0xFD05,0xAD37,0xFD06,0xAD3B,0xFD07,0xAD3F,0xFD08,0xAD43,0xFD09,0xAD47,0xFD0A,0xAD4B,0xFD0B,0xAD4F,0xFD0C,0xAD53,0xFD0D,0xAD57,0xFD0E,0xAD5B,
3014
  0xFD0F,0xAD5F,0xFD10,0xAD63,0xFD11,0xAD67,0xFD12,0xAD6B,0xFD13,0xAD6F,0xFD14,0xAD73,0xFD15,0xAD77,0xFD16,0xAD7B,0xFD17,0xAD7F,0xFD18,0xAD83,0xFD19,0xAD87,0xFD1A,0xAD8B,0xFD1B,0xAD8F,0xFD1C,0xAD93,0xFD1D,0xAD97,0xFD1E,0xAD9B,
3015
  0xFD1F,0xAD9F,0xFD20,0xADA3,0xFD21,0xADA7,0xFD22,0xADAB,0xFD23,0xADAF,0xFD24,0xADB3,0xFD25,0xADB7,0xFD26,0xADBB,0xFD27,0xADBF,0xFD28,0xADC3,0xFD29,0xADC7,0xFD2A,0xADCB,0xFD2B,0xADCF,0xFD2C,0xADD3,0xFD2D,0xADD7,0xFD2E,0xADDB,
3016
  0xFD2F,0xADDF,0xFD30,0xADE3,0xFD31,0xADE7,0xFD32,0xADEB,0xFD33,0xADEF,0xFD34,0xADF3,0xFD35,0xADF7,0xFD36,0xADFB,0xFD37,0xADFF,0xFD38,0xAE03,0xFD39,0xAE07,0xFD3A,0xAE0B,0xFD3B,0xAE0F,0xFD3C,0xAE13,0xFD3D,0xAE17,0xFD50,0xAE1B,
3017
  0xFD51,0xAE21,0xFD52,0xAE27,0xFD53,0xAE2D,0xFD54,0xAE33,0xFD55,0xAE39,0xFD56,0xAE3F,0xFD57,0xAE45,0xFD58,0xAE4B,0xFD59,0xAE51,0xFD5A,0xAE57,0xFD5B,0xAE5D,0xFD5C,0xAE63,0xFD5D,0xAE69,0xFD5E,0xAE6F,0xFD5F,0xAE75,0xFD60,0xAE7B,
3018
  0xFD61,0xAE81,0xFD62,0xAE87,0xFD63,0xAE8D,0xFD64,0xAE93,0xFD65,0xAE99,0xFD66,0xAE9F,0xFD67,0xAEA5,0xFD68,0xAEAB,0xFD69,0xAEB1,0xFD6A,0xAEB7,0xFD6B,0xAEBD,0xFD6C,0xAEC3,0xFD6D,0xAEC9,0xFD6E,0xAECF,0xFD6F,0xAED5,0xFD70,0xAEDB,
3019
  0xFD71,0xAEE1,0xFD72,0xAEE7,0xFD73,0xAEED,0xFD74,0xAEF3,0xFD75,0xAEF9,0xFD76,0xAEFF,0xFD77,0xAF05,0xFD78,0xAF0B,0xFD79,0xAF11,0xFD7A,0xAF17,0xFD7B,0xAF1D,0xFD7C,0xAF23,0xFD7D,0xAF29,0xFD7E,0xAF2F,0xFD7F,0xAF35,0xFD80,0xAF3B,
3020
  0xFD81,0xAF41,0xFD82,0xAF47,0xFD83,0xAF4D,0xFD84,0xAF53,0xFD85,0xAF59,0xFD86,0xAF5F,0xFD87,0xAF65,0xFD88,0xAF6B,0xFD89,0xAF71,0xFD8A,0xAF77,0xFD8B,0xAF7D,0xFD8C,0xAF83,0xFD8D,0xAF89,0xFD8E,0xAF8F,0xFD8F,0xAF95,0xFD92,0xAF9B,
3021
  0xFD93,0xAFA1,0xFD94,0xAFA7,0xFD95,0xAFAD,0xFD96,0xAFB3,0xFD97,0xAFB9,0xFD98,0xAFBF,0xFD99,0xAFC5,0xFD9A,0xAFCB,0xFD9B,0xAFD1,0xFD9C,0xAFD7,0xFD9D,0xAFDD,0xFD9E,0xAFE3,0xFD9F,0xAFE9,0xFDA0,0xAFEF,0xFDA1,0xAFF5,0xFDA2,0xAFFB,
3022
  0xFDA3,0xB001,0xFDA4,0xB007,0xFDA5,0xB00D,0xFDA6,0xB013,0xFDA7,0xB019,0xFDA8,0xB01F,0xFDA9,0xB025,0xFDAA,0xB02B,0xFDAB,0xB031,0xFDAC,0xB037,0xFDAD,0xB03D,0xFDAE,0xB043,0xFDAF,0xB049,0xFDB0,0xB04F,0xFDB1,0xB055,0xFDB2,0xB05B,
3023
  0xFDB3,0xB061,0xFDB4,0xB067,0xFDB5,0xB06D,0xFDB6,0xB073,0xFDB7,0xB079,0xFDB8,0xB07F,0xFDB9,0xB085,0xFDBA,0xB08B,0xFDBB,0xB091,0xFDBC,0xB097,0xFDBD,0xB09D,0xFDBE,0xB0A3,0xFDBF,0xB0A9,0xFDC0,0xB0AF,0xFDC1,0xB0B5,0xFDC2,0xB0BB,
3024
  0xFDC3,0xB0C1,0xFDC4,0xB0C7,0xFDC5,0xB0CD,0xFDC6,0xB0D3,0xFDC7,0xB0D9,0xFDF0,0xB0DF,0xFDF1,0xB0E5,0xFDF2,0xB0EB,0xFDF3,0xB0F3,0xFDF4,0xB0FB,0xFDF5,0xB103,0xFDF6,0xB10B,0xFDF7,0xB113,0xFDF8,0xB11B,0xFDF9,0xB123,0xFDFA,0xB129,
3025
  0xFDFB,0xB14A,0xFDFC,0xB159,0xFE10,0xB161,0xFE11,0xB162,0xFE12,0xB165,0xFE13,0xB168,0xFE14,0xB169,0xFE15,0xB16A,0xFE16,0xB16B,0xFE17,0xB16C,0xFE18,0xB16F,0xFE19,0xB172,0xFE30,0xB175,0xFE31,0xB178,0xFE32,0xB17B,0xFE33,0xB17E,
3026
  0xFE34,0xB17F,0xFE35,0xB180,0xFE36,0xB181,0xFE37,0xB182,0xFE38,0xB183,0xFE39,0xB184,0xFE3A,0xB187,0xFE3B,0xB18A,0xFE3C,0xB18D,0xFE3D,0xB190,0xFE3E,0xB193,0xFE3F,0xB196,0xFE40,0xB199,0xFE41,0xB19C,0xFE42,0xB19F,0xFE43,0xB1A2,
3027
  0xFE44,0xB1A5,0xFE47,0xB1A8,0xFE48,0xB1A9,0xFE49,0xB1AA,0xFE4A,0xB1AD,0xFE4B,0xB1B0,0xFE4C,0xB1B3,0xFE4D,0xB1B6,0xFE4E,0xB1B7,0xFE4F,0xB1B8,0xFE50,0xB1B9,0xFE51,0xB1BA,0xFE52,0xB1BD,0xFE54,0xB1BE,0xFE55,0xB1BF,0xFE56,0xB1C0,
3028
  0xFE57,0xB1C1,0xFE58,0xB1C2,0xFE59,0xB1C5,0xFE5A,0xB1C6,0xFE5B,0xB1C7,0xFE5C,0xB1C8,0xFE5D,0xB1C9,0xFE5E,0xB1CC,0xFE5F,0xB1CF,0xFE60,0xB1D0,0xFE61,0xB1D1,0xFE62,0xB1D2,0xFE63,0xB1D3,0xFE64,0xB1D4,0xFE65,0xB1D5,0xFE66,0xB1D6,
3029
  0xFE68,0xB1D7,0xFE69,0xB1D8,0xFE6A,0xB1D9,0xFE6B,0xB1DA,0xFE70,0xB1DB,0xFE71,0xB1DE,0xFE72,0xB1E2,0xFE74,0xB1E5,0xFE76,0xB1E8,0xFE77,0xB1EB,0xFE78,0xB1EF,0xFE79,0xB1F2,0xFE7A,0xB1F6,0xFE7B,0xB1F9,0xFE7C,0xB1FD,0xFE7D,0xB200,
3030
  0xFE7E,0xB204,0xFE7F,0xB207,0xFE80,0xB20B,0xFE81,0xB20D,0xFE82,0xB20F,0xFE83,0xB211,0xFE84,0xB213,0xFE85,0xB215,0xFE86,0xB217,0xFE87,0xB219,0xFE88,0xB21B,0xFE89,0xB21D,0xFE8A,0xB21F,0xFE8B,0xB221,0xFE8C,0xB223,0xFE8D,0xB225,
3031
  0xFE8E,0xB227,0xFE8F,0xB229,0xFE90,0xB22B,0xFE91,0xB22D,0xFE92,0xB22F,0xFE93,0xB231,0xFE94,0xB233,0xFE95,0xB235,0xFE96,0xB237,0xFE97,0xB239,0xFE98,0xB23B,0xFE99,0xB23D,0xFE9A,0xB23F,0xFE9B,0xB241,0xFE9C,0xB243,0xFE9D,0xB245,
3032
  0xFE9E,0xB247,0xFE9F,0xB249,0xFEA0,0xB24B,0xFEA1,0xB24D,0xFEA2,0xB24F,0xFEA3,0xB251,0xFEA4,0xB253,0xFEA5,0xB255,0xFEA6,0xB257,0xFEA7,0xB259,0xFEA8,0xB25B,0xFEA9,0xB25D,0xFEAA,0xB25F,0xFEAB,0xB261,0xFEAC,0xB263,0xFEAD,0xB265,
3033
  0xFEAE,0xB267,0xFEAF,0xB269,0xFEB0,0xB26B,0xFEB1,0xB26D,0xFEB2,0xB26F,0xFEB3,0xB271,0xFEB4,0xB273,0xFEB5,0xB275,0xFEB6,0xB277,0xFEB7,0xB279,0xFEB8,0xB27B,0xFEB9,0xB27D,0xFEBA,0xB27F,0xFEBB,0xB281,0xFEBC,0xB283,0xFEBD,0xB285,
3034
  0xFEBE,0xB287,0xFEBF,0xB289,0xFEC0,0xB28B,0xFEC1,0xB28D,0xFEC2,0xB28F,0xFEC3,0xB291,0xFEC4,0xB293,0xFEC5,0xB295,0xFEC6,0xB297,0xFEC7,0xB299,0xFEC8,0xB29B,0xFEC9,0xB29D,0xFECA,0xB29F,0xFECB,0xB2A1,0xFECC,0xB2A3,0xFECD,0xB2A5,
3035
  0xFECE,0xB2A7,0xFECF,0xB2A9,0xFED0,0xB2AB,0xFED1,0xB2AD,0xFED2,0xB2AF,0xFED3,0xB2B1,0xFED4,0xB2B3,0xFED5,0xB2B5,0xFED6,0xB2B7,0xFED7,0xB2B9,0xFED8,0xB2BB,0xFED9,0xB2BD,0xFEDA,0xB2BF,0xFEDB,0xB2C1,0xFEDC,0xB2C3,0xFEDD,0xB2C5,
3036
  0xFEDE,0xB2C7,0xFEDF,0xB2C9,0xFEE0,0xB2CB,0xFEE1,0xB2CD,0xFEE2,0xB2CF,0xFEE3,0xB2D1,0xFEE4,0xB2D3,0xFEE5,0xB2D5,0xFEE6,0xB2D7,0xFEE7,0xB2D9,0xFEE8,0xB2DB,0xFEE9,0xB2DD,0xFEEA,0xB2DF,0xFEEB,0xB2E1,0xFEEC,0xB2E3,0xFEED,0xB2E5,
3037
  0xFEEE,0xB2E7,0xFEEF,0xB2E9,0xFEF0,0xB2EB,0xFEF1,0xB2ED,0xFEF2,0xB2EF,0xFEF3,0xB2F1,0xFEF4,0xB2F3,0xFEF5,0xB2F5,0xFEF6,0xB2F9,0xFEF7,0xB2FD,0xFEF8,0xB301,0xFEF9,0xB305,0xFEFA,0xB309,0xFEFB,0xB30D,0xFEFC,0xB311,0xFF01,0xB315,
3038
  0xFF02,0xB316,0xFF03,0xB317,0xFF04,0xB318,0xFF05,0xB319,0xFF06,0xB31A,0xFF07,0xB31B,0xFF08,0xB31C,0xFF09,0xB31D,0xFF0A,0xB31E,0xFF0B,0xB31F,0xFF0C,0xB320,0xFF0D,0xB321,0xFF0E,0xB322,0xFF0F,0xB323,0xFF10,0xB324,0xFF11,0xB325,
3039
  0xFF12,0xB326,0xFF13,0xB327,0xFF14,0xB328,0xFF15,0xB329,0xFF16,0xB32A,0xFF17,0xB32B,0xFF18,0xB32C,0xFF19,0xB32D,0xFF1A,0xB32E,0xFF1B,0xB32F,0xFF1C,0xB330,0xFF1D,0xB331,0xFF1E,0xB332,0xFF1F,0xB333,0xFF20,0xB334,0xFF21,0xB335,
3040
  0xFF22,0xB336,0xFF23,0xB337,0xFF24,0xB338,0xFF25,0xB339,0xFF26,0xB33A,0xFF27,0xB33B,0xFF28,0xB33C,0xFF29,0xB33D,0xFF2A,0xB33E,0xFF2B,0xB33F,0xFF2C,0xB340,0xFF2D,0xB341,0xFF2E,0xB342,0xFF2F,0xB343,0xFF30,0xB344,0xFF31,0xB345,
3041
  0xFF32,0xB346,0xFF33,0xB347,0xFF34,0xB348,0xFF35,0xB349,0xFF36,0xB34A,0xFF37,0xB34B,0xFF38,0xB34C,0xFF39,0xB34D,0xFF3A,0xB34E,0xFF3B,0xB34F,0xFF3C,0xB350,0xFF3D,0xB351,0xFF3E,0xB352,0xFF3F,0xB353,0xFF40,0xB354,0xFF41,0xB355,
3042
  0xFF42,0xB356,0xFF43,0xB357,0xFF44,0xB358,0xFF45,0xB359,0xFF46,0xB35A,0xFF47,0xB35B,0xFF48,0xB35C,0xFF49,0xB35D,0xFF4A,0xB35E,0xFF4B,0xB35F,0xFF4C,0xB360,0xFF4D,0xB361,0xFF4E,0xB362,0xFF4F,0xB363,0xFF50,0xB364,0xFF51,0xB365,
3043
  0xFF52,0xB366,0xFF53,0xB367,0xFF54,0xB368,0xFF55,0xB369,0xFF56,0xB36A,0xFF57,0xB36B,0xFF58,0xB36C,0xFF59,0xB36D,0xFF5A,0xB36E,0xFF5B,0xB36F,0xFF5C,0xB370,0xFF5D,0xB371,0xFF5E,0xB372,0xFF5F,0xB373,0xFF60,0xB376,0xFF61,0xB379,
3044
  0xFF62,0xB37C,0xFF63,0xB37F,0xFF64,0xB382,0xFF65,0xB385,0xFF66,0xB388,0xFF67,0xB38B,0xFF68,0xB38E,0xFF69,0xB391,0xFF6A,0xB394,0xFF6B,0xB397,0xFF6C,0xB39A,0xFF6D,0xB39D,0xFF6E,0xB3A0,0xFF6F,0xB3A3,0xFF70,0xB3A6,0xFF71,0xB3A9,
3045
  0xFF72,0xB3AC,0xFF73,0xB3AF,0xFF74,0xB3B2,0xFF75,0xB3B5,0xFF76,0xB3B8,0xFF77,0xB3BB,0xFF78,0xB3BE,0xFF79,0xB3C1,0xFF7A,0xB3C4,0xFF7B,0xB3C7,0xFF7C,0xB3CA,0xFF7D,0xB3CD,0xFF7E,0xB3D0,0xFF7F,0xB3D3,0xFF80,0xB3D6,0xFF81,0xB3D9,
3046
  0xFF82,0xB3DC,0xFF83,0xB3DF,0xFF84,0xB3E2,0xFF85,0xB3E5,0xFF86,0xB3E8,0xFF87,0xB3EB,0xFF88,0xB3EE,0xFF89,0xB3F1,0xFF8A,0xB3F4,0xFF8B,0xB3F7,0xFF8C,0xB3FA,0xFF8D,0xB3FD,0xFF8E,0xB400,0xFF8F,0xB403,0xFF90,0xB406,0xFF91,0xB409,
3047
  0xFF92,0xB40C,0xFF93,0xB40F,0xFF94,0xB412,0xFF95,0xB415,0xFF96,0xB418,0xFF97,0xB41B,0xFF98,0xB41E,0xFF99,0xB421,0xFF9A,0xB424,0xFF9B,0xB427,0xFF9C,0xB42A,0xFF9D,0xB42D,0xFF9E,0xB430,0xFF9F,0xB433,0xFFA0,0xB436,0xFFA1,0xB439,
3048
  0xFFA2,0xB43C,0xFFA3,0xB43F,0xFFA4,0xB442,0xFFA5,0xB445,0xFFA6,0xB448,0xFFA7,0xB44B,0xFFA8,0xB44E,0xFFA9,0xB451,0xFFAA,0xB454,0xFFAB,0xB457,0xFFAC,0xB45A,0xFFAD,0xB45D,0xFFAE,0xB460,0xFFAF,0xB463,0xFFB0,0xB466,0xFFB1,0xB469,
3049
  0xFFB2,0xB46C,0xFFB3,0xB46F,0xFFB4,0xB472,0xFFB5,0xB475,0xFFB6,0xB478,0xFFB7,0xB47B,0xFFB8,0xB47E,0xFFB9,0xB481,0xFFBA,0xB484,0xFFBB,0xB487,0xFFBC,0xB48A,0xFFBD,0xB48D,0xFFBE,0xB490,0xFFC2,0xB493,0xFFC3,0xB496,0xFFC4,0xB499,
3050
  0xFFC5,0xB49C,0xFFC6,0xB49F,0xFFC7,0xB4A2,0xFFCA,0xB4A5,0xFFCB,0xB4A8,0xFFCC,0xB4AB,0xFFCD,0xB4AE,0xFFCE,0xB4B1,0xFFCF,0xB4B4,0xFFD2,0xB4B7,0xFFD3,0xB4BA,0xFFD4,0xB4BD,0xFFD5,0xB4C0,0xFFD6,0xB4C3,0xFFD7,0xB4C6,0xFFDA,0xB4C9,
3051
  0xFFDB,0xB4CC,0xFFDC,0xB4CF,0xFFE0,0xB4D2,0xFFE1,0xB4D4,0xFFE2,0xB4D6,0xFFE3,0xB4D8,0xFFE4,0xB4DA,0xFFE5,0xB4DC,0xFFE6,0xB4DE,0xFFE8,0xB4E1,0xFFE9,0xB4E4,0xFFEA,0xB4E7,0xFFEB,0xB4EA,0xFFEC,0xB4ED,0xFFED,0xB4F0,0xFFEE,0xB4F3,
3052
  0xFFFF,0x34F6,
3053
};
3054
#define mxDecompositionSize1 2322
3055
const txU1 gxDecompositionData1[mxDecompositionSize1] ICACHE_XS6RO_ATTR = {
3056
  0xcb,0x90,0xcb,0x91,0xc3,0xa6,0xca,0x99,0xc9,0x93,0xca,0xa3,0xea,0xad,0xa6,0xca,0xa5,0xca,0xa4,0xc9,0x96,0xc9,0x97,0xe1,0xb6,0x91,0xc9,0x98,0xc9,0x9e,0xca,0xa9,
3057
  0xc9,0xa4,0xc9,0xa2,0xc9,0xa0,0xca,0x9b,0xc4,0xa7,0xca,0x9c,0xc9,0xa7,0xca,0x84,0xca,0xaa,0xca,0xab,0xc9,0xac,0xf0,0x9d,0xbc,0x84,0xea,0x9e,0x8e,0xc9,0xae,0xf0,
3058
  0x9d,0xbc,0x85,0xca,0x8e,0xf0,0x9d,0xbc,0x86,0xc3,0xb8,0xc9,0xb6,0xc9,0xb7,0x71,0xc9,0xba,0xf0,0x9d,0xbc,0x88,0xc9,0xbd,0xc9,0xbe,0xca,0x80,0xca,0xa8,0xca,0xa6,
3059
  0xea,0xad,0xa7,0xca,0xa7,0xca,0x88,0xe2,0xb1,0xb1,0xca,0x8f,0xca,0xa1,0xca,0xa2,0xca,0x98,0xc7,0x80,0xc7,0x81,0xc7,0x82,0xf0,0x9d,0xbc,0x8a,0xf0,0x9d,0xbc,0x9e,
3060
  0xf0,0x91,0x82,0x99,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0x9b,0xf0,0x91,0x82,0xba,0xf0,0x91,0x82,0xa5,0xf0,0x91,0x82,0xba,0xf0,0x91,0x84,0xb1,0xf0,0x91,0x84,0xa7,
3061
  0xf0,0x91,0x84,0xb2,0xf0,0x91,0x84,0xa7,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8c,0xbe,0xf0,0x91,0x8d,0x87,0xf0,0x91,0x8d,0x97,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xba,
3062
  0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xb0,0xf0,0x91,0x92,0xb9,0xf0,0x91,0x92,0xbd,0xf0,0x91,0x96,0xb8,0xf0,0x91,0x96,0xaf,0xf0,0x91,0x96,0xb9,0xf0,0x91,0x96,0xaf,
3063
  0xf0,0x91,0xa4,0xb5,0xf0,0x91,0xa4,0xb0,0xf0,0x9d,0x85,0x97,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x98,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xae,
3064
  0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb0,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb1,0xf0,0x9d,0x85,0x9f,0xf0,0x9d,0x85,0xb2,
3065
  0xf0,0x9d,0x86,0xb9,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xba,0xf0,0x9d,0x85,0xa5,0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xae,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xae,
3066
  0xf0,0x9d,0x86,0xbb,0xf0,0x9d,0x85,0xaf,0xf0,0x9d,0x86,0xbc,0xf0,0x9d,0x85,0xaf,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,
3067
  0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3068
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3069
  0x63,0x64,0x65,0x66,0x67,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,
3070
  0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,
3071
  0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x43,0x44,0x47,0x4a,0x4b,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,
3072
  0x64,0x66,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3073
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3074
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,
3075
  0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4a,0x4b,
3076
  0x4c,0x4d,0x4f,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
3077
  0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,
3078
  0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,
3079
  0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,
3080
  0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,
3081
  0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,
3082
  0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,
3083
  0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,
3084
  0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,
3085
  0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,
3086
  0x59,0x5a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xc4,0xb1,0xc8,0xb7,
3087
  0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,
3088
  0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,
3089
  0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,
3090
  0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,
3091
  0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,
3092
  0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,
3093
  0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,
3094
  0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,
3095
  0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,
3096
  0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,
3097
  0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,
3098
  0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,
3099
  0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,
3100
  0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,
3101
  0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xce,0x91,0xce,0x92,0xce,0x93,0xce,0x94,
3102
  0xce,0x95,0xce,0x96,0xce,0x97,0xce,0x98,0xce,0x99,0xce,0x9a,0xce,0x9b,0xce,0x9c,0xce,0x9d,0xce,0x9e,0xce,0x9f,0xce,0xa0,0xce,0xa1,0xcf,0xb4,0xce,0xa3,0xce,0xa4,
3103
  0xce,0xa5,0xce,0xa6,0xce,0xa7,0xce,0xa8,0xce,0xa9,0xe2,0x88,0x87,0xce,0xb1,0xce,0xb2,0xce,0xb3,0xce,0xb4,0xce,0xb5,0xce,0xb6,0xce,0xb7,0xce,0xb8,0xce,0xb9,0xce,
3104
  0xba,0xce,0xbb,0xce,0xbc,0xce,0xbd,0xce,0xbe,0xce,0xbf,0xcf,0x80,0xcf,0x81,0xcf,0x82,0xcf,0x83,0xcf,0x84,0xcf,0x85,0xcf,0x86,0xcf,0x87,0xcf,0x88,0xcf,0x89,0xe2,
3105
  0x88,0x82,0xcf,0xb5,0xcf,0x91,0xcf,0xb0,0xcf,0x95,0xcf,0xb1,0xcf,0x96,0xcf,0x9c,0xcf,0x9d,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,
3106
  0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30,0x31,0x32,0x33,0x34,0x35,
3107
  0x36,0x37,0x38,0x39,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,
3108
  0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xba,0xda,0xa1,
3109
  0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd9,0x8a,0xd9,0x83,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,
3110
  0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xba,0xd8,0xac,0xd8,0xad,0xd9,0x8a,0xd9,0x84,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xae,
3111
  0xd8,0xb6,0xd8,0xba,0xda,0xba,0xd9,0xaf,0xd8,0xa8,0xd8,0xac,0xd9,0x87,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x83,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,
3112
  0xd8,0xb5,0xd9,0x82,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd9,0xae,0xda,0xa1,0xd8,0xa7,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x87,
3113
  0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,
3114
  0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0xd8,0xa8,0xd8,0xac,0xd8,0xaf,0xd9,0x88,0xd8,0xb2,0xd8,0xad,0xd8,0xb7,0xd9,0x8a,0xd9,0x84,0xd9,0x85,
3115
  0xd9,0x86,0xd8,0xb3,0xd8,0xb9,0xd9,0x81,0xd8,0xb5,0xd9,0x82,0xd8,0xb1,0xd8,0xb4,0xd8,0xaa,0xd8,0xab,0xd8,0xae,0xd8,0xb0,0xd8,0xb6,0xd8,0xb8,0xd8,0xba,0x30,0x2e,
3116
  0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x28,0x41,0x29,0x28,0x42,0x29,0x28,0x43,0x29,0x28,0x44,0x29,
3117
  0x28,0x45,0x29,0x28,0x46,0x29,0x28,0x47,0x29,0x28,0x48,0x29,0x28,0x49,0x29,0x28,0x4a,0x29,0x28,0x4b,0x29,0x28,0x4c,0x29,0x28,0x4d,0x29,0x28,0x4e,0x29,0x28,0x4f,
3118
  0x29,0x28,0x50,0x29,0x28,0x51,0x29,0x28,0x52,0x29,0x28,0x53,0x29,0x28,0x54,0x29,0x28,0x55,0x29,0x28,0x56,0x29,0x28,0x57,0x29,0x28,0x58,0x29,0x28,0x59,0x29,0x28,
3119
  0x5a,0x29,0xe3,0x80,0x94,0x53,0xe3,0x80,0x95,0x43,0x52,0x43,0x44,0x57,0x5a,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,
3120
  0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x48,0x56,0x4d,0x56,0x53,0x44,0x53,0x53,0x50,0x50,0x56,0x57,0x43,0x4d,0x43,0x4d,0x44,0x4d,0x52,0x44,0x4a,0xe3,0x81,
3121
  0xbb,0xe3,0x81,0x8b,0xe3,0x82,0xb3,0xe3,0x82,0xb3,0xe3,0x82,0xb5,0xe6,0x89,0x8b,0xe5,0xad,0x97,0xe5,0x8f,0x8c,0xe3,0x83,0x87,0xe4,0xba,0x8c,0xe5,0xa4,0x9a,0xe8,
3122
  0xa7,0xa3,0xe5,0xa4,0xa9,0xe4,0xba,0xa4,0xe6,0x98,0xa0,0xe7,0x84,0xa1,0xe6,0x96,0x99,0xe5,0x89,0x8d,0xe5,0xbe,0x8c,0xe5,0x86,0x8d,0xe6,0x96,0xb0,0xe5,0x88,0x9d,
3123
  0xe7,0xb5,0x82,0xe7,0x94,0x9f,0xe8,0xb2,0xa9,0xe5,0xa3,0xb0,0xe5,0x90,0xb9,0xe6,0xbc,0x94,0xe6,0x8a,0x95,0xe6,0x8d,0x95,0xe4,0xb8,0x80,0xe4,0xb8,0x89,0xe9,0x81,
3124
  0x8a,0xe5,0xb7,0xa6,0xe4,0xb8,0xad,0xe5,0x8f,0xb3,0xe6,0x8c,0x87,0xe8,0xb5,0xb0,0xe6,0x89,0x93,0xe7,0xa6,0x81,0xe7,0xa9,0xba,0xe5,0x90,0x88,0xe6,0xba,0x80,0xe6,
3125
  0x9c,0x89,0xe6,0x9c,0x88,0xe7,0x94,0xb3,0xe5,0x89,0xb2,0xe5,0x96,0xb6,0xe9,0x85,0x8d,0xe3,0x80,0x94,0xe6,0x9c,0xac,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xb8,0x89,
3126
  0xe3,0x80,0x95,0xe3,0x80,0x94,0xe4,0xba,0x8c,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0xae,0x89,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x82,0xb9,0xe3,0x80,0x95,0xe3,0x80,
3127
  0x94,0xe6,0x89,0x93,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe7,0x9b,0x97,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe5,0x8b,0x9d,0xe3,0x80,0x95,0xe3,0x80,0x94,0xe6,0x95,0x97,0xe3,
3128
  0x80,0x95,0xe5,0xbe,0x97,0xe5,0x8f,0xaf,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,
3129
};
3130
38.4k
#define mxDecompositionCount1 2732
3131
static const txU2 gxDecompositionIndex1[mxDecompositionCount1] ICACHE_XS6RO_ATTR = {
3132
  0x0781,0x8000,0x0782,0x8002,0x0783,0x8004,0x0784,0x8006,0x0785,0x8008,0x0787,0x800A,0x0788,0x800C,0x0789,0x800F,0x078A,0x8011,0x078B,0x8013,0x078C,0x8015,0x078D,0x8017,0x078E,0x801A,0x078F,0x801C,0x0790,0x801E,0x0791,0x8020,
3133
  0x0792,0x8022,0x0793,0x8024,0x0794,0x8026,0x0795,0x8028,0x0796,0x802A,0x0797,0x802C,0x0798,0x802E,0x0799,0x8030,0x079A,0x8032,0x079B,0x8034,0x079C,0x8036,0x079D,0x803A,0x079E,0x803D,0x079F,0x803F,0x07A0,0x8043,0x07A1,0x8045,
3134
  0x07A2,0x8049,0x07A3,0x804B,0x07A4,0x804D,0x07A5,0x804F,0x07A6,0x8050,0x07A7,0x8052,0x07A8,0x8056,0x07A9,0x8058,0x07AA,0x805A,0x07AB,0x805C,0x07AC,0x805E,0x07AD,0x8060,0x07AE,0x8063,0x07AF,0x8065,0x07B0,0x8067,0x07B2,0x806A,
3135
  0x07B3,0x806C,0x07B4,0x806E,0x07B5,0x8070,0x07B6,0x8072,0x07B7,0x8074,0x07B8,0x8076,0x07B9,0x8078,0x07BA,0x807C,0x109A,0x0080,0x109C,0x0088,0x10AB,0x0090,0x112E,0x0098,0x112F,0x00A0,0x134B,0x00A8,0x134C,0x00B0,0x14BB,0x00B8,
3136
  0x14BC,0x00C0,0x14BE,0x00C8,0x15BA,0x00D0,0x15BB,0x00D8,0x1938,0x00E0,0xD15E,0x00E8,0xD15F,0x00F0,0xD160,0x00F8,0xD161,0x0100,0xD162,0x0108,0xD163,0x0110,0xD164,0x0118,0xD1BB,0x0120,0xD1BC,0x0128,0xD1BD,0x0130,0xD1BE,0x0138,
3137
  0xD1BF,0x0140,0xD1C0,0x0148,0xD400,0x8150,0xD401,0x8151,0xD402,0x8152,0xD403,0x8153,0xD404,0x8154,0xD405,0x8155,0xD406,0x8156,0xD407,0x8157,0xD408,0x8158,0xD409,0x8159,0xD40A,0x815A,0xD40B,0x815B,0xD40C,0x815C,0xD40D,0x815D,
3138
  0xD40E,0x815E,0xD40F,0x815F,0xD410,0x8160,0xD411,0x8161,0xD412,0x8162,0xD413,0x8163,0xD414,0x8164,0xD415,0x8165,0xD416,0x8166,0xD417,0x8167,0xD418,0x8168,0xD419,0x8169,0xD41A,0x816A,0xD41B,0x816B,0xD41C,0x816C,0xD41D,0x816D,
3139
  0xD41E,0x816E,0xD41F,0x816F,0xD420,0x8170,0xD421,0x8171,0xD422,0x8172,0xD423,0x8173,0xD424,0x8174,0xD425,0x8175,0xD426,0x8176,0xD427,0x8177,0xD428,0x8178,0xD429,0x8179,0xD42A,0x817A,0xD42B,0x817B,0xD42C,0x817C,0xD42D,0x817D,
3140
  0xD42E,0x817E,0xD42F,0x817F,0xD430,0x8180,0xD431,0x8181,0xD432,0x8182,0xD433,0x8183,0xD434,0x8184,0xD435,0x8185,0xD436,0x8186,0xD437,0x8187,0xD438,0x8188,0xD439,0x8189,0xD43A,0x818A,0xD43B,0x818B,0xD43C,0x818C,0xD43D,0x818D,
3141
  0xD43E,0x818E,0xD43F,0x818F,0xD440,0x8190,0xD441,0x8191,0xD442,0x8192,0xD443,0x8193,0xD444,0x8194,0xD445,0x8195,0xD446,0x8196,0xD447,0x8197,0xD448,0x8198,0xD449,0x8199,0xD44A,0x819A,0xD44B,0x819B,0xD44C,0x819C,0xD44D,0x819D,
3142
  0xD44E,0x819E,0xD44F,0x819F,0xD450,0x81A0,0xD451,0x81A1,0xD452,0x81A2,0xD453,0x81A3,0xD454,0x81A4,0xD456,0x81A5,0xD457,0x81A6,0xD458,0x81A7,0xD459,0x81A8,0xD45A,0x81A9,0xD45B,0x81AA,0xD45C,0x81AB,0xD45D,0x81AC,0xD45E,0x81AD,
3143
  0xD45F,0x81AE,0xD460,0x81AF,0xD461,0x81B0,0xD462,0x81B1,0xD463,0x81B2,0xD464,0x81B3,0xD465,0x81B4,0xD466,0x81B5,0xD467,0x81B6,0xD468,0x81B7,0xD469,0x81B8,0xD46A,0x81B9,0xD46B,0x81BA,0xD46C,0x81BB,0xD46D,0x81BC,0xD46E,0x81BD,
3144
  0xD46F,0x81BE,0xD470,0x81BF,0xD471,0x81C0,0xD472,0x81C1,0xD473,0x81C2,0xD474,0x81C3,0xD475,0x81C4,0xD476,0x81C5,0xD477,0x81C6,0xD478,0x81C7,0xD479,0x81C8,0xD47A,0x81C9,0xD47B,0x81CA,0xD47C,0x81CB,0xD47D,0x81CC,0xD47E,0x81CD,
3145
  0xD47F,0x81CE,0xD480,0x81CF,0xD481,0x81D0,0xD482,0x81D1,0xD483,0x81D2,0xD484,0x81D3,0xD485,0x81D4,0xD486,0x81D5,0xD487,0x81D6,0xD488,0x81D7,0xD489,0x81D8,0xD48A,0x81D9,0xD48B,0x81DA,0xD48C,0x81DB,0xD48D,0x81DC,0xD48E,0x81DD,
3146
  0xD48F,0x81DE,0xD490,0x81DF,0xD491,0x81E0,0xD492,0x81E1,0xD493,0x81E2,0xD494,0x81E3,0xD495,0x81E4,0xD496,0x81E5,0xD497,0x81E6,0xD498,0x81E7,0xD499,0x81E8,0xD49A,0x81E9,0xD49B,0x81EA,0xD49C,0x81EB,0xD49E,0x81EC,0xD49F,0x81ED,
3147
  0xD4A2,0x81EE,0xD4A5,0x81EF,0xD4A6,0x81F0,0xD4A9,0x81F1,0xD4AA,0x81F2,0xD4AB,0x81F3,0xD4AC,0x81F4,0xD4AE,0x81F5,0xD4AF,0x81F6,0xD4B0,0x81F7,0xD4B1,0x81F8,0xD4B2,0x81F9,0xD4B3,0x81FA,0xD4B4,0x81FB,0xD4B5,0x81FC,0xD4B6,0x81FD,
3148
  0xD4B7,0x81FE,0xD4B8,0x81FF,0xD4B9,0x8200,0xD4BB,0x8201,0xD4BD,0x8202,0xD4BE,0x8203,0xD4BF,0x8204,0xD4C0,0x8205,0xD4C1,0x8206,0xD4C2,0x8207,0xD4C3,0x8208,0xD4C5,0x8209,0xD4C6,0x820A,0xD4C7,0x820B,0xD4C8,0x820C,0xD4C9,0x820D,
3149
  0xD4CA,0x820E,0xD4CB,0x820F,0xD4CC,0x8210,0xD4CD,0x8211,0xD4CE,0x8212,0xD4CF,0x8213,0xD4D0,0x8214,0xD4D1,0x8215,0xD4D2,0x8216,0xD4D3,0x8217,0xD4D4,0x8218,0xD4D5,0x8219,0xD4D6,0x821A,0xD4D7,0x821B,0xD4D8,0x821C,0xD4D9,0x821D,
3150
  0xD4DA,0x821E,0xD4DB,0x821F,0xD4DC,0x8220,0xD4DD,0x8221,0xD4DE,0x8222,0xD4DF,0x8223,0xD4E0,0x8224,0xD4E1,0x8225,0xD4E2,0x8226,0xD4E3,0x8227,0xD4E4,0x8228,0xD4E5,0x8229,0xD4E6,0x822A,0xD4E7,0x822B,0xD4E8,0x822C,0xD4E9,0x822D,
3151
  0xD4EA,0x822E,0xD4EB,0x822F,0xD4EC,0x8230,0xD4ED,0x8231,0xD4EE,0x8232,0xD4EF,0x8233,0xD4F0,0x8234,0xD4F1,0x8235,0xD4F2,0x8236,0xD4F3,0x8237,0xD4F4,0x8238,0xD4F5,0x8239,0xD4F6,0x823A,0xD4F7,0x823B,0xD4F8,0x823C,0xD4F9,0x823D,
3152
  0xD4FA,0x823E,0xD4FB,0x823F,0xD4FC,0x8240,0xD4FD,0x8241,0xD4FE,0x8242,0xD4FF,0x8243,0xD500,0x8244,0xD501,0x8245,0xD502,0x8246,0xD503,0x8247,0xD504,0x8248,0xD505,0x8249,0xD507,0x824A,0xD508,0x824B,0xD509,0x824C,0xD50A,0x824D,
3153
  0xD50D,0x824E,0xD50E,0x824F,0xD50F,0x8250,0xD510,0x8251,0xD511,0x8252,0xD512,0x8253,0xD513,0x8254,0xD514,0x8255,0xD516,0x8256,0xD517,0x8257,0xD518,0x8258,0xD519,0x8259,0xD51A,0x825A,0xD51B,0x825B,0xD51C,0x825C,0xD51E,0x825D,
3154
  0xD51F,0x825E,0xD520,0x825F,0xD521,0x8260,0xD522,0x8261,0xD523,0x8262,0xD524,0x8263,0xD525,0x8264,0xD526,0x8265,0xD527,0x8266,0xD528,0x8267,0xD529,0x8268,0xD52A,0x8269,0xD52B,0x826A,0xD52C,0x826B,0xD52D,0x826C,0xD52E,0x826D,
3155
  0xD52F,0x826E,0xD530,0x826F,0xD531,0x8270,0xD532,0x8271,0xD533,0x8272,0xD534,0x8273,0xD535,0x8274,0xD536,0x8275,0xD537,0x8276,0xD538,0x8277,0xD539,0x8278,0xD53B,0x8279,0xD53C,0x827A,0xD53D,0x827B,0xD53E,0x827C,0xD540,0x827D,
3156
  0xD541,0x827E,0xD542,0x827F,0xD543,0x8280,0xD544,0x8281,0xD546,0x8282,0xD54A,0x8283,0xD54B,0x8284,0xD54C,0x8285,0xD54D,0x8286,0xD54E,0x8287,0xD54F,0x8288,0xD550,0x8289,0xD552,0x828A,0xD553,0x828B,0xD554,0x828C,0xD555,0x828D,
3157
  0xD556,0x828E,0xD557,0x828F,0xD558,0x8290,0xD559,0x8291,0xD55A,0x8292,0xD55B,0x8293,0xD55C,0x8294,0xD55D,0x8295,0xD55E,0x8296,0xD55F,0x8297,0xD560,0x8298,0xD561,0x8299,0xD562,0x829A,0xD563,0x829B,0xD564,0x829C,0xD565,0x829D,
3158
  0xD566,0x829E,0xD567,0x829F,0xD568,0x82A0,0xD569,0x82A1,0xD56A,0x82A2,0xD56B,0x82A3,0xD56C,0x82A4,0xD56D,0x82A5,0xD56E,0x82A6,0xD56F,0x82A7,0xD570,0x82A8,0xD571,0x82A9,0xD572,0x82AA,0xD573,0x82AB,0xD574,0x82AC,0xD575,0x82AD,
3159
  0xD576,0x82AE,0xD577,0x82AF,0xD578,0x82B0,0xD579,0x82B1,0xD57A,0x82B2,0xD57B,0x82B3,0xD57C,0x82B4,0xD57D,0x82B5,0xD57E,0x82B6,0xD57F,0x82B7,0xD580,0x82B8,0xD581,0x82B9,0xD582,0x82BA,0xD583,0x82BB,0xD584,0x82BC,0xD585,0x82BD,
3160
  0xD586,0x82BE,0xD587,0x82BF,0xD588,0x82C0,0xD589,0x82C1,0xD58A,0x82C2,0xD58B,0x82C3,0xD58C,0x82C4,0xD58D,0x82C5,0xD58E,0x82C6,0xD58F,0x82C7,0xD590,0x82C8,0xD591,0x82C9,0xD592,0x82CA,0xD593,0x82CB,0xD594,0x82CC,0xD595,0x82CD,
3161
  0xD596,0x82CE,0xD597,0x82CF,0xD598,0x82D0,0xD599,0x82D1,0xD59A,0x82D2,0xD59B,0x82D3,0xD59C,0x82D4,0xD59D,0x82D5,0xD59E,0x82D6,0xD59F,0x82D7,0xD5A0,0x82D8,0xD5A1,0x82D9,0xD5A2,0x82DA,0xD5A3,0x82DB,0xD5A4,0x82DC,0xD5A5,0x82DD,
3162
  0xD5A6,0x82DE,0xD5A7,0x82DF,0xD5A8,0x82E0,0xD5A9,0x82E1,0xD5AA,0x82E2,0xD5AB,0x82E3,0xD5AC,0x82E4,0xD5AD,0x82E5,0xD5AE,0x82E6,0xD5AF,0x82E7,0xD5B0,0x82E8,0xD5B1,0x82E9,0xD5B2,0x82EA,0xD5B3,0x82EB,0xD5B4,0x82EC,0xD5B5,0x82ED,
3163
  0xD5B6,0x82EE,0xD5B7,0x82EF,0xD5B8,0x82F0,0xD5B9,0x82F1,0xD5BA,0x82F2,0xD5BB,0x82F3,0xD5BC,0x82F4,0xD5BD,0x82F5,0xD5BE,0x82F6,0xD5BF,0x82F7,0xD5C0,0x82F8,0xD5C1,0x82F9,0xD5C2,0x82FA,0xD5C3,0x82FB,0xD5C4,0x82FC,0xD5C5,0x82FD,
3164
  0xD5C6,0x82FE,0xD5C7,0x82FF,0xD5C8,0x8300,0xD5C9,0x8301,0xD5CA,0x8302,0xD5CB,0x8303,0xD5CC,0x8304,0xD5CD,0x8305,0xD5CE,0x8306,0xD5CF,0x8307,0xD5D0,0x8308,0xD5D1,0x8309,0xD5D2,0x830A,0xD5D3,0x830B,0xD5D4,0x830C,0xD5D5,0x830D,
3165
  0xD5D6,0x830E,0xD5D7,0x830F,0xD5D8,0x8310,0xD5D9,0x8311,0xD5DA,0x8312,0xD5DB,0x8313,0xD5DC,0x8314,0xD5DD,0x8315,0xD5DE,0x8316,0xD5DF,0x8317,0xD5E0,0x8318,0xD5E1,0x8319,0xD5E2,0x831A,0xD5E3,0x831B,0xD5E4,0x831C,0xD5E5,0x831D,
3166
  0xD5E6,0x831E,0xD5E7,0x831F,0xD5E8,0x8320,0xD5E9,0x8321,0xD5EA,0x8322,0xD5EB,0x8323,0xD5EC,0x8324,0xD5ED,0x8325,0xD5EE,0x8326,0xD5EF,0x8327,0xD5F0,0x8328,0xD5F1,0x8329,0xD5F2,0x832A,0xD5F3,0x832B,0xD5F4,0x832C,0xD5F5,0x832D,
3167
  0xD5F6,0x832E,0xD5F7,0x832F,0xD5F8,0x8330,0xD5F9,0x8331,0xD5FA,0x8332,0xD5FB,0x8333,0xD5FC,0x8334,0xD5FD,0x8335,0xD5FE,0x8336,0xD5FF,0x8337,0xD600,0x8338,0xD601,0x8339,0xD602,0x833A,0xD603,0x833B,0xD604,0x833C,0xD605,0x833D,
3168
  0xD606,0x833E,0xD607,0x833F,0xD608,0x8340,0xD609,0x8341,0xD60A,0x8342,0xD60B,0x8343,0xD60C,0x8344,0xD60D,0x8345,0xD60E,0x8346,0xD60F,0x8347,0xD610,0x8348,0xD611,0x8349,0xD612,0x834A,0xD613,0x834B,0xD614,0x834C,0xD615,0x834D,
3169
  0xD616,0x834E,0xD617,0x834F,0xD618,0x8350,0xD619,0x8351,0xD61A,0x8352,0xD61B,0x8353,0xD61C,0x8354,0xD61D,0x8355,0xD61E,0x8356,0xD61F,0x8357,0xD620,0x8358,0xD621,0x8359,0xD622,0x835A,0xD623,0x835B,0xD624,0x835C,0xD625,0x835D,
3170
  0xD626,0x835E,0xD627,0x835F,0xD628,0x8360,0xD629,0x8361,0xD62A,0x8362,0xD62B,0x8363,0xD62C,0x8364,0xD62D,0x8365,0xD62E,0x8366,0xD62F,0x8367,0xD630,0x8368,0xD631,0x8369,0xD632,0x836A,0xD633,0x836B,0xD634,0x836C,0xD635,0x836D,
3171
  0xD636,0x836E,0xD637,0x836F,0xD638,0x8370,0xD639,0x8371,0xD63A,0x8372,0xD63B,0x8373,0xD63C,0x8374,0xD63D,0x8375,0xD63E,0x8376,0xD63F,0x8377,0xD640,0x8378,0xD641,0x8379,0xD642,0x837A,0xD643,0x837B,0xD644,0x837C,0xD645,0x837D,
3172
  0xD646,0x837E,0xD647,0x837F,0xD648,0x8380,0xD649,0x8381,0xD64A,0x8382,0xD64B,0x8383,0xD64C,0x8384,0xD64D,0x8385,0xD64E,0x8386,0xD64F,0x8387,0xD650,0x8388,0xD651,0x8389,0xD652,0x838A,0xD653,0x838B,0xD654,0x838C,0xD655,0x838D,
3173
  0xD656,0x838E,0xD657,0x838F,0xD658,0x8390,0xD659,0x8391,0xD65A,0x8392,0xD65B,0x8393,0xD65C,0x8394,0xD65D,0x8395,0xD65E,0x8396,0xD65F,0x8397,0xD660,0x8398,0xD661,0x8399,0xD662,0x839A,0xD663,0x839B,0xD664,0x839C,0xD665,0x839D,
3174
  0xD666,0x839E,0xD667,0x839F,0xD668,0x83A0,0xD669,0x83A1,0xD66A,0x83A2,0xD66B,0x83A3,0xD66C,0x83A4,0xD66D,0x83A5,0xD66E,0x83A6,0xD66F,0x83A7,0xD670,0x83A8,0xD671,0x83A9,0xD672,0x83AA,0xD673,0x83AB,0xD674,0x83AC,0xD675,0x83AD,
3175
  0xD676,0x83AE,0xD677,0x83AF,0xD678,0x83B0,0xD679,0x83B1,0xD67A,0x83B2,0xD67B,0x83B3,0xD67C,0x83B4,0xD67D,0x83B5,0xD67E,0x83B6,0xD67F,0x83B7,0xD680,0x83B8,0xD681,0x83B9,0xD682,0x83BA,0xD683,0x83BB,0xD684,0x83BC,0xD685,0x83BD,
3176
  0xD686,0x83BE,0xD687,0x83BF,0xD688,0x83C0,0xD689,0x83C1,0xD68A,0x83C2,0xD68B,0x83C3,0xD68C,0x83C4,0xD68D,0x83C5,0xD68E,0x83C6,0xD68F,0x83C7,0xD690,0x83C8,0xD691,0x83C9,0xD692,0x83CA,0xD693,0x83CB,0xD694,0x83CC,0xD695,0x83CD,
3177
  0xD696,0x83CE,0xD697,0x83CF,0xD698,0x83D0,0xD699,0x83D1,0xD69A,0x83D2,0xD69B,0x83D3,0xD69C,0x83D4,0xD69D,0x83D5,0xD69E,0x83D6,0xD69F,0x83D7,0xD6A0,0x83D8,0xD6A1,0x83D9,0xD6A2,0x83DA,0xD6A3,0x83DB,0xD6A4,0x83DC,0xD6A5,0x83DE,
3178
  0xD6A8,0x83E0,0xD6A9,0x83E2,0xD6AA,0x83E4,0xD6AB,0x83E6,0xD6AC,0x83E8,0xD6AD,0x83EA,0xD6AE,0x83EC,0xD6AF,0x83EE,0xD6B0,0x83F0,0xD6B1,0x83F2,0xD6B2,0x83F4,0xD6B3,0x83F6,0xD6B4,0x83F8,0xD6B5,0x83FA,0xD6B6,0x83FC,0xD6B7,0x83FE,
3179
  0xD6B8,0x8400,0xD6B9,0x8402,0xD6BA,0x8404,0xD6BB,0x8406,0xD6BC,0x8408,0xD6BD,0x840A,0xD6BE,0x840C,0xD6BF,0x840E,0xD6C0,0x8410,0xD6C1,0x8412,0xD6C2,0x8415,0xD6C3,0x8417,0xD6C4,0x8419,0xD6C5,0x841B,0xD6C6,0x841D,0xD6C7,0x841F,
3180
  0xD6C8,0x8421,0xD6C9,0x8423,0xD6CA,0x8425,0xD6CB,0x8427,0xD6CC,0x8429,0xD6CD,0x842B,0xD6CE,0x842D,0xD6CF,0x842F,0xD6D0,0x8431,0xD6D1,0x8433,0xD6D2,0x8435,0xD6D3,0x8437,0xD6D4,0x8439,0xD6D5,0x843B,0xD6D6,0x843D,0xD6D7,0x843F,
3181
  0xD6D8,0x8441,0xD6D9,0x8443,0xD6DA,0x8445,0xD6DB,0x8447,0xD6DC,0x844A,0xD6DD,0x844C,0xD6DE,0x844E,0xD6DF,0x8450,0xD6E0,0x8452,0xD6E1,0x8454,0xD6E2,0x8456,0xD6E3,0x8458,0xD6E4,0x845A,0xD6E5,0x845C,0xD6E6,0x845E,0xD6E7,0x8460,
3182
  0xD6E8,0x8462,0xD6E9,0x8464,0xD6EA,0x8466,0xD6EB,0x8468,0xD6EC,0x846A,0xD6ED,0x846C,0xD6EE,0x846E,0xD6EF,0x8470,0xD6F0,0x8472,0xD6F1,0x8474,0xD6F2,0x8476,0xD6F3,0x8478,0xD6F4,0x847A,0xD6F5,0x847C,0xD6F6,0x847E,0xD6F7,0x8480,
3183
  0xD6F8,0x8482,0xD6F9,0x8484,0xD6FA,0x8486,0xD6FB,0x8488,0xD6FC,0x848B,0xD6FD,0x848D,0xD6FE,0x848F,0xD6FF,0x8491,0xD700,0x8493,0xD701,0x8495,0xD702,0x8497,0xD703,0x8499,0xD704,0x849B,0xD705,0x849D,0xD706,0x849F,0xD707,0x84A1,
3184
  0xD708,0x84A3,0xD709,0x84A5,0xD70A,0x84A7,0xD70B,0x84A9,0xD70C,0x84AB,0xD70D,0x84AD,0xD70E,0x84AF,0xD70F,0x84B1,0xD710,0x84B3,0xD711,0x84B5,0xD712,0x84B7,0xD713,0x84B9,0xD714,0x84BB,0xD715,0x84BD,0xD716,0x84C0,0xD717,0x84C2,
3185
  0xD718,0x84C4,0xD719,0x84C6,0xD71A,0x84C8,0xD71B,0x84CA,0xD71C,0x84CC,0xD71D,0x84CE,0xD71E,0x84D0,0xD71F,0x84D2,0xD720,0x84D4,0xD721,0x84D6,0xD722,0x84D8,0xD723,0x84DA,0xD724,0x84DC,0xD725,0x84DE,0xD726,0x84E0,0xD727,0x84E2,
3186
  0xD728,0x84E4,0xD729,0x84E6,0xD72A,0x84E8,0xD72B,0x84EA,0xD72C,0x84EC,0xD72D,0x84EE,0xD72E,0x84F0,0xD72F,0x84F2,0xD730,0x84F4,0xD731,0x84F6,0xD732,0x84F8,0xD733,0x84FA,0xD734,0x84FC,0xD735,0x84FE,0xD736,0x8501,0xD737,0x8503,
3187
  0xD738,0x8505,0xD739,0x8507,0xD73A,0x8509,0xD73B,0x850B,0xD73C,0x850D,0xD73D,0x850F,0xD73E,0x8511,0xD73F,0x8513,0xD740,0x8515,0xD741,0x8517,0xD742,0x8519,0xD743,0x851B,0xD744,0x851D,0xD745,0x851F,0xD746,0x8521,0xD747,0x8523,
3188
  0xD748,0x8525,0xD749,0x8527,0xD74A,0x8529,0xD74B,0x852B,0xD74C,0x852D,0xD74D,0x852F,0xD74E,0x8531,0xD74F,0x8533,0xD750,0x8536,0xD751,0x8538,0xD752,0x853A,0xD753,0x853C,0xD754,0x853E,0xD755,0x8540,0xD756,0x8542,0xD757,0x8544,
3189
  0xD758,0x8546,0xD759,0x8548,0xD75A,0x854A,0xD75B,0x854C,0xD75C,0x854E,0xD75D,0x8550,0xD75E,0x8552,0xD75F,0x8554,0xD760,0x8556,0xD761,0x8558,0xD762,0x855A,0xD763,0x855C,0xD764,0x855E,0xD765,0x8560,0xD766,0x8562,0xD767,0x8564,
3190
  0xD768,0x8566,0xD769,0x8568,0xD76A,0x856A,0xD76B,0x856C,0xD76C,0x856E,0xD76D,0x8570,0xD76E,0x8572,0xD76F,0x8574,0xD770,0x8577,0xD771,0x8579,0xD772,0x857B,0xD773,0x857D,0xD774,0x857F,0xD775,0x8581,0xD776,0x8583,0xD777,0x8585,
3191
  0xD778,0x8587,0xD779,0x8589,0xD77A,0x858B,0xD77B,0x858D,0xD77C,0x858F,0xD77D,0x8591,0xD77E,0x8593,0xD77F,0x8595,0xD780,0x8597,0xD781,0x8599,0xD782,0x859B,0xD783,0x859D,0xD784,0x859F,0xD785,0x85A1,0xD786,0x85A3,0xD787,0x85A5,
3192
  0xD788,0x85A7,0xD789,0x85A9,0xD78A,0x85AC,0xD78B,0x85AE,0xD78C,0x85B0,0xD78D,0x85B2,0xD78E,0x85B4,0xD78F,0x85B6,0xD790,0x85B8,0xD791,0x85BA,0xD792,0x85BC,0xD793,0x85BE,0xD794,0x85C0,0xD795,0x85C2,0xD796,0x85C4,0xD797,0x85C6,
3193
  0xD798,0x85C8,0xD799,0x85CA,0xD79A,0x85CC,0xD79B,0x85CE,0xD79C,0x85D0,0xD79D,0x85D2,0xD79E,0x85D4,0xD79F,0x85D6,0xD7A0,0x85D8,0xD7A1,0x85DA,0xD7A2,0x85DC,0xD7A3,0x85DE,0xD7A4,0x85E0,0xD7A5,0x85E2,0xD7A6,0x85E4,0xD7A7,0x85E6,
3194
  0xD7A8,0x85E8,0xD7A9,0x85EA,0xD7AA,0x85ED,0xD7AB,0x85EF,0xD7AC,0x85F1,0xD7AD,0x85F3,0xD7AE,0x85F5,0xD7AF,0x85F7,0xD7B0,0x85F9,0xD7B1,0x85FB,0xD7B2,0x85FD,0xD7B3,0x85FF,0xD7B4,0x8601,0xD7B5,0x8603,0xD7B6,0x8605,0xD7B7,0x8607,
3195
  0xD7B8,0x8609,0xD7B9,0x860B,0xD7BA,0x860D,0xD7BB,0x860F,0xD7BC,0x8611,0xD7BD,0x8613,0xD7BE,0x8615,0xD7BF,0x8617,0xD7C0,0x8619,0xD7C1,0x861B,0xD7C2,0x861D,0xD7C3,0x861F,0xD7C4,0x8622,0xD7C5,0x8624,0xD7C6,0x8626,0xD7C7,0x8628,
3196
  0xD7C8,0x862A,0xD7C9,0x862C,0xD7CA,0x862E,0xD7CB,0x8630,0xD7CE,0x8632,0xD7CF,0x8633,0xD7D0,0x8634,0xD7D1,0x8635,0xD7D2,0x8636,0xD7D3,0x8637,0xD7D4,0x8638,0xD7D5,0x8639,0xD7D6,0x863A,0xD7D7,0x863B,0xD7D8,0x863C,0xD7D9,0x863D,
3197
  0xD7DA,0x863E,0xD7DB,0x863F,0xD7DC,0x8640,0xD7DD,0x8641,0xD7DE,0x8642,0xD7DF,0x8643,0xD7E0,0x8644,0xD7E1,0x8645,0xD7E2,0x8646,0xD7E3,0x8647,0xD7E4,0x8648,0xD7E5,0x8649,0xD7E6,0x864A,0xD7E7,0x864B,0xD7E8,0x864C,0xD7E9,0x864D,
3198
  0xD7EA,0x864E,0xD7EB,0x864F,0xD7EC,0x8650,0xD7ED,0x8651,0xD7EE,0x8652,0xD7EF,0x8653,0xD7F0,0x8654,0xD7F1,0x8655,0xD7F2,0x8656,0xD7F3,0x8657,0xD7F4,0x8658,0xD7F5,0x8659,0xD7F6,0x865A,0xD7F7,0x865B,0xD7F8,0x865C,0xD7F9,0x865D,
3199
  0xD7FA,0x865E,0xD7FB,0x865F,0xD7FC,0x8660,0xD7FD,0x8661,0xD7FE,0x8662,0xD7FF,0x8663,0xEE00,0x8664,0xEE01,0x8666,0xEE02,0x8668,0xEE03,0x866A,0xEE05,0x866C,0xEE06,0x866E,0xEE07,0x8670,0xEE08,0x8672,0xEE09,0x8674,0xEE0A,0x8676,
3200
  0xEE0B,0x8678,0xEE0C,0x867A,0xEE0D,0x867C,0xEE0E,0x867E,0xEE0F,0x8680,0xEE10,0x8682,0xEE11,0x8684,0xEE12,0x8686,0xEE13,0x8688,0xEE14,0x868A,0xEE15,0x868C,0xEE16,0x868E,0xEE17,0x8690,0xEE18,0x8692,0xEE19,0x8694,0xEE1A,0x8696,
3201
  0xEE1B,0x8698,0xEE1C,0x869A,0xEE1D,0x869C,0xEE1E,0x869E,0xEE1F,0x86A0,0xEE21,0x86A2,0xEE22,0x86A4,0xEE24,0x86A6,0xEE27,0x86A8,0xEE29,0x86AA,0xEE2A,0x86AC,0xEE2B,0x86AE,0xEE2C,0x86B0,0xEE2D,0x86B2,0xEE2E,0x86B4,0xEE2F,0x86B6,
3202
  0xEE30,0x86B8,0xEE31,0x86BA,0xEE32,0x86BC,0xEE34,0x86BE,0xEE35,0x86C0,0xEE36,0x86C2,0xEE37,0x86C4,0xEE39,0x86C6,0xEE3B,0x86C8,0xEE42,0x86CA,0xEE47,0x86CC,0xEE49,0x86CE,0xEE4B,0x86D0,0xEE4D,0x86D2,0xEE4E,0x86D4,0xEE4F,0x86D6,
3203
  0xEE51,0x86D8,0xEE52,0x86DA,0xEE54,0x86DC,0xEE57,0x86DE,0xEE59,0x86E0,0xEE5B,0x86E2,0xEE5D,0x86E4,0xEE5F,0x86E6,0xEE61,0x86E8,0xEE62,0x86EA,0xEE64,0x86EC,0xEE67,0x86EE,0xEE68,0x86F0,0xEE69,0x86F2,0xEE6A,0x86F4,0xEE6C,0x86F6,
3204
  0xEE6D,0x86F8,0xEE6E,0x86FA,0xEE6F,0x86FC,0xEE70,0x86FE,0xEE71,0x8700,0xEE72,0x8702,0xEE74,0x8704,0xEE75,0x8706,0xEE76,0x8708,0xEE77,0x870A,0xEE79,0x870C,0xEE7A,0x870E,0xEE7B,0x8710,0xEE7C,0x8712,0xEE7E,0x8714,0xEE80,0x8716,
3205
  0xEE81,0x8718,0xEE82,0x871A,0xEE83,0x871C,0xEE84,0x871E,0xEE85,0x8720,0xEE86,0x8722,0xEE87,0x8724,0xEE88,0x8726,0xEE89,0x8728,0xEE8B,0x872A,0xEE8C,0x872C,0xEE8D,0x872E,0xEE8E,0x8730,0xEE8F,0x8732,0xEE90,0x8734,0xEE91,0x8736,
3206
  0xEE92,0x8738,0xEE93,0x873A,0xEE94,0x873C,0xEE95,0x873E,0xEE96,0x8740,0xEE97,0x8742,0xEE98,0x8744,0xEE99,0x8746,0xEE9A,0x8748,0xEE9B,0x874A,0xEEA1,0x874C,0xEEA2,0x874E,0xEEA3,0x8750,0xEEA5,0x8752,0xEEA6,0x8754,0xEEA7,0x8756,
3207
  0xEEA8,0x8758,0xEEA9,0x875A,0xEEAB,0x875C,0xEEAC,0x875E,0xEEAD,0x8760,0xEEAE,0x8762,0xEEAF,0x8764,0xEEB0,0x8766,0xEEB1,0x8768,0xEEB2,0x876A,0xEEB3,0x876C,0xEEB4,0x876E,0xEEB5,0x8770,0xEEB6,0x8772,0xEEB7,0x8774,0xEEB8,0x8776,
3208
  0xEEB9,0x8778,0xEEBA,0x877A,0xEEBB,0x877C,0xF100,0x877E,0xF101,0x8780,0xF102,0x8782,0xF103,0x8784,0xF104,0x8786,0xF105,0x8788,0xF106,0x878A,0xF107,0x878C,0xF108,0x878E,0xF109,0x8790,0xF10A,0x8792,0xF110,0x8794,0xF111,0x8797,
3209
  0xF112,0x879A,0xF113,0x879D,0xF114,0x87A0,0xF115,0x87A3,0xF116,0x87A6,0xF117,0x87A9,0xF118,0x87AC,0xF119,0x87AF,0xF11A,0x87B2,0xF11B,0x87B5,0xF11C,0x87B8,0xF11D,0x87BB,0xF11E,0x87BE,0xF11F,0x87C1,0xF120,0x87C4,0xF121,0x87C7,
3210
  0xF122,0x87CA,0xF123,0x87CD,0xF124,0x87D0,0xF125,0x87D3,0xF126,0x87D6,0xF127,0x87D9,0xF128,0x87DC,0xF129,0x87DF,0xF12A,0x87E2,0xF12B,0x87E9,0xF12C,0x87EA,0xF12D,0x87EB,0xF12E,0x87ED,0xF130,0x87EF,0xF131,0x87F0,0xF132,0x87F1,
3211
  0xF133,0x87F2,0xF134,0x87F3,0xF135,0x87F4,0xF136,0x87F5,0xF137,0x87F6,0xF138,0x87F7,0xF139,0x87F8,0xF13A,0x87F9,0xF13B,0x87FA,0xF13C,0x87FB,0xF13D,0x87FC,0xF13E,0x87FD,0xF13F,0x87FE,0xF140,0x87FF,0xF141,0x8800,0xF142,0x8801,
3212
  0xF143,0x8802,0xF144,0x8803,0xF145,0x8804,0xF146,0x8805,0xF147,0x8806,0xF148,0x8807,0xF149,0x8808,0xF14A,0x8809,0xF14B,0x880B,0xF14C,0x880D,0xF14D,0x880F,0xF14E,0x8811,0xF14F,0x8814,0xF16A,0x8816,0xF16B,0x8818,0xF16C,0x881A,
3213
  0xF190,0x881C,0xF200,0x881E,0xF201,0x8824,0xF202,0x882A,0xF210,0x882D,0xF211,0x8830,0xF212,0x8833,0xF213,0x8836,0xF214,0x8839,0xF215,0x883C,0xF216,0x883F,0xF217,0x8842,0xF218,0x8845,0xF219,0x8848,0xF21A,0x884B,0xF21B,0x884E,
3214
  0xF21C,0x8851,0xF21D,0x8854,0xF21E,0x8857,0xF21F,0x885A,0xF220,0x885D,0xF221,0x8860,0xF222,0x8863,0xF223,0x8866,0xF224,0x8869,0xF225,0x886C,0xF226,0x886F,0xF227,0x8872,0xF228,0x8875,0xF229,0x8878,0xF22A,0x887B,0xF22B,0x887E,
3215
  0xF22C,0x8881,0xF22D,0x8884,0xF22E,0x8887,0xF22F,0x888A,0xF230,0x888D,0xF231,0x8890,0xF232,0x8893,0xF233,0x8896,0xF234,0x8899,0xF235,0x889C,0xF236,0x889F,0xF237,0x88A2,0xF238,0x88A5,0xF239,0x88A8,0xF23A,0x88AB,0xF23B,0x88AE,
3216
  0xF240,0x88B1,0xF241,0x88BA,0xF242,0x88C3,0xF243,0x88CC,0xF244,0x88D5,0xF245,0x88DE,0xF246,0x88E7,0xF247,0x88F0,0xF248,0x88F9,0xF250,0x8902,0xF251,0x8905,0xFBF0,0x8908,0xFBF1,0x8909,0xFBF2,0x890A,0xFBF3,0x890B,0xFBF4,0x890C,
3217
  0xFBF5,0x890D,0xFBF6,0x890E,0xFBF7,0x890F,0xFBF8,0x8910,0xFBF9,0x8911,0xFFFF,0x0912,
3218
};
3219
#define mxDecompositionSize2 1731
3220
const txU1 gxDecompositionData2[mxDecompositionSize2] ICACHE_XS6RO_ATTR = {
3221
  0xe4,0xb8,0xbd,0xe4,0xb8,0xb8,0xe4,0xb9,0x81,0xf0,0xa0,0x84,0xa2,0xe4,0xbd,0xa0,0xe4,0xbe,0xae,0xe4,0xbe,0xbb,0xe5,0x80,0x82,0xe5,0x81,0xba,0xe5,0x82,0x99,0xe5,
3222
  0x83,0xa7,0xe5,0x83,0x8f,0xe3,0x92,0x9e,0xf0,0xa0,0x98,0xba,0xe5,0x85,0x8d,0xe5,0x85,0x94,0xe5,0x85,0xa4,0xe5,0x85,0xb7,0xf0,0xa0,0x94,0x9c,0xe3,0x92,0xb9,0xe5,
3223
  0x85,0xa7,0xe5,0x86,0x8d,0xf0,0xa0,0x95,0x8b,0xe5,0x86,0x97,0xe5,0x86,0xa4,0xe4,0xbb,0x8c,0xe5,0x86,0xac,0xe5,0x86,0xb5,0xf0,0xa9,0x87,0x9f,0xe5,0x87,0xb5,0xe5,
3224
  0x88,0x83,0xe3,0x93,0x9f,0xe5,0x88,0xbb,0xe5,0x89,0x86,0xe5,0x89,0xb2,0xe5,0x89,0xb7,0xe3,0x94,0x95,0xe5,0x8b,0x87,0xe5,0x8b,0x89,0xe5,0x8b,0xa4,0xe5,0x8b,0xba,
3225
  0xe5,0x8c,0x85,0xe5,0x8c,0x86,0xe5,0x8c,0x97,0xe5,0x8d,0x89,0xe5,0x8d,0x91,0xe5,0x8d,0x9a,0xe5,0x8d,0xb3,0xe5,0x8d,0xbd,0xe5,0x8d,0xbf,0xe5,0x8d,0xbf,0xe5,0x8d,
3226
  0xbf,0xf0,0xa0,0xa8,0xac,0xe7,0x81,0xb0,0xe5,0x8f,0x8a,0xe5,0x8f,0x9f,0xf0,0xa0,0xad,0xa3,0xe5,0x8f,0xab,0xe5,0x8f,0xb1,0xe5,0x90,0x86,0xe5,0x92,0x9e,0xe5,0x90,
3227
  0xb8,0xe5,0x91,0x88,0xe5,0x91,0xa8,0xe5,0x92,0xa2,0xe5,0x93,0xb6,0xe5,0x94,0x90,0xe5,0x95,0x93,0xe5,0x95,0xa3,0xe5,0x96,0x84,0xe5,0x96,0x84,0xe5,0x96,0x99,0xe5,
3228
  0x96,0xab,0xe5,0x96,0xb3,0xe5,0x97,0x82,0xe5,0x9c,0x96,0xe5,0x98,0x86,0xe5,0x9c,0x97,0xe5,0x99,0x91,0xe5,0x99,0xb4,0xe5,0x88,0x87,0xe5,0xa3,0xae,0xe5,0x9f,0x8e,
3229
  0xe5,0x9f,0xb4,0xe5,0xa0,0x8d,0xe5,0x9e,0x8b,0xe5,0xa0,0xb2,0xe5,0xa0,0xb1,0xe5,0xa2,0xac,0xf0,0xa1,0x93,0xa4,0xe5,0xa3,0xb2,0xe5,0xa3,0xb7,0xe5,0xa4,0x86,0xe5,
3230
  0xa4,0x9a,0xe5,0xa4,0xa2,0xe5,0xa5,0xa2,0xf0,0xa1,0x9a,0xa8,0xf0,0xa1,0x9b,0xaa,0xe5,0xa7,0xac,0xe5,0xa8,0x9b,0xe5,0xa8,0xa7,0xe5,0xa7,0x98,0xe5,0xa9,0xa6,0xe3,
3231
  0x9b,0xae,0xe3,0x9b,0xbc,0xe5,0xac,0x88,0xe5,0xac,0xbe,0xe5,0xac,0xbe,0xf0,0xa1,0xa7,0x88,0xe5,0xaf,0x83,0xe5,0xaf,0x98,0xe5,0xaf,0xa7,0xe5,0xaf,0xb3,0xf0,0xa1,
3232
  0xac,0x98,0xe5,0xaf,0xbf,0xe5,0xb0,0x86,0xe5,0xbd,0x93,0xe5,0xb0,0xa2,0xe3,0x9e,0x81,0xe5,0xb1,0xa0,0xe5,0xb1,0xae,0xe5,0xb3,0x80,0xe5,0xb2,0x8d,0xf0,0xa1,0xb7,
3233
  0xa4,0xe5,0xb5,0x83,0xf0,0xa1,0xb7,0xa6,0xe5,0xb5,0xae,0xe5,0xb5,0xab,0xe5,0xb5,0xbc,0xe5,0xb7,0xa1,0xe5,0xb7,0xa2,0xe3,0xa0,0xaf,0xe5,0xb7,0xbd,0xe5,0xb8,0xa8,
3234
  0xe5,0xb8,0xbd,0xe5,0xb9,0xa9,0xe3,0xa1,0xa2,0xf0,0xa2,0x86,0x83,0xe3,0xa1,0xbc,0xe5,0xba,0xb0,0xe5,0xba,0xb3,0xe5,0xba,0xb6,0xe5,0xbb,0x8a,0xf0,0xaa,0x8e,0x92,
3235
  0xe5,0xbb,0xbe,0xf0,0xa2,0x8c,0xb1,0xf0,0xa2,0x8c,0xb1,0xe8,0x88,0x81,0xe5,0xbc,0xa2,0xe5,0xbc,0xa2,0xe3,0xa3,0x87,0xf0,0xa3,0x8a,0xb8,0xf0,0xa6,0x87,0x9a,0xe5,
3236
  0xbd,0xa2,0xe5,0xbd,0xab,0xe3,0xa3,0xa3,0xe5,0xbe,0x9a,0xe5,0xbf,0x8d,0xe5,0xbf,0x97,0xe5,0xbf,0xb9,0xe6,0x82,0x81,0xe3,0xa4,0xba,0xe3,0xa4,0x9c,0xe6,0x82,0x94,
3237
  0xf0,0xa2,0x9b,0x94,0xe6,0x83,0x87,0xe6,0x85,0x88,0xe6,0x85,0x8c,0xe6,0x85,0x8e,0xe6,0x85,0x8c,0xe6,0x85,0xba,0xe6,0x86,0x8e,0xe6,0x86,0xb2,0xe6,0x86,0xa4,0xe6,
3238
  0x86,0xaf,0xe6,0x87,0x9e,0xe6,0x87,0xb2,0xe6,0x87,0xb6,0xe6,0x88,0x90,0xe6,0x88,0x9b,0xe6,0x89,0x9d,0xe6,0x8a,0xb1,0xe6,0x8b,0x94,0xe6,0x8d,0x90,0xf0,0xa2,0xac,
3239
  0x8c,0xe6,0x8c,0xbd,0xe6,0x8b,0xbc,0xe6,0x8d,0xa8,0xe6,0x8e,0x83,0xe6,0x8f,0xa4,0xf0,0xa2,0xaf,0xb1,0xe6,0x90,0xa2,0xe6,0x8f,0x85,0xe6,0x8e,0xa9,0xe3,0xa8,0xae,
3240
  0xe6,0x91,0xa9,0xe6,0x91,0xbe,0xe6,0x92,0x9d,0xe6,0x91,0xb7,0xe3,0xa9,0xac,0xe6,0x95,0x8f,0xe6,0x95,0xac,0xf0,0xa3,0x80,0x8a,0xe6,0x97,0xa3,0xe6,0x9b,0xb8,0xe6,
3241
  0x99,0x89,0xe3,0xac,0x99,0xe6,0x9a,0x91,0xe3,0xac,0x88,0xe3,0xab,0xa4,0xe5,0x86,0x92,0xe5,0x86,0x95,0xe6,0x9c,0x80,0xe6,0x9a,0x9c,0xe8,0x82,0xad,0xe4,0x8f,0x99,
3242
  0xe6,0x9c,0x97,0xe6,0x9c,0x9b,0xe6,0x9c,0xa1,0xe6,0x9d,0x9e,0xe6,0x9d,0x93,0xf0,0xa3,0x8f,0x83,0xe3,0xad,0x89,0xe6,0x9f,0xba,0xe6,0x9e,0x85,0xe6,0xa1,0x92,0xe6,
3243
  0xa2,0x85,0xf0,0xa3,0x91,0xad,0xe6,0xa2,0x8e,0xe6,0xa0,0x9f,0xe6,0xa4,0x94,0xe3,0xae,0x9d,0xe6,0xa5,0x82,0xe6,0xa6,0xa3,0xe6,0xa7,0xaa,0xe6,0xaa,0xa8,0xf0,0xa3,
3244
  0x9a,0xa3,0xe6,0xab,0x9b,0xe3,0xb0,0x98,0xe6,0xac,0xa1,0xf0,0xa3,0xa2,0xa7,0xe6,0xad,0x94,0xe3,0xb1,0x8e,0xe6,0xad,0xb2,0xe6,0xae,0x9f,0xe6,0xae,0xba,0xe6,0xae,
3245
  0xbb,0xf0,0xa3,0xaa,0x8d,0xf0,0xa1,0xb4,0x8b,0xf0,0xa3,0xab,0xba,0xe6,0xb1,0x8e,0xf0,0xa3,0xb2,0xbc,0xe6,0xb2,0xbf,0xe6,0xb3,0x8d,0xe6,0xb1,0xa7,0xe6,0xb4,0x96,
3246
  0xe6,0xb4,0xbe,0xe6,0xb5,0xb7,0xe6,0xb5,0x81,0xe6,0xb5,0xa9,0xe6,0xb5,0xb8,0xe6,0xb6,0x85,0xf0,0xa3,0xb4,0x9e,0xe6,0xb4,0xb4,0xe6,0xb8,0xaf,0xe6,0xb9,0xae,0xe3,
3247
  0xb4,0xb3,0xe6,0xbb,0x8b,0xe6,0xbb,0x87,0xf0,0xa3,0xbb,0x91,0xe6,0xb7,0xb9,0xe6,0xbd,0xae,0xf0,0xa3,0xbd,0x9e,0xf0,0xa3,0xbe,0x8e,0xe6,0xbf,0x86,0xe7,0x80,0xb9,
3248
  0xe7,0x80,0x9e,0xe7,0x80,0x9b,0xe3,0xb6,0x96,0xe7,0x81,0x8a,0xe7,0x81,0xbd,0xe7,0x81,0xb7,0xe7,0x82,0xad,0xf0,0xa0,0x94,0xa5,0xe7,0x85,0x85,0xf0,0xa4,0x89,0xa3,
3249
  0xe7,0x86,0x9c,0xf0,0xa4,0x8e,0xab,0xe7,0x88,0xa8,0xe7,0x88,0xb5,0xe7,0x89,0x90,0xf0,0xa4,0x98,0x88,0xe7,0x8a,0x80,0xe7,0x8a,0x95,0xf0,0xa4,0x9c,0xb5,0xf0,0xa4,
3250
  0xa0,0x94,0xe7,0x8d,0xba,0xe7,0x8e,0x8b,0xe3,0xba,0xac,0xe7,0x8e,0xa5,0xe3,0xba,0xb8,0xe3,0xba,0xb8,0xe7,0x91,0x87,0xe7,0x91,0x9c,0xe7,0x91,0xb1,0xe7,0x92,0x85,
3251
  0xe7,0x93,0x8a,0xe3,0xbc,0x9b,0xe7,0x94,0xa4,0xf0,0xa4,0xb0,0xb6,0xe7,0x94,0xbe,0xf0,0xa4,0xb2,0x92,0xe7,0x95,0xb0,0xf0,0xa2,0x86,0x9f,0xe7,0x98,0x90,0xf0,0xa4,
3252
  0xbe,0xa1,0xf0,0xa4,0xbe,0xb8,0xf0,0xa5,0x81,0x84,0xe3,0xbf,0xbc,0xe4,0x80,0x88,0xe7,0x9b,0xb4,0xf0,0xa5,0x83,0xb3,0xf0,0xa5,0x83,0xb2,0xf0,0xa5,0x84,0x99,0xf0,
3253
  0xa5,0x84,0xb3,0xe7,0x9c,0x9e,0xe7,0x9c,0x9f,0xe7,0x9c,0x9f,0xe7,0x9d,0x8a,0xe4,0x80,0xb9,0xe7,0x9e,0x8b,0xe4,0x81,0x86,0xe4,0x82,0x96,0xf0,0xa5,0x90,0x9d,0xe7,
3254
  0xa1,0x8e,0xe7,0xa2,0x8c,0xe7,0xa3,0x8c,0xe4,0x83,0xa3,0xf0,0xa5,0x98,0xa6,0xe7,0xa5,0x96,0xf0,0xa5,0x9a,0x9a,0xf0,0xa5,0x9b,0x85,0xe7,0xa6,0x8f,0xe7,0xa7,0xab,
3255
  0xe4,0x84,0xaf,0xe7,0xa9,0x80,0xe7,0xa9,0x8a,0xe7,0xa9,0x8f,0xf0,0xa5,0xa5,0xbc,0xf0,0xa5,0xaa,0xa7,0xf0,0xa5,0xaa,0xa7,0xe7,0xab,0xae,0xe4,0x88,0x82,0xf0,0xa5,
3256
  0xae,0xab,0xe7,0xaf,0x86,0xe7,0xaf,0x89,0xe4,0x88,0xa7,0xf0,0xa5,0xb2,0x80,0xe7,0xb3,0x92,0xe4,0x8a,0xa0,0xe7,0xb3,0xa8,0xe7,0xb3,0xa3,0xe7,0xb4,0x80,0xf0,0xa5,
3257
  0xbe,0x86,0xe7,0xb5,0xa3,0xe4,0x8c,0x81,0xe7,0xb7,0x87,0xe7,0xb8,0x82,0xe7,0xb9,0x85,0xe4,0x8c,0xb4,0xf0,0xa6,0x88,0xa8,0xf0,0xa6,0x89,0x87,0xe4,0x8d,0x99,0xf0,
3258
  0xa6,0x8b,0x99,0xe7,0xbd,0xba,0xf0,0xa6,0x8c,0xbe,0xe7,0xbe,0x95,0xe7,0xbf,0xba,0xe8,0x80,0x85,0xf0,0xa6,0x93,0x9a,0xf0,0xa6,0x94,0xa3,0xe8,0x81,0xa0,0xf0,0xa6,
3259
  0x96,0xa8,0xe8,0x81,0xb0,0xf0,0xa3,0x8d,0x9f,0xe4,0x8f,0x95,0xe8,0x82,0xb2,0xe8,0x84,0x83,0xe4,0x90,0x8b,0xe8,0x84,0xbe,0xe5,0xaa,0xb5,0xf0,0xa6,0x9e,0xa7,0xf0,
3260
  0xa6,0x9e,0xb5,0xf0,0xa3,0x8e,0x93,0xf0,0xa3,0x8e,0x9c,0xe8,0x88,0x81,0xe8,0x88,0x84,0xe8,0xbe,0x9e,0xe4,0x91,0xab,0xe8,0x8a,0x91,0xe8,0x8a,0x8b,0xe8,0x8a,0x9d,
3261
  0xe5,0x8a,0xb3,0xe8,0x8a,0xb1,0xe8,0x8a,0xb3,0xe8,0x8a,0xbd,0xe8,0x8b,0xa6,0xf0,0xa6,0xac,0xbc,0xe8,0x8b,0xa5,0xe8,0x8c,0x9d,0xe8,0x8d,0xa3,0xe8,0x8e,0xad,0xe8,
3262
  0x8c,0xa3,0xe8,0x8e,0xbd,0xe8,0x8f,0xa7,0xe8,0x91,0x97,0xe8,0x8d,0x93,0xe8,0x8f,0x8a,0xe8,0x8f,0x8c,0xe8,0x8f,0x9c,0xf0,0xa6,0xb0,0xb6,0xf0,0xa6,0xb5,0xab,0xf0,
3263
  0xa6,0xb3,0x95,0xe4,0x94,0xab,0xe8,0x93,0xb1,0xe8,0x93,0xb3,0xe8,0x94,0x96,0xf0,0xa7,0x8f,0x8a,0xe8,0x95,0xa4,0xf0,0xa6,0xbc,0xac,0xe4,0x95,0x9d,0xe4,0x95,0xa1,
3264
  0xf0,0xa6,0xbe,0xb1,0xf0,0xa7,0x83,0x92,0xe4,0x95,0xab,0xe8,0x99,0x90,0xe8,0x99,0x9c,0xe8,0x99,0xa7,0xe8,0x99,0xa9,0xe8,0x9a,0xa9,0xe8,0x9a,0x88,0xe8,0x9c,0x8e,
3265
  0xe8,0x9b,0xa2,0xe8,0x9d,0xb9,0xe8,0x9c,0xa8,0xe8,0x9d,0xab,0xe8,0x9e,0x86,0xe4,0x97,0x97,0xe8,0x9f,0xa1,0xe8,0xa0,0x81,0xe4,0x97,0xb9,0xe8,0xa1,0xa0,0xe8,0xa1,
3266
  0xa3,0xf0,0xa7,0x99,0xa7,0xe8,0xa3,0x97,0xe8,0xa3,0x9e,0xe4,0x98,0xb5,0xe8,0xa3,0xba,0xe3,0x92,0xbb,0xf0,0xa7,0xa2,0xae,0xf0,0xa7,0xa5,0xa6,0xe4,0x9a,0xbe,0xe4,
3267
  0x9b,0x87,0xe8,0xaa,0xa0,0xe8,0xab,0xad,0xe8,0xae,0x8a,0xe8,0xb1,0x95,0xf0,0xa7,0xb2,0xa8,0xe8,0xb2,0xab,0xe8,0xb3,0x81,0xe8,0xb4,0x9b,0xe8,0xb5,0xb7,0xf0,0xa7,
3268
  0xbc,0xaf,0xf0,0xa0,0xa0,0x84,0xe8,0xb7,0x8b,0xe8,0xb6,0xbc,0xe8,0xb7,0xb0,0xf0,0xa0,0xa3,0x9e,0xe8,0xbb,0x94,0xe8,0xbc,0xb8,0xf0,0xa8,0x97,0x92,0xf0,0xa8,0x97,
3269
  0xad,0xe9,0x82,0x94,0xe9,0x83,0xb1,0xe9,0x84,0x91,0xf0,0xa8,0x9c,0xae,0xe9,0x84,0x9b,0xe9,0x88,0xb8,0xe9,0x8b,0x97,0xe9,0x8b,0x98,0xe9,0x89,0xbc,0xe9,0x8f,0xb9,
3270
  0xe9,0x90,0x95,0xf0,0xa8,0xaf,0xba,0xe9,0x96,0x8b,0xe4,0xa6,0x95,0xe9,0x96,0xb7,0xf0,0xa8,0xb5,0xb7,0xe4,0xa7,0xa6,0xe9,0x9b,0x83,0xe5,0xb6,0xb2,0xe9,0x9c,0xa3,
3271
  0xf0,0xa9,0x85,0x85,0xf0,0xa9,0x88,0x9a,0xe4,0xa9,0xae,0xe4,0xa9,0xb6,0xe9,0x9f,0xa0,0xf0,0xa9,0x90,0x8a,0xe4,0xaa,0xb2,0xf0,0xa9,0x92,0x96,0xe9,0xa0,0x8b,0xe9,
3272
  0xa0,0x8b,0xe9,0xa0,0xa9,0xf0,0xa9,0x96,0xb6,0xe9,0xa3,0xa2,0xe4,0xac,0xb3,0xe9,0xa4,0xa9,0xe9,0xa6,0xa7,0xe9,0xa7,0x82,0xe9,0xa7,0xbe,0xe4,0xaf,0x8e,0xf0,0xa9,
3273
  0xac,0xb0,0xe9,0xac,0x92,0xe9,0xb1,0x80,0xe9,0xb3,0xbd,0xe4,0xb3,0x8e,0xe4,0xb3,0xad,0xe9,0xb5,0xa7,0xf0,0xaa,0x83,0x8e,0xe4,0xb3,0xb8,0xf0,0xaa,0x84,0x85,0xf0,
3274
  0xaa,0x88,0x8e,0xf0,0xaa,0x8a,0x91,0xe9,0xba,0xbb,0xe4,0xb5,0x96,0xe9,0xbb,0xb9,0xe9,0xbb,0xbe,0xe9,0xbc,0x85,0xe9,0xbc,0x8f,0xe9,0xbc,0x96,0xe9,0xbc,0xbb,0xf0,
3275
  0xaa,0x98,0x80,
3276
};
3277
91.9k
#define mxDecompositionCount2 1086
3278
static const txU2 gxDecompositionIndex2[mxDecompositionCount2] ICACHE_XS6RO_ATTR = {
3279
  0xF800,0x0000,0xF801,0x0003,0xF802,0x0006,0xF803,0x0009,0xF804,0x000D,0xF805,0x0010,0xF806,0x0013,0xF807,0x0016,0xF808,0x0019,0xF809,0x001C,0xF80A,0x001F,0xF80B,0x0022,0xF80C,0x0025,0xF80D,0x0028,0xF80E,0x002C,0xF80F,0x002F,
3280
  0xF810,0x0032,0xF811,0x0035,0xF812,0x0038,0xF813,0x003C,0xF814,0x003F,0xF815,0x0042,0xF816,0x0045,0xF817,0x0049,0xF818,0x004C,0xF819,0x004F,0xF81A,0x0052,0xF81B,0x0055,0xF81C,0x0058,0xF81D,0x005C,0xF81E,0x005F,0xF81F,0x0062,
3281
  0xF820,0x0065,0xF821,0x0068,0xF822,0x006B,0xF823,0x006E,0xF824,0x0071,0xF825,0x0074,0xF826,0x0077,0xF827,0x007A,0xF828,0x007D,0xF829,0x0080,0xF82A,0x0083,0xF82B,0x0086,0xF82C,0x0089,0xF82D,0x008C,0xF82E,0x008F,0xF82F,0x0092,
3282
  0xF830,0x0095,0xF831,0x0098,0xF832,0x009B,0xF833,0x009E,0xF834,0x00A1,0xF835,0x00A5,0xF836,0x00A8,0xF837,0x00AB,0xF838,0x00AE,0xF839,0x00B2,0xF83A,0x00B5,0xF83B,0x00B8,0xF83C,0x00BB,0xF83D,0x00BE,0xF83E,0x00C1,0xF83F,0x00C4,
3283
  0xF840,0x00C7,0xF841,0x00CA,0xF842,0x00CD,0xF843,0x00D0,0xF844,0x00D3,0xF845,0x00D6,0xF846,0x00D9,0xF847,0x00DC,0xF848,0x00DF,0xF849,0x00E2,0xF84A,0x00E5,0xF84B,0x00E8,0xF84C,0x00EB,0xF84D,0x00EE,0xF84E,0x00F1,0xF84F,0x00F4,
3284
  0xF850,0x00F7,0xF851,0x00FA,0xF852,0x00FD,0xF853,0x0100,0xF854,0x0103,0xF855,0x0106,0xF856,0x0109,0xF857,0x010C,0xF858,0x010F,0xF859,0x0112,0xF85A,0x0116,0xF85B,0x0119,0xF85C,0x011C,0xF85D,0x011F,0xF85E,0x0122,0xF85F,0x0125,
3285
  0xF860,0x0128,0xF861,0x012C,0xF862,0x0130,0xF863,0x0133,0xF864,0x0136,0xF865,0x0139,0xF866,0x013C,0xF867,0x013F,0xF868,0x0142,0xF869,0x0145,0xF86A,0x0148,0xF86B,0x014B,0xF86C,0x014E,0xF86D,0x0152,0xF86E,0x0155,0xF86F,0x0158,
3286
  0xF870,0x015B,0xF871,0x015E,0xF872,0x0162,0xF873,0x0165,0xF874,0x0168,0xF875,0x016B,0xF876,0x016E,0xF877,0x0171,0xF878,0x0174,0xF879,0x0177,0xF87A,0x017A,0xF87B,0x017D,0xF87C,0x0181,0xF87D,0x0184,0xF87E,0x0188,0xF87F,0x018B,
3287
  0xF880,0x018E,0xF881,0x0191,0xF882,0x0194,0xF883,0x0197,0xF884,0x019A,0xF885,0x019D,0xF886,0x01A0,0xF887,0x01A3,0xF888,0x01A6,0xF889,0x01A9,0xF88A,0x01AD,0xF88B,0x01B0,0xF88C,0x01B3,0xF88D,0x01B6,0xF88E,0x01B9,0xF88F,0x01BC,
3288
  0xF890,0x01C0,0xF891,0x01C3,0xF892,0x01C7,0xF893,0x01CB,0xF894,0x01CE,0xF895,0x01D1,0xF896,0x01D4,0xF897,0x01D7,0xF898,0x01DB,0xF899,0x01DF,0xF89A,0x01E2,0xF89B,0x01E5,0xF89C,0x01E8,0xF89D,0x01EB,0xF89E,0x01EE,0xF89F,0x01F1,
3289
  0xF8A0,0x01F4,0xF8A1,0x01F7,0xF8A2,0x01FA,0xF8A3,0x01FD,0xF8A4,0x0200,0xF8A5,0x0204,0xF8A6,0x0207,0xF8A7,0x020A,0xF8A8,0x020D,0xF8A9,0x0210,0xF8AA,0x0213,0xF8AB,0x0216,0xF8AC,0x0219,0xF8AD,0x021C,0xF8AE,0x021F,0xF8AF,0x0222,
3290
  0xF8B0,0x0225,0xF8B1,0x0228,0xF8B2,0x022B,0xF8B3,0x022E,0xF8B4,0x0231,0xF8B5,0x0234,0xF8B6,0x0237,0xF8B7,0x023A,0xF8B8,0x023D,0xF8B9,0x0241,0xF8BA,0x0244,0xF8BB,0x0247,0xF8BC,0x024A,0xF8BD,0x024D,0xF8BE,0x0250,0xF8BF,0x0254,
3291
  0xF8C0,0x0257,0xF8C1,0x025A,0xF8C2,0x025D,0xF8C3,0x0260,0xF8C4,0x0263,0xF8C5,0x0266,0xF8C6,0x0269,0xF8C7,0x026C,0xF8C8,0x026F,0xF8C9,0x0272,0xF8CA,0x0275,0xF8CB,0x0279,0xF8CC,0x027C,0xF8CD,0x027F,0xF8CE,0x0282,0xF8CF,0x0285,
3292
  0xF8D0,0x0288,0xF8D1,0x028B,0xF8D2,0x028E,0xF8D3,0x0291,0xF8D4,0x0294,0xF8D5,0x0297,0xF8D6,0x029A,0xF8D7,0x029D,0xF8D8,0x02A0,0xF8D9,0x02A3,0xF8DA,0x02A6,0xF8DB,0x02A9,0xF8DC,0x02AC,0xF8DD,0x02AF,0xF8DE,0x02B3,0xF8DF,0x02B6,
3293
  0xF8E0,0x02B9,0xF8E1,0x02BC,0xF8E2,0x02BF,0xF8E3,0x02C2,0xF8E4,0x02C6,0xF8E5,0x02C9,0xF8E6,0x02CC,0xF8E7,0x02CF,0xF8E8,0x02D2,0xF8E9,0x02D5,0xF8EA,0x02D8,0xF8EB,0x02DB,0xF8EC,0x02DE,0xF8ED,0x02E2,0xF8EE,0x02E5,0xF8EF,0x02E8,
3294
  0xF8F0,0x02EB,0xF8F1,0x02EF,0xF8F2,0x02F2,0xF8F3,0x02F5,0xF8F4,0x02F8,0xF8F5,0x02FB,0xF8F6,0x02FE,0xF8F7,0x0301,0xF8F8,0x0305,0xF8F9,0x0309,0xF8FA,0x030D,0xF8FB,0x0310,0xF8FC,0x0314,0xF8FD,0x0317,0xF8FE,0x031A,0xF8FF,0x031D,
3295
  0xF900,0x0320,0xF901,0x0323,0xF902,0x0326,0xF903,0x0329,0xF904,0x032C,0xF905,0x032F,0xF906,0x0332,0xF907,0x0336,0xF908,0x0339,0xF909,0x033C,0xF90A,0x033F,0xF90B,0x0342,0xF90C,0x0345,0xF90D,0x0348,0xF90E,0x034C,0xF90F,0x034F,
3296
  0xF910,0x0352,0xF911,0x0356,0xF912,0x035A,0xF913,0x035D,0xF914,0x0360,0xF915,0x0363,0xF916,0x0366,0xF917,0x0369,0xF918,0x036C,0xF919,0x036F,0xF91A,0x0372,0xF91B,0x0375,0xF91C,0x0379,0xF91D,0x037C,0xF91E,0x0380,0xF91F,0x0383,
3297
  0xF920,0x0387,0xF921,0x038A,0xF922,0x038D,0xF923,0x0390,0xF924,0x0394,0xF925,0x0397,0xF926,0x039A,0xF927,0x039E,0xF928,0x03A2,0xF929,0x03A5,0xF92A,0x03A8,0xF92B,0x03AB,0xF92C,0x03AE,0xF92D,0x03B1,0xF92E,0x03B4,0xF92F,0x03B7,
3298
  0xF930,0x03BA,0xF931,0x03BD,0xF932,0x03C0,0xF933,0x03C3,0xF934,0x03C6,0xF935,0x03C9,0xF936,0x03CD,0xF937,0x03D0,0xF938,0x03D4,0xF939,0x03D7,0xF93A,0x03DB,0xF93B,0x03DE,0xF93C,0x03E2,0xF93D,0x03E6,0xF93E,0x03EA,0xF93F,0x03ED,
3299
  0xF940,0x03F0,0xF941,0x03F3,0xF942,0x03F7,0xF943,0x03FB,0xF944,0x03FF,0xF945,0x0403,0xF946,0x0406,0xF947,0x0409,0xF948,0x040C,0xF949,0x040F,0xF94A,0x0412,0xF94B,0x0415,0xF94C,0x0418,0xF94D,0x041B,0xF94E,0x041F,0xF94F,0x0422,
3300
  0xF950,0x0425,0xF951,0x0428,0xF952,0x042B,0xF953,0x042F,0xF954,0x0432,0xF955,0x0436,0xF956,0x043A,0xF957,0x043D,0xF958,0x0440,0xF959,0x0443,0xF95A,0x0446,0xF95B,0x0449,0xF95C,0x044C,0xF95D,0x0450,0xF95E,0x0454,0xF95F,0x0458,
3301
  0xF960,0x045B,0xF961,0x045E,0xF962,0x0462,0xF963,0x0465,0xF964,0x0468,0xF965,0x046B,0xF966,0x046F,0xF967,0x0472,0xF968,0x0475,0xF969,0x0478,0xF96A,0x047B,0xF96B,0x047E,0xF96C,0x0482,0xF96D,0x0485,0xF96E,0x0488,0xF96F,0x048B,
3302
  0xF970,0x048E,0xF971,0x0491,0xF972,0x0494,0xF973,0x0498,0xF974,0x049C,0xF975,0x049F,0xF976,0x04A3,0xF977,0x04A6,0xF978,0x04AA,0xF979,0x04AD,0xF97A,0x04B0,0xF97B,0x04B3,0xF97C,0x04B7,0xF97D,0x04BB,0xF97E,0x04BE,0xF97F,0x04C2,
3303
  0xF980,0x04C5,0xF981,0x04C9,0xF982,0x04CC,0xF983,0x04CF,0xF984,0x04D2,0xF985,0x04D5,0xF986,0x04D8,0xF987,0x04DB,0xF988,0x04DF,0xF989,0x04E3,0xF98A,0x04E7,0xF98B,0x04EB,0xF98C,0x04EE,0xF98D,0x04F1,0xF98E,0x04F4,0xF98F,0x04F7,
3304
  0xF990,0x04FA,0xF991,0x04FD,0xF992,0x0500,0xF993,0x0503,0xF994,0x0506,0xF995,0x0509,0xF996,0x050C,0xF997,0x050F,0xF998,0x0513,0xF999,0x0516,0xF99A,0x0519,0xF99B,0x051C,0xF99C,0x051F,0xF99D,0x0522,0xF99E,0x0525,0xF99F,0x0528,
3305
  0xF9A0,0x052B,0xF9A1,0x052E,0xF9A2,0x0531,0xF9A3,0x0534,0xF9A4,0x0537,0xF9A5,0x053B,0xF9A6,0x053F,0xF9A7,0x0543,0xF9A8,0x0546,0xF9A9,0x0549,0xF9AA,0x054C,0xF9AB,0x054F,0xF9AC,0x0553,0xF9AD,0x0556,0xF9AE,0x055A,0xF9AF,0x055D,
3306
  0xF9B0,0x0560,0xF9B1,0x0564,0xF9B2,0x0568,0xF9B3,0x056B,0xF9B4,0x056E,0xF9B5,0x0571,0xF9B6,0x0574,0xF9B7,0x0577,0xF9B8,0x057A,0xF9B9,0x057D,0xF9BA,0x0580,0xF9BB,0x0583,0xF9BC,0x0586,0xF9BD,0x0589,0xF9BE,0x058C,0xF9BF,0x058F,
3307
  0xF9C0,0x0592,0xF9C1,0x0595,0xF9C2,0x0598,0xF9C3,0x059B,0xF9C4,0x059E,0xF9C5,0x05A1,0xF9C6,0x05A5,0xF9C7,0x05A8,0xF9C8,0x05AB,0xF9C9,0x05AE,0xF9CA,0x05B1,0xF9CB,0x05B4,0xF9CC,0x05B8,0xF9CD,0x05BC,0xF9CE,0x05BF,0xF9CF,0x05C2,
3308
  0xF9D0,0x05C5,0xF9D1,0x05C8,0xF9D2,0x05CB,0xF9D3,0x05CE,0xF9D4,0x05D2,0xF9D5,0x05D5,0xF9D6,0x05D8,0xF9D7,0x05DB,0xF9D8,0x05DE,0xF9D9,0x05E2,0xF9DA,0x05E6,0xF9DB,0x05E9,0xF9DC,0x05EC,0xF9DD,0x05EF,0xF9DE,0x05F3,0xF9DF,0x05F6,
3309
  0xF9E0,0x05F9,0xF9E1,0x05FD,0xF9E2,0x0601,0xF9E3,0x0604,0xF9E4,0x0607,0xF9E5,0x060A,0xF9E6,0x060E,0xF9E7,0x0611,0xF9E8,0x0614,0xF9E9,0x0617,0xF9EA,0x061A,0xF9EB,0x061D,0xF9EC,0x0620,0xF9ED,0x0623,0xF9EE,0x0627,0xF9EF,0x062A,
3310
  0xF9F0,0x062D,0xF9F1,0x0630,0xF9F2,0x0634,0xF9F3,0x0637,0xF9F4,0x063A,0xF9F5,0x063D,0xF9F6,0x0640,0xF9F7,0x0644,0xF9F8,0x0648,0xF9F9,0x064B,0xF9FA,0x064E,0xF9FB,0x0651,0xF9FC,0x0655,0xF9FD,0x0658,0xF9FE,0x065C,0xF9FF,0x065F,
3311
  0xFA00,0x0662,0xFA01,0x0665,0xFA02,0x0669,0xFA03,0x066C,0xFA04,0x066F,0xFA05,0x0672,0xFA06,0x0675,0xFA07,0x0678,0xFA08,0x067B,0xFA09,0x067E,0xFA0A,0x0682,0xFA0B,0x0685,0xFA0C,0x0688,0xFA0D,0x068B,0xFA0E,0x068E,0xFA0F,0x0691,
3312
  0xFA10,0x0694,0xFA11,0x0698,0xFA12,0x069B,0xFA13,0x069F,0xFA14,0x06A3,0xFA15,0x06A7,0xFA16,0x06AA,0xFA17,0x06AD,0xFA18,0x06B0,0xFA19,0x06B3,0xFA1A,0x06B6,0xFA1B,0x06B9,0xFA1C,0x06BC,0xFA1D,0x06BF,0xFFFF,0x06C3,
3313
};
3314
#define mxDecompositionBufferCount 18
3315
3316
138M
#define mxSourceBufferCount 32
3317
3318
176M
#define mxHangulSBase 0xAC00
3319
45.7M
#define mxHangulSCount 11172
3320
949k
#define mxHangulLBase 0x1100
3321
229k
#define mxHangulLCount 19
3322
163M
#define mxHangulVBase 0x1161
3323
43.2M
#define mxHangulVCount 21
3324
162M
#define mxHangulTBase 0x11A7
3325
43.8M
#define mxHangulTCount 28
3326
750k
#define mxHangulNCount 588
3327
3328
static int fxCompareCombination(const void *p1, const void *p2);
3329
static int fxCompareComposition(const void *p1, const void *p2);
3330
static txInteger fxGetCombinationOrder(txInteger character);
3331
static txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount);
3332
static txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount);
3333
static txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible);
3334
static void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code);
3335
static void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer);
3336
static void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible);
3337
3338
int fxCompareCombination(const void *p1, const void *p2)
3339
1.14G
{
3340
1.14G
  txCombination* c1 = (txCombination*)p1;
3341
1.14G
  txCombination* c2 = (txCombination*)p2;
3342
1.14G
  if (c1->code + c1->count <= c2->code)
3343
770M
    return -1;
3344
379M
  if (c1->code >= c2->code + c2->count)
3345
376M
    return 1;
3346
3.61M
  return 0;
3347
379M
}
3348
3349
int fxCompareComposition(const void *p1, const void *p2)
3350
2.19G
{
3351
2.19G
  txU2 c1 = *((txU2*)p1);
3352
2.19G
  txU2 c2 = *((txU2*)p2);
3353
2.19G
  if (c1 < c2)
3354
1.45G
    return -1;
3355
740M
  if (c1 > c2)
3356
736M
    return 1;
3357
3.14M
  return 0;
3358
740M
}
3359
3360
txInteger fxGetCombinationOrder(txInteger character)
3361
133M
{
3362
133M
  txInteger count;
3363
133M
  txCombination *index, *it;
3364
133M
  txCombination combination;
3365
133M
  if (character < 0x10000) {
3366
133M
    count = mxCombinationCount0;
3367
133M
    index = (txCombination*)gxCombinationIndex0;
3368
133M
    combination.code = (txU2)character;
3369
133M
  }
3370
195k
  else {
3371
195k
    count = mxCombinationCount1;
3372
195k
    index = (txCombination*)gxCombinationIndex1;
3373
195k
    combination.code = (txU2)(character & 0xFFFF);
3374
195k
  }
3375
133M
  combination.count = 1;
3376
133M
  combination.order = 0;
3377
133M
  it = (txCombination*)c_bsearch(&combination, index, count, sizeof(txCombination), fxCompareCombination);
3378
133M
  if (it)
3379
3.61M
    return it->order;
3380
129M
  return 0;
3381
133M
}
3382
3383
txInteger fxGetCompositionPairs(txInteger character, txU2** pairs, txInteger* pairCount)
3384
119M
{
3385
119M
  txInteger count;
3386
119M
  txU2 *index, *data, code, *it;
3387
119M
  if (character < 0x10000) {
3388
119M
    count = mxCompositionCount0;
3389
119M
    index = (txU2*)gxCompositionIndex0;
3390
119M
    data = (txU2*)gxCompositionData0;
3391
119M
    code = (txU2)character;
3392
119M
  }
3393
121k
  else {
3394
121k
    count = mxCompositionCount1;
3395
121k
    index =(txU2*)gxCompositionIndex1;
3396
121k
    data = (txU2*)gxCompositionData1;
3397
121k
    code = (txU2)(character & 0xFFFF);
3398
121k
  }
3399
119M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3400
119M
  if (it) {
3401
1.54M
    *pairs = data + (it[1] << 1);
3402
1.54M
    *pairCount = it[3] - it[1];
3403
1.54M
    return 1;
3404
1.54M
  }
3405
118M
  return 0;
3406
119M
}
3407
3408
txInteger fxGetCompositionStarterCode(txInteger character, txU2* pairs, txInteger pairCount)
3409
1.50M
{
3410
1.50M
  txU2 code, *it;
3411
1.50M
  txInteger plane;
3412
1.50M
  if (character < 0x10000) {
3413
1.43M
    code = (txU2)character;
3414
1.43M
    plane = 0;
3415
1.43M
  }
3416
65.3k
  else {
3417
65.3k
    code = (txU2)(character & 0xFFFF);
3418
65.3k
    plane = 0x10000;
3419
65.3k
  }
3420
1.50M
  it = (txU2*)c_bsearch(&code, pairs, pairCount, sizeof(txU2) << 1, fxCompareComposition);
3421
1.50M
  if (it)
3422
699k
    return ((txInteger)it[1]) | plane;
3423
803k
  return 0;
3424
1.50M
}
3425
3426
txInteger fxGetDecompositionBuffer(txInteger character, txInteger* buffer, txFlag compatible)
3427
130M
{
3428
130M
  txInteger count;
3429
130M
  txU2 *index, code, *it;
3430
130M
  txString data;
3431
130M
  if (character < 0x10000) {
3432
129M
    count = mxDecompositionCount0;
3433
129M
    index = (txU2*)gxDecompositionIndex0;
3434
129M
    data = (txString)gxDecompositionData0;
3435
129M
    code = (txU2)character;
3436
129M
  }
3437
130k
  else if (character < 0x20000) {
3438
38.4k
    count = mxDecompositionCount1;
3439
38.4k
    index = (txU2*)gxDecompositionIndex1;
3440
38.4k
    data = (txString)gxDecompositionData1;
3441
38.4k
    code = (txU2)(character & 0xFFFF);
3442
38.4k
  }
3443
91.9k
  else {
3444
91.9k
    count = mxDecompositionCount2;
3445
91.9k
    index = (txU2*)gxDecompositionIndex2;
3446
91.9k
    data = (txString)gxDecompositionData2;
3447
91.9k
    code = (txU2)(character & 0xFFFF);
3448
91.9k
  }
3449
130M
  it = (txU2*)c_bsearch(&code, index, (count - 1) >> 1, sizeof(txU2) << 1, fxCompareComposition);
3450
130M
  if (it) {
3451
896k
    txInteger offset = it[1];
3452
896k
    txString p, q;
3453
896k
    txInteger* r;
3454
896k
    if (offset & 0x8000) {
3455
108k
      if (!compatible)
3456
107k
        return 0;
3457
1.12k
      offset &= 0x7FFF;
3458
1.12k
    }
3459
789k
    p = data + offset;
3460
789k
    q = p + ((it[3] & 0x7FFF) - offset);
3461
789k
    r = buffer;
3462
2.32M
    while (p < q)
3463
1.53M
      p = fxUTF8Decode(p, r++);
3464
789k
    return mxPtrDiff(r - buffer);
3465
896k
  }
3466
129M
  return 0;
3467
130M
}
3468
3469
void fxInsertDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger at, txInteger code)
3470
129M
{
3471
129M
  txInteger resultLength = fxGetArrayBufferLength(the, buffer->slot);
3472
129M
  if (buffer->count == resultLength >> 2) {
3473
7.53M
    fxSetArrayBufferLength(the, the->stack, resultLength + 64);
3474
7.53M
    buffer->address = fxToArrayBuffer(the, the->stack);
3475
7.53M
  }
3476
129M
  if (at < buffer->count)
3477
463
    c_memmove(buffer->address + at + 1, buffer->address + at, (buffer->count - at) << 2);
3478
129M
  buffer->address[at] = code;
3479
129M
  buffer->count++;
3480
129M
}
3481
3482
void fxNormalizeComposition(txMachine* the, txNormalizeBuffer* buffer)
3483
1.56M
{
3484
1.56M
  txInteger fromIndex = 1;
3485
1.56M
  txInteger toIndex = 1;
3486
1.56M
  if (buffer->count < 2)
3487
1
    return;
3488
121M
  while (fromIndex < buffer->count) {
3489
119M
    txBoolean flag = 1;
3490
119M
    txInteger code = buffer->address[fromIndex];
3491
119M
    txU2* pairs;
3492
119M
    txInteger pairCount;
3493
119M
    txInteger pairFlag;
3494
119M
    if ((mxHangulVBase <= code) && (code < mxHangulVBase + mxHangulVCount))
3495
229k
      pairFlag = 3;
3496
119M
    else if ((mxHangulTBase <= code) && (code < mxHangulTBase + mxHangulTCount))
3497
71.9k
      pairFlag = 2;
3498
119M
    else
3499
119M
      pairFlag = fxGetCompositionPairs(code, &pairs, &pairCount);
3500
119M
    if (pairFlag) {
3501
1.84M
      txInteger order = fxGetCombinationOrder(code);
3502
1.84M
      txInteger starterIndex = toIndex - 1;
3503
2.06M
      while (starterIndex >= 0) {
3504
2.06M
        txInteger starterCode = buffer->address[starterIndex];
3505
2.06M
        txInteger starterOrder = fxGetCombinationOrder(starterCode);
3506
2.06M
        if (starterOrder == 0) {
3507
1.80M
          if (pairFlag == 3) {
3508
229k
            if ((mxHangulLBase <= starterCode) && (starterCode < mxHangulLBase + mxHangulLCount)) {
3509
229k
              starterCode -= mxHangulLBase;
3510
229k
              code -= mxHangulVBase;
3511
229k
              buffer->address[starterIndex] = mxHangulSBase + (starterCode * mxHangulNCount) + (code * mxHangulTCount);
3512
229k
              flag = 0;
3513
229k
            }
3514
229k
          }
3515
1.57M
          else if (pairFlag == 2) {
3516
71.9k
            if ((mxHangulSBase <= starterCode) && (starterCode < mxHangulSBase + mxHangulSCount) 
3517
71.4k
                && ((starterCode - mxHangulSBase) % mxHangulTCount == 0)) {
3518
71.4k
              buffer->address[starterIndex] = starterCode + code - mxHangulTBase;
3519
71.4k
              flag = 0;
3520
71.4k
            }
3521
71.9k
          }
3522
1.50M
          else {
3523
1.50M
            starterCode = fxGetCompositionStarterCode(starterCode, pairs, pairCount);
3524
1.50M
            if (starterCode) {
3525
699k
              buffer->address[starterIndex] = starterCode;
3526
699k
              flag = 0;
3527
699k
            }
3528
1.50M
          }
3529
1.80M
          break;
3530
1.80M
        }
3531
256k
        if (starterOrder >= order)
3532
44.4k
          break;
3533
211k
        starterIndex--;
3534
211k
      }
3535
1.84M
    }
3536
119M
    if (flag) {
3537
118M
      buffer->address[toIndex] = code;
3538
118M
      toIndex++;
3539
118M
    }
3540
119M
    fromIndex++;
3541
119M
  }
3542
1.56M
  buffer->count = toIndex;
3543
1.56M
}
3544
3545
void fxNormalizeDecomposition(txMachine* the, txNormalizeBuffer* buffer, txInteger* source, txInteger c, txFlag compatible)
3546
5.61M
{
3547
5.61M
  txInteger i;
3548
135M
  for (i = 0; i < c; i++) {
3549
130M
    txInteger code = source[i];
3550
130M
    if ((mxHangulSBase <= code) && (code < mxHangulSBase + mxHangulSCount)) {
3551
260k
      txInteger sIndex = code - mxHangulSBase;
3552
260k
      txInteger lIndex = sIndex / mxHangulNCount;
3553
260k
      txInteger vIndex = (sIndex % mxHangulNCount) / mxHangulTCount;
3554
260k
      txInteger tIndex = sIndex % mxHangulTCount;
3555
260k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulLBase + lIndex);
3556
260k
      fxInsertDecomposition(the, buffer, buffer->count, mxHangulVBase + vIndex);
3557
260k
      if (tIndex > 0)
3558
102k
        fxInsertDecomposition(the, buffer, buffer->count, mxHangulTBase + tIndex);
3559
260k
      buffer->starterIndex = buffer->count;
3560
260k
    }
3561
130M
    else {
3562
130M
      txInteger decompositionBuffer[mxDecompositionBufferCount];
3563
130M
      txInteger decompositionCount = fxGetDecompositionBuffer(code, decompositionBuffer, compatible);
3564
130M
      if (decompositionCount == 0) {
3565
129M
        txInteger order = fxGetCombinationOrder(code);
3566
129M
        if (order == 0) {
3567
127M
          fxInsertDecomposition(the, buffer, buffer->count, code);
3568
127M
          buffer->starterIndex = buffer->count;
3569
127M
        }
3570
1.54M
        else {
3571
1.54M
          txInteger bufferIndex = buffer->count - 1;
3572
1.54M
          txInteger starterIndex = buffer->starterIndex - 1;
3573
1.55M
          while (bufferIndex > starterIndex) {
3574
258k
            txInteger starterCode = buffer->address[bufferIndex];
3575
258k
            txInteger starterOrder = fxGetCombinationOrder(starterCode);
3576
258k
            if (starterOrder <= order) {
3577
258k
              fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3578
258k
              break;
3579
258k
            }
3580
528
            bufferIndex--;
3581
528
          }
3582
1.54M
          if (bufferIndex == starterIndex)
3583
1.29M
            fxInsertDecomposition(the, buffer, bufferIndex + 1, code);
3584
1.54M
        }
3585
129M
      }
3586
789k
      else
3587
789k
        fxNormalizeDecomposition(the, buffer, decompositionBuffer, decompositionCount, compatible);
3588
130M
    }
3589
130M
  }
3590
5.61M
}
3591
3592
void fxNormalizeString(txMachine* the, txSlot* string, txFlag form)
3593
1.59M
{
3594
1.59M
  txNormalizeBuffer _buffer;
3595
1.59M
  txNormalizeBuffer* buffer = &_buffer;
3596
1.59M
  txInteger source[mxSourceBufferCount];
3597
1.59M
  txString p;
3598
3599
1.59M
  mxPushUndefined();
3600
1.59M
  buffer->slot = the->stack;
3601
1.59M
  buffer->address = fxArrayBuffer(the, the->stack, C_NULL, 64, 0x7FFFFFFF);
3602
1.59M
  buffer->count = 0;
3603
1.59M
  buffer->starterIndex = 0;
3604
3605
1.59M
  p = string->value.string;
3606
4.97M
  for (;;) {
3607
4.97M
    txInteger* sourceAddress = source;
3608
4.97M
    txInteger sourceIndex = 0;
3609
133M
    while (sourceIndex < mxSourceBufferCount) {
3610
130M
      p = mxStringByteDecode(p, sourceAddress);
3611
130M
      if (*sourceAddress == C_EOF)
3612
1.59M
        break;
3613
128M
      sourceAddress++;
3614
128M
      sourceIndex++;
3615
128M
    }
3616
4.97M
    if (sourceIndex) {
3617
4.82M
      txInteger offset = mxPtrDiff(p - string->value.string);
3618
4.82M
      fxNormalizeDecomposition(the, buffer, source, sourceIndex, form & 1);
3619
4.82M
      p = string->value.string + offset;
3620
4.82M
    }
3621
4.97M
    if (sourceIndex < mxSourceBufferCount)
3622
1.59M
      break;
3623
4.97M
  }
3624
1.59M
  if (form & 2)
3625
1.56M
    fxNormalizeComposition(the, buffer);
3626
1.59M
  if (buffer->count) {
3627
1.59M
    txInteger resultIndex;
3628
1.59M
    txInteger stringLength = 0;
3629
130M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3630
128M
      stringLength += mxStringByteLength(buffer->address[resultIndex]);
3631
1.59M
    stringLength++;
3632
1.59M
    p = string->value.string = fxNewChunk(the, stringLength);
3633
1.59M
    buffer->address = fxToArrayBuffer(the, the->stack);
3634
130M
    for (resultIndex = 0; resultIndex < buffer->count; resultIndex++)
3635
128M
      p = mxStringByteEncode(p, buffer->address[resultIndex]);
3636
1.59M
    *p = 0;
3637
1.59M
  }
3638
  
3639
1.59M
  mxPop();
3640
1.59M
}
3641
3642
#endif